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

@@ -55,20 +55,25 @@ class _ranks extends \IPS\Node\Controller
*/
protected function manage()
{
static::$counts = [];
$previousCount = NULL;
$allRanks = array_values( \IPS\core\Achievements\Rank::getStore() );
$totalRanks = \count( $allRanks );
for ( $i = 0; $i < $totalRanks; $i++ )
/* If the members table is very large, this can take the whole thing down,
so let's skip it. */
if( !\IPS\Db::i()->recommendManualQuery( 'core_members' ) )
{
$where = [];
$where[] = [ 'achievements_points>=' . \intval( $allRanks[ $i ]->points ) ];
if ( isset( $allRanks[ $i + 1 ] ) )
static::$counts = [];
$previousCount = NULL;
$allRanks = array_values( \IPS\core\Achievements\Rank::getStore() );
$totalRanks = \count( $allRanks );
for ( $i = 0; $i < $totalRanks; $i++ )
{
$where[] = [ 'achievements_points<' . \intval( $allRanks[ $i + 1 ]->points ) ];
$where = [];
$where[] = [ 'achievements_points>=' . \intval( $allRanks[ $i ]->points ) ];
if ( isset( $allRanks[ $i + 1 ] ) )
{
$where[] = [ 'achievements_points<' . \intval( $allRanks[ $i + 1 ]->points ) ];
}
static::$counts[ $allRanks[ $i ]->id ] = \IPS\Db::i()->select( 'COUNT(*)', 'core_members', $where )->first();
}
static::$counts[ $allRanks[ $i ]->id ] = \IPS\Db::i()->select( 'COUNT(*)', 'core_members', $where )->first();
}
if( $data = \IPS\core\Achievements\Rule::getRebuildProgress() )
@@ -215,6 +220,12 @@ class _ranks extends \IPS\Node\Controller
*/
public function _getRowHtml( $node )
{
/* If the counts are empty, then the table was too large, so ignore this. */
if( empty( static::$counts ) )
{
return "";
}
$url = \IPS\Http\Url::internal("app=core&module=members&controller=members&advanced_search_submitted=1&members_achievements_points={$node->id}")->csrf();
return \IPS\Theme::i()->getTemplate('achievements')->memberCount( $url, static::$counts[ $node->id ] );