Version 5.0.0 beta 2
This commit is contained in:
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;
|
||||
}
|
||||
|
||||
@@ -1654,7 +1654,7 @@ class Fields extends CustomField implements Permissions
|
||||
}
|
||||
}
|
||||
|
||||
return $value;
|
||||
return $value ?? '';
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -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'] ) )
|
||||
|
||||
@@ -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 ) );
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in new issue
Block a user