Version 5.0.0 beta 2

This commit is contained in:
Neo committed 2025-12-19 16:39:01 -08:00
1 parent 15c7beabc5
commit f61b0da85d
181 files changed
+3182 -1533

No files matched your search

@@ -1663,7 +1663,7 @@ class Categories extends Model implements Permissions
*/
public function get_display_settings() : ?array
{
if( $data = json_decode( $this->template_listing, true ) )
if( $this->template_listing and $data = json_decode( $this->template_listing, true ) )
{
return $data;
}
+1 -1
View File
@@ -1654,7 +1654,7 @@ class Fields extends CustomField implements Permissions
}
}
return $value;
return $value ?? '';
}
+10 -7
View File
@@ -42,9 +42,7 @@ use IPS\Helpers\Form\Translatable;
use IPS\Helpers\Form\YesNo;
use IPS\Http\Url;
use IPS\Http\Url\Friendly;
use IPS\IPS;
use IPS\Lang;
use IPS\Log;
use IPS\Member;
use IPS\Member\Group;
use IPS\Node\Model;
@@ -55,7 +53,6 @@ use IPS\Request;
use IPS\Settings;
use IPS\Task;
use IPS\Theme;
use IPS\Widget;
use IPS\Widget\Area;
use LogicException;
use OutOfBoundsException;
@@ -670,7 +667,7 @@ class Page extends Model implements Permissions
try
{
$test = Db::i()->select( '*', 'cms_pages', [ 'page_seo_name=? and page_id <> ? and page_folder_id=?', $val, ( $item ? (int) $item->_id : 0 ), Request::i()->page_folder_id ] )->first();
$test = Db::i()->select( '*', 'cms_pages', [ 'page_seo_name=? and page_id <> ? and page_folder_id=?', $val, ( (int)$item?->_id ), Request::i()->page_folder_id ] )->first();
throw new InvalidArgumentException( 'content_page_file_name_in_use' );
}
catch( UnderflowException )
@@ -695,6 +692,7 @@ class Page extends Model implements Permissions
$wrapperTemplates = array( '_none_' => Member::loggedIn()->language()->addToStack('cms_page_wrapper_template_none') );
foreach( Templates::getTemplates( Templates::RETURN_PAGE + Templates::RETURN_DATABASE_AND_IN_DEV ) as $id => $obj )
{
/* @var Templates $obj */
if ( $obj->isSuitableForCustomWrapper() )
{
$wrapperTemplates[ Templates::readableGroupName( $obj->group ) ][ $obj->group . '__' . $obj->title . '__' . $obj->key ] = Templates::readableGroupName( $obj->title );
@@ -702,9 +700,14 @@ class Page extends Model implements Permissions
}
/* List of templates */
$return['page_wrapper_template'] = new Select( 'page_wrapper_template', ($item?->wrapper_template), FALSE, array(
$return['page_wrapper_template'] = new Select( 'page_wrapper_template', ($item?->wrapper_template), null, array(
'options' => $wrapperTemplates
), NULL, NULL, Theme::i()->getTemplate( 'pages', 'cms', 'admin' )->previewTemplateLink(), 'page_wrapper_template' );
), function( $val ){
if( $val == '_none_' and !Request::i()->page_ipb_wrapper )
{
throw new InvalidArgumentException('form_required');
}
}, NULL, Theme::i()->getTemplate( 'pages', 'cms', 'admin' )->previewTemplateLink(), 'page_wrapper_template' );
if ( count( Theme::themes() ) > 1 )
{
@@ -1609,7 +1612,7 @@ class Page extends Model implements Permissions
$this->storeUrl();
}
$values['page_meta_image'] = ( $values['page_meta_image'] instanceof File ) ? (string) $values['page_meta_image'] : null;
$values['page_meta_image'] = ( isset( $values['page_meta_image'] ) and $values['page_meta_image'] instanceof File ) ? (string) $values['page_meta_image'] : null;
/* Menu stuffs */
if ( isset( $values['page_add_to_menu'] ) )
+1 -2
View File
@@ -3811,8 +3811,7 @@ class Records extends Item implements
*/
function getTopicContent(): mixed
{
$column = 'field_' . static::database()->field_content;
return $this->$column;
return Theme::i()->getTemplate( 'submit', 'cms', 'front' )->topic( $this );
}
/**
@@ -243,35 +243,29 @@ class Templates extends ActiveRecord
return $templates[ $id ];
}
}
try
{
return parent::load( $id, $idField, $extraWhereClause );
}
catch( OutOfRangeException $ex )
{
throw $ex;
}
return parent::load( $id, $idField, $extraWhereClause );
}
/**
* Make a group_name readable (Group Name)
*
* @param string $name Group name from the database
* @param string|null $name Group name from the database
* @return string
*/
public static function readableGroupName( string $name ) : string
public static function readableGroupName( ?string $name ) : string
{
if ( $name === 'js' )
switch( $name )
{
return 'JS';
case null:
return '';
case 'js':
return 'JS';
case 'css':
return 'CSS';
default:
return ucwords( str_replace( array( '-', '_' ), ' ', $name ) );
}
else if ( $name === 'css' )
{
return 'CSS';
}
return ucwords( str_replace( array( '-', '_' ), ' ', $name ) );
}
/**