Version 5.0.14
This commit is contained in:
1 parent
5efe744c5f
commit
dbd774b30c
364 files changed
+7048
-1377
No files matched your search
@@ -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 ) )
|
||||
{
|
||||
|
||||
@@ -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 ) );
|
||||
}
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user