Version 4.1.2

This commit is contained in:
Neo committed 2025-12-19 05:32:19 -08:00
1 parent 3ba79295ee
commit 28bd025b35
1131 files changed
+63658 -20579

No files matched your search

@@ -24,6 +24,13 @@ if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
class _category extends \IPS\cms\Databases\Controller
{
/**
* Store any active filters for this view
*
* @param array
*/
static public $activeFilters = array();
/**
* Determine which method to load
*
@@ -86,7 +93,6 @@ class _category extends \IPS\cms\Databases\Controller
}
/* Check cookie */
$activeFilters = array();
$where = array();
$cookie = $category->getFilterCookie();
if ( $cookie !== NULL )
@@ -120,7 +126,8 @@ class _category extends \IPS\cms\Databases\Controller
$where[] = array( mb_substr( $k, 8 ) . "=?", $v );
}
}
$activeFilters[ $f ] = array( 'field' => $customFields[ $f ], 'value' => $customFields[ $f ]->displayValue( $v ) );
static::$activeFilters[ $f ] = array( 'field' => $customFields[ $f ], 'value' => $customFields[ $f ]->displayValue( $v ) );
}
}
}
@@ -130,7 +137,7 @@ class _category extends \IPS\cms\Databases\Controller
$where = NULL;
}
$table = new \IPS\Helpers\Table\Content( 'IPS\cms\Records' . \IPS\cms\Databases\Dispatcher::i()->databaseId, $category->url(), $where, $category, NULL );
$table = new \IPS\Helpers\Table\Content( 'IPS\cms\Records' . \IPS\cms\Databases\Dispatcher::i()->databaseId, $category->url(), $where, $category, NULL, 'view', isset( \IPS\Request::i()->rss ) ? FALSE : TRUE );
$table->tableTemplate = array( \IPS\cms\Theme::i()->getTemplate( $category->_template_listing, 'cms', 'database' ), 'categoryTable' );
$table->rowsTemplate = array( \IPS\cms\Theme::i()->getTemplate( $category->_template_listing, 'cms', 'database' ), 'recordRow' );
$table->baseUrl = $table->baseUrl->setQueryString( 'd', \IPS\cms\Databases\Dispatcher::i()->databaseId );
@@ -231,8 +238,8 @@ class _category extends \IPS\cms\Databases\Controller
$table->advancedSearch = array(
'record_type' => array( \IPS\Helpers\Table\SEARCH_SELECT, array( 'options' => $filterOptions ) ),
'sortby' => array( \IPS\Helpers\Table\SEARCH_SELECT, array( 'options' => $sortBy ) ),
'sortdirection' => array( \IPS\Helpers\Table\SEARCH_SELECT, array( 'options' => array(
'sort_by' => array( \IPS\Helpers\Table\SEARCH_SELECT, array( 'options' => $sortBy ) ),
'sort_direction' => array( \IPS\Helpers\Table\SEARCH_SELECT, array( 'options' => array(
'asc' => 'asc',
'desc' => 'desc',
) )
@@ -246,13 +253,13 @@ class _category extends \IPS\cms\Databases\Controller
{
\IPS\Member::loggedIn()->language()->words['content_field_' . $obj->id ] = $obj->_title;
$table->advancedSearch[ 'content_field_' . $obj->id ] = array( \IPS\Helpers\Table\SEARCH_SELECT, array( 'options' => $obj->extra, 'multiple' => TRUE, 'noDefault' => true ) );
$table->advancedSearch['sortby'][1]['options']['field_' . $obj->id ] = 'content_field_' . $obj->id;
$table->advancedSearch['sort_by'][1]['options']['field_' . $obj->id ] = 'content_field_' . $obj->id;
}
$table->sortOptions[ 'field_' . $obj->id ] = 'field_' . $obj->id;
}
$table->advancedSearchCallback = function( $table, $values ) use ( $database, $sortBy )
$table->advancedSearchCallback = function( $table, $values ) use ( $database, $sortBy, $customFields )
{
/* Type */
foreach( $values as $k => $v )
@@ -286,6 +293,9 @@ class _category extends \IPS\cms\Databases\Controller
}
}
}
$key = mb_substr( $k, 14 );
\IPS\cms\modules\front\database\category::$activeFilters[ $key ] = array( 'field' => $customFields[ $key ], 'value' => $customFields[ $key ]->displayValue( $v ) );
}
}
@@ -303,10 +313,10 @@ class _category extends \IPS\cms\Databases\Controller
}
/* Sort */
if ( isset( $values['sortby'] ) and isset( $sortBy[ $values['sortby'] ] ) )
if ( isset( $values['sort_by'] ) and isset( $sortBy[ $values['sort_by'] ] ) )
{
$table->sortBy = $values['sortby'];
$table->sortDirection = $values['sortdirection'];
$table->sortBy = $values['sort_by'];
$table->sortDirection = $values['sort_direction'];
}
/* Cutoff */
@@ -374,7 +384,14 @@ class _category extends \IPS\cms\Databases\Controller
{
if ( ! $record->hidden() )
{
$document->addItem( $record->_title, $record->url(), $record->$contentField, \IPS\DateTime::ts( $record->record_last_comment ), $record->_id );
$content = $record->$contentField;
if ( $record->record_image )
{
$content = \IPS\cms\Theme::i()->getTemplate( $category->_template_listing, 'cms', 'database' )->rssItemWithImage( $content, $record->record_image );
}
$document->addItem( $record->_title, $record->url(), $content, \IPS\DateTime::ts( $record->record_last_comment ), $record->_id );
}
}
@@ -389,14 +406,14 @@ class _category extends \IPS\cms\Databases\Controller
\IPS\Output::i()->cssFiles = array_merge( \IPS\Output::i()->cssFiles, \IPS\Theme::i()->css( 'records/list.css', 'cms', 'front' ) );
\IPS\cms\Databases\Dispatcher::i()->output .= \IPS\cms\Theme::i()->getTemplate( $category->_template_listing, 'cms', 'database' )->categoryHeader( $category, (string) $table, $activeFilters );
\IPS\cms\Databases\Dispatcher::i()->output .= \IPS\cms\Theme::i()->getTemplate( $category->_template_listing, 'cms', 'database' )->categoryHeader( $category, (string) $table, static::$activeFilters );
if ( ( $category->hasChildren() AND $category->show_records ) OR ! $category->hasChildren() )
{
\IPS\cms\Databases\Dispatcher::i()->output .= (string) $table;
}
\IPS\cms\Databases\Dispatcher::i()->output .= \IPS\cms\Theme::i()->getTemplate( $category->_template_listing, 'cms', 'database' )->categoryFooter( $category, (string) $table, $activeFilters );
\IPS\cms\Databases\Dispatcher::i()->output .= \IPS\cms\Theme::i()->getTemplate( $category->_template_listing, 'cms', 'database' )->categoryFooter( $category, (string) $table, static::$activeFilters );
}
/**
@@ -428,7 +445,9 @@ class _category extends \IPS\cms\Databases\Controller
$hasModOptions = TRUE;
}
\IPS\Output::i()->allowDefaultWidgets = FALSE;
\IPS\Output::i()->sidebar['enabled'] = FALSE;
\IPS\cms\Pages\Page::$currentPage->getWidgets();
\IPS\Output::i()->output = $form->customTemplate( array( call_user_func_array( array( \IPS\cms\Theme::i(), 'getTemplate' ), array( $database->template_form, 'cms', 'database' ) ), 'recordForm' ), NULL, $category, $database, \IPS\cms\Pages\Page::$currentPage, $title, $hasModOptions );
\IPS\Output::i()->title = \IPS\Member::loggedIn()->language()->addToStack( $title );
\IPS\Output::i()->cssFiles = array_merge( \IPS\Output::i()->cssFiles, \IPS\Theme::i()->css( 'records/form.css', 'cms', 'front' ) );