Version 5.0.14

This commit is contained in:
Neo committed 2025-12-19 19:17:57 -08:00
1 parent 5efe744c5f
commit dbd774b30c
364 files changed
+7048 -1377

No files matched your search

+10
View File
@@ -71,6 +71,11 @@ class Codemirror extends Widget
{
$form = parent::configuration( $form );
if( !Dispatcher::i()->checkAcpPermission( 'theme_sets_manage', 'core', Module::get( 'core', 'customization', 'admin' ), true ) )
{
return $form;
}
$form->add(
new Form\TextArea(
'content',
@@ -111,6 +116,11 @@ class Codemirror extends Widget
*/
public function preConfig( array $values=array() ) : array
{
if( !array_key_exists( 'content', $values ) )
{
$values['content'] = $this->configuration['content'];
}
$functionName = 'content_widget_' . $this->uniqueKey;
if ( isset( Store::i()->$functionName ) )
{
+29 -15
View File
@@ -13,6 +13,7 @@ namespace IPS\cms\widgets;
/* To prevent PHP errors (extending class does not exist) revealing path */
use DateInterval;
use Exception;
use IPS\cms\Categories;
use IPS\cms\Databases;
@@ -85,7 +86,7 @@ class DatabaseFilters extends Widget
return '';
}
if ( ! Dispatcher::i()->databaseId AND ! Dispatcher::i()->categoryId )
if ( ! Dispatcher::i()->databaseId )
{
return '';
}
@@ -99,24 +100,36 @@ class DatabaseFilters extends Widget
{
return '';
}
try
$category = null;
if( isset( Dispatcher::i()->categoryId ) )
{
/* @var Categories $categoryClass */
$categoryClass = "IPS\cms\Categories" . Dispatcher::i()->databaseId;
$category = $categoryClass::load( Dispatcher::i()->categoryId );
try
{
/* @var Categories $categoryClass */
$categoryClass = "IPS\cms\Categories" . Dispatcher::i()->databaseId;
$category = $categoryClass::load( Dispatcher::i()->categoryId );
}
catch ( OutOfRangeException $e )
{
return '';
}
}
catch ( OutOfRangeException $e )
else
{
return '';
/* Is this the category view? */
if( $database->display_settings['index']['type'] == 'categories' or isset( Request::i()->show ) )
{
return '';
}
}
/* @var Fields $fieldClass */
$fieldClass = 'IPS\cms\Fields' . $database->id;
$fields = array();
$cookie = $category->getFilterCookie();
$cookieValues = ( $cookie !== NULL ) ? array_combine( array_map( function( $k ) { return "field_" . $k; }, array_keys( $cookie ) ), $cookie ) : array();
$cookie = $database->getFilterCookie( $category );
$cookieValues = ( !empty( $cookie ) ) ? array_combine( array_map( function( $k ) { return "field_" . $k; }, array_keys( $cookie ) ), $cookie ) : array();
$databaseFields = $fieldClass::roots();
$urlValues = array();
@@ -186,7 +199,8 @@ class DatabaseFilters extends Widget
if ( count( $fields ) )
{
$form = new Form( 'category_filters', 'update', $category->url() );
$baseUrl = $category ? $category->url() : $database->page->url();
$form = new Form( 'category_filters', 'update', $baseUrl );
$form->class = 'ipsForm--vertical ipsForm--database-widget-filters';
if ( Request::i()->sortby )
{
@@ -233,7 +247,7 @@ class DatabaseFilters extends Widget
if ( $values = $form->values() )
{
$url = $category->url()->setQueryString( array( 'advanced_search_submitted' => 1 ) );
$url = $baseUrl->setQueryString( array( 'advanced_search_submitted' => 1 ) );
$cookie = array();
$params = array();
foreach( $values as $k => $v )
@@ -308,13 +322,13 @@ class DatabaseFilters extends Widget
if ( $values['cms_widget_filters_remember'] )
{
$category->saveFilterCookie( $cookie );
Output::i()->redirect( $category->url() );
$database->saveFilterCookie( $cookie, $category );
Output::i()->redirect( $baseUrl );
}
else
{
/* Remove the filter cookie */
$category->saveFilterCookie( FALSE );
$database->saveFilterCookie( false, $category );
Output::i()->redirect( $url->setQueryString( $params ) );
}
}