Version 4.7.0

This commit is contained in:
Neo committed 2025-12-19 16:00:35 -08:00
1 parent 517a5e1f70
commit 8ba7d43898
1933 files changed
+65613 -11332

No files matched your search

@@ -63,13 +63,17 @@ class _badges extends \IPS\Node\Controller
'title' => 'acp_achievements_export',
);
\IPS\Output::i()->sidebar['actions']['import'] = array(
'primary' => false,
'icon' => 'cloud-upload',
'link' => \IPS\Http\Url::internal('app=core&module=achievements&controller=badges&do=importForm'),
'data' => array( 'ipsDialog' => '', 'ipsDialog-title' => \IPS\Member::loggedIn()->language()->addToStack('acp_achievements_import') ),
'title' => 'acp_achievements_import',
);
if ( \IPS\Member::loggedIn()->hasAcpRestriction( 'core', 'achievements', 'badges_manage' ) )
{
\IPS\Output::i()->sidebar['actions']['import'] = array(
'primary' => false,
'icon' => 'cloud-upload',
'link' => \IPS\Http\Url::internal('app=core&module=achievements&controller=badges&do=importForm'),
'data' => array( 'ipsDialog' => '', 'ipsDialog-title' => \IPS\Member::loggedIn()->language()->addToStack('acp_achievements_import') ),
'title' => 'acp_achievements_import',
);
}
return parent::manage();
}
@@ -119,13 +123,20 @@ class _badges extends \IPS\Node\Controller
return \IPS\Theme::i()->getTemplate( 'global', 'core' )->userLink( \IPS\Member::load( $val ) );
},
'action_log' => function( $val, $row ) {
if ( $row['action'] )
try
{
$exploded = explode( '_', $row['action'] );
$extension = \IPS\Application::load( $exploded[0] )->extensions( 'core', 'AchievementAction' )[ $exploded[1] ];
return $extension->logRow( $row['identifier'], explode( ',', $row['actor'] ) );
if ( $row['action'] )
{
$exploded = explode( '_', $row['action'] );
$extension = \IPS\Application::load( $exploded[0] )->extensions( 'core', 'AchievementAction' )[ $exploded[1] ];
return $extension->logRow( $row['identifier'], explode( ',', $row['actor'] ) );
}
else
{
throw new \OutOfRangeException;
}
}
else
catch( \OutOfRangeException $e )
{
return \IPS\Member::loggedIn()->language()->addToStack('unknown');
}
@@ -167,6 +178,7 @@ class _badges extends \IPS\Node\Controller
*/
public function exportForm()
{
\IPS\Dispatcher::i()->checkAcpPermission( 'badges_manage' );
$assignedBadges = \IPS\core\Achievements\Badge::getAssignedBadgeIds();
$where = NULL;
@@ -192,7 +204,7 @@ class _badges extends \IPS\Node\Controller
$xml = \IPS\Xml\SimpleXML::create('badges');
$langs = [];
foreach( \IPS\Db::i()->select('word_key, word_default', 'core_sys_lang_words', [ \IPS\Db::i()->like( 'word_key', 'core_badges_') ] ) as $row )
foreach( \IPS\Db::i()->select('word_key, word_default', 'core_sys_lang_words', [ "lang_id=? AND word_key LIKE 'core_badges_%'", \IPS\Member::loggedIn()->language()->id ] ) as $row )
{
$langs[ \mb_substr( $row['word_key'], 12 ) ] = $row['word_default'];
}
@@ -247,7 +259,7 @@ class _badges extends \IPS\Node\Controller
}
catch( \Exception $e )
{
\IPS\Output::i()->error( $e->getMessage(), '2C163/1', 403, '' );
\IPS\Output::i()->error( $e->getMessage(), '2C422/1', 403, '' );
}
\IPS\Output::i()->redirect( \IPS\Http\Url::internal( 'app=core&module=achievements&controller=badges' ), 'completed' );