Version 4.7.23

This commit is contained in:
Neo committed 2025-12-19 16:21:27 -08:00
1 parent 7124a02564
commit 25ddeb65d6
1791 files changed
+76990 -44452

No files matched your search

@@ -92,7 +92,7 @@ class _category extends \IPS\cms\Databases\Controller
{
$breadcrumbs = \IPS\Output::i()->breadcrumb;
}
$RecordsClass = $category::$contentItemClass;
/* AdvancedSearch can wipe out the checked box as it is looking for _checkbox. Note to self in 4.5, rewrite the filter widget to avoid using advancedSearch :/ */
@@ -683,19 +683,12 @@ class _category extends \IPS\cms\Databases\Controller
\IPS\Output::i()->linkTags['canonical'] = (string) $category->url();
/* Set breadcrumb */
if ( \IPS\IPS::classUsesTrait( $category, 'IPS\Content\ClubContainer' ) and $club = $category->club() )
foreach ( $category->parents() as $parent )
{
$club->setBreadcrumbs( $category );
\IPS\Output::i()->breadcrumb[] = array( $parent->url(), $parent->_title );
}
else
{
foreach ( $category->parents() as $parent )
{
\IPS\Output::i()->breadcrumb[] = array( $parent->url(), $parent->_title );
}
\IPS\Output::i()->breadcrumb[] = array( NULL, $category->_title );
}
\IPS\Output::i()->breadcrumb[] = array( NULL, $category->_title );
}
/* Node handler does not support keywords, so we need to do it manually */
@@ -704,6 +697,9 @@ class _category extends \IPS\cms\Databases\Controller
\IPS\Output::i()->metaTags['keywords'] = $category->meta_keywords;
}
/* Show club header, if applicable */
$this->showClubHeader( $category );
/* Update location */
$permissions = $category->permissions();
\IPS\Session::i()->setLocation( $category->url(), explode( ",", $permissions['perm_view'] ), 'loc_cms_viewing_db_cat', array( 'content_db_' . $database->id => TRUE, 'content_cat_name_' . $category->id => TRUE ) );
@@ -740,6 +736,39 @@ class _category extends \IPS\cms\Databases\Controller
\IPS\Output::i()->title = $titleSuffix;
}
}
/**
* Show Club Header
*
* @param \IPS\cms\Categories $category
* @return void
*/
protected function showClubHeader( \IPS\cms\Categories $category )
{
if ( $club = $category->_club )
{
\IPS\Output::i()->sidebar['contextual'] = '';
/* Club info in sidebar */
if ( \IPS\Settings::i()->clubs_header == 'sidebar' )
{
\IPS\Output::i()->sidebar['enabled'] = true;
\IPS\Output::i()->sidebar['contextual'] .= \IPS\Theme::i()->getTemplate( 'clubs', 'core', 'front' )->header( $club, $category, 'sidebar' );
}
else
{
\IPS\cms\Databases\Dispatcher::i()->output .= \IPS\Theme::i()->getTemplate( 'clubs', 'core', 'front' )->header( $club, $category, 'full' );
}
if( ( \IPS\GeoLocation::enabled() and \IPS\Settings::i()->clubs_locations AND $location = $club->location() ) )
{
\IPS\Output::i()->sidebar['enabled'] = true;
\IPS\Output::i()->sidebar['contextual'] .= \IPS\Theme::i()->getTemplate( 'clubs', 'core', 'front' )->clubLocationBox( $club, $location );
}
$club->setBreadcrumbs( $category );
}
}
/**
* Form
@@ -774,13 +803,6 @@ 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\cms\Databases\Dispatcher::i()->output = \IPS\Output::i()->output = $form->customTemplate( array( \IPS\cms\Theme::i()->getTemplate( $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' ) );
try
{
@@ -794,8 +816,17 @@ class _category extends \IPS\cms\Databases\Controller
}
}
catch( \Exception $e ) {}
\IPS\Output::i()->breadcrumb[] = array( NULL, $title );
$this->showClubHeader( $category );
\IPS\Output::i()->allowDefaultWidgets = FALSE;
\IPS\Output::i()->sidebar['enabled'] = FALSE;
\IPS\cms\Pages\Page::$currentPage->getWidgets();
\IPS\Output::i()->output = $form->customTemplate( array( \IPS\cms\Theme::i()->getTemplate( $database->template_form, 'cms', 'database' ), 'recordForm' ), NULL, $category, $database, \IPS\cms\Pages\Page::$currentPage, $title, $hasModOptions );
\IPS\cms\Databases\Dispatcher::i()->output .= \IPS\Output::i()->output;
\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' ) );
}
/**