Version 5.0.13

This commit is contained in:
Neo committed 2025-12-19 19:04:57 -08:00
1 parent b89858b2ff
commit 5efe744c5f
1407 files changed
+69690 -30177

No files matched your search

@@ -13,6 +13,8 @@ namespace IPS\core\modules\admin\achievements;
/* To prevent PHP errors (extending class does not exist) revealing path */
use Exception;
use IPS\Application;
use IPS\core\Achievements\Actions\AchievementActionAbstract;
use IPS\core\Achievements\Rule;
use IPS\Db;
use IPS\Dispatcher;
@@ -75,20 +77,31 @@ class rules extends Controller
*/
protected function manage() : void
{
/* Get a list of rules that should always be hidden */
$hiddenActions = [];
foreach( Application::allExtensions( 'core', 'AchievementAction', false ) as $action => $extension )
{
/* @var AchievementActionAbstract $extension */
if( !$extension->showInAcp() )
{
$hiddenActions[] = $action;
}
}
$baseUrl = Url::internal('app=core&module=achievements&controller=rules');
$perPage = 25;
$totalCount = Db::i()->select( 'COUNT(*)', 'core_achievements_rules' )->first();
$totalPages = ceil( $totalCount / $perPage );
$page = Request::i()->page ?? 1;
$query = Db::i()->select( '*', 'core_achievements_rules', NULL, 'action, milestone ASC', [ ( $perPage * ( $page - 1 ) ), $perPage ] );
$query = Db::i()->select( '*', 'core_achievements_rules', Db::i()->in( 'action', $hiddenActions, true ), 'action, milestone ASC', [ ( $perPage * ( $page - 1 ) ), $perPage ] );
$rules = new ActiveRecordIterator( $query, 'IPS\core\Achievements\Rule' );
$pagination = $totalPages > 1 ? Theme::i()->getTemplate( 'global', 'core', 'global' )->pagination( $baseUrl, $totalPages, $page, $perPage ) : '';
if( Request::i()->isAjax() )
{
Output::i()->json([
'rows' => Theme::i()->getTemplate( 'achievements' )->rulesListRows( $rules ),
'rows' => Theme::i()->getTemplate( 'achievements', 'core' )->rulesListRows( $rules ),
'pagination' => $pagination
]);
}
@@ -114,7 +127,7 @@ class rules extends Controller
}
Output::i()->output = Theme::i()->getTemplate( 'forms', 'core' )->blurb( 'cheev_rules_blurb' ) . Theme::i()->getTemplate( 'achievements' )->rulesList( $rules, $pagination, $this->_getRootButtons() );
Output::i()->output = Theme::i()->getTemplate( 'forms', 'core' )->blurb( 'cheev_rules_blurb' ) . Theme::i()->getTemplate( 'achievements', 'core' )->rulesList( $rules, $pagination, $this->_getRootButtons() );
}
}
@@ -145,7 +158,7 @@ class rules extends Controller
Output::i()->title = Member::loggedIn()->language()->addToStack('menu__core_achievements_rules');
return $form->customTemplate( [ Theme::i()->getTemplate( 'achievements' ), 'rulesForm' ] );
return $form->customTemplate( [ Theme::i()->getTemplate( 'achievements', 'core' ), 'rulesForm' ] );
}
/**