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

@@ -322,6 +322,13 @@ class _stats extends \IPS\Dispatcher\Controller
$where = array();
$join = NULL;
/* Get our container IDs */
$containerIds = array();
foreach( $clubNodes[ $classMap[ $class ] ] as $node )
{
$containerIds[] = $node->id;
}
if( is_subclass_of( $class, '\IPS\Content\Comment' ) )
{
/* We're going to need a subquery... */
@@ -329,7 +336,7 @@ class _stats extends \IPS\Dispatcher\Controller
$where[] = array(
$class::$databasePrefix . $class::$databaseColumnMap['item'] . " IN(" .
(string) \IPS\Db::i()->select( $parentClass::$databasePrefix . $parentClass::$databaseColumnId, $parentClass::$databaseTable, array( \IPS\Db::i()->in( $parentClass::$databasePrefix . $parentClass::$databaseColumnMap['container'], array_keys( $clubNodes[ $classMap[ $class ] ] ) ) ) )
(string) \IPS\Db::i()->select( $parentClass::$databasePrefix . $parentClass::$databaseColumnId, $parentClass::$databaseTable, array( \IPS\Db::i()->in( $parentClass::$databasePrefix . $parentClass::$databaseColumnMap['container'], $containerIds ) ) )
. ")"
);
@@ -347,7 +354,7 @@ class _stats extends \IPS\Dispatcher\Controller
}
else
{
$where[] = array( \IPS\Db::i()->in( $class::$databasePrefix . $class::$databaseColumnMap['container'], array_keys( $clubNodes[ $classMap[ $class ] ] ) ) );
$where[] = array( \IPS\Db::i()->in( $class::$databasePrefix . $class::$databaseColumnMap['container'], $containerIds ) );
if( mb_strpos( $chart->identifier, 'byclub' ) !== FALSE )
{
@@ -385,7 +392,15 @@ class _stats extends \IPS\Dispatcher\Controller
foreach( \IPS\Member\Club::availableNodeTypes( NULL ) as $nodeType )
{
$contentClass = $nodeType::$contentItemClass;
$results[ $row['time'] ][ \IPS\Member::loggedIn()->language()->get( $contentClass::$title . '_pl' ) ] = 0;
$languageKey = \IPS\Member::loggedIn()->language()->words[ $contentClass::$title . '_pl'];
/* Pages Databases may need the language string parsing */
if( mb_substr( $contentClass, 0, 15 ) === 'IPS\cms\Records' )
{
\IPS\Member::loggedIn()->language()->parseOutputForDisplay( $languageKey );
}
$results[ $row['time'] ][ $languageKey ] = 0;
}
}
}
@@ -394,12 +409,24 @@ class _stats extends \IPS\Dispatcher\Controller
if( mb_strpos( $chart->identifier, 'byclub' ) !== FALSE )
{
$results[ $row['time'] ][ \IPS\Member\Club::load( $clubNodeMap[ $class::$databaseTable . '-' . $row['container'] ] )->name ] += $row['total'];
try
{
$results[ $row['time'] ][ \IPS\Member\Club::load( $clubNodeMap[ $class::$databaseTable . '-' . $row['container'] ] )->name ] += $row['total'];
}
catch( \OutOfRangeException $e ){}
}
else
{
$languageKey = \IPS\Member::loggedIn()->language()->words[ $contentClass::$title . '_pl'];
/* Pages Databases may need the language string parsing */
if( mb_substr( $contentClass, 0, 15 ) === 'IPS\cms\Records' )
{
\IPS\Member::loggedIn()->language()->parseOutputForDisplay( $languageKey );
}
$contentClass = $classMap[ $class ]::$contentItemClass;
$results[ $row['time'] ][ \IPS\Member::loggedIn()->language()->get( $contentClass::$title . '_pl' ) ] += $row['total'];
$results[ $row['time'] ][ $languageKey ] += $row['total'];
}
}
}