Version 4.5.0

This commit is contained in:
Neo committed 2025-12-19 05:51:58 -08:00
1 parent 1a0c7fd3c2
commit f79dcf067a
3791 files changed
+248032 -76372

No files matched your search

+41 -8
View File
@@ -12,7 +12,7 @@
namespace IPS\Member;
/* To prevent PHP errors (extending class does not exist) revealing path */
if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
if ( !\defined( '\IPS\SUITE_UNIQUE_KEY' ) )
{
header( ( isset( $_SERVER['SERVER_PROTOCOL'] ) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.0' ) . ' 403 Forbidden' );
exit;
@@ -34,7 +34,9 @@ class _History extends \IPS\Helpers\Table\Db
* @param \IPS\Http\Url $url The URL the table will be displayed on
* @param mixed $where WHERE clause
* @param bool $showIp If the IP address column should be included
* @param bool $showMember If the customer column should show
* @param bool $showMember If the customer column should show
* @param bool $showApp If the app column should show
* @param bool $showType If the type column should show
* @return void
*/
public function __construct( \IPS\Http\Url $url, $where, $showIp=TRUE, $showMember=FALSE, $showApp=TRUE, $showType=FALSE )
@@ -81,6 +83,15 @@ class _History extends \IPS\Helpers\Table\Db
{
foreach( $extension->getTypes() as $type )
{
if ( $type === 'oauth' and \IPS\Db::i()->select( 'COUNT(*)', 'core_oauth_clients', array( \IPS\Db::i()->findInSet( 'oauth_grant_types', array( 'authorization_code', 'implicit', 'password' ) ) ) )->first() === 1 )
{
foreach ( new \IPS\Patterns\ActiveRecordIterator( \IPS\Db::i()->select( '*', 'core_oauth_clients', array( \IPS\Db::i()->findInSet( 'oauth_grant_types', array( 'authorization_code', 'implicit', 'password' ) ) ) ), 'IPS\Api\OAuthClient' ) as $client )
{
$options[ $type ] = $client->_title;
continue 2;
}
}
$options[ $type ] = 'log_type_title_' . $type;
}
}
@@ -98,9 +109,16 @@ class _History extends \IPS\Helpers\Table\Db
$this->parsers = array(
'log_type' => function( $val, $row ) use ( $extensions )
{
if( method_exists( $extensions[ $row['log_app'] ], 'parseLogType' ) )
try
{
return $extensions[ $row['log_app'] ]->parseLogType( $val, $row );
if( method_exists( $extensions[ $row['log_app'] ], 'parseLogType' ) )
{
return $extensions[ $row['log_app'] ]->parseLogType( $val, $row );
}
}
catch( \Throwable $e )
{
\IPS\Log::log( $e, 'member_history' );
}
return $val;
@@ -115,9 +133,16 @@ class _History extends \IPS\Helpers\Table\Db
},
'log_member'=> function( $val, $row ) use ( $extensions )
{
if( method_exists( $extensions[ $row['log_app'] ], 'parseLogMember' ) )
try
{
return $extensions[ $row['log_app'] ]->parseLogMember( $val, $row );
if( method_exists( $extensions[ $row['log_app'] ], 'parseLogMember' ) )
{
return $extensions[ $row['log_app'] ]->parseLogMember( $val, $row );
}
}
catch( \Throwable $e )
{
\IPS\Log::log( $e, 'member_history' );
}
$member = \IPS\Member::load( $val );
@@ -125,9 +150,17 @@ class _History extends \IPS\Helpers\Table\Db
},
'log_data' => function( $val, $row ) use ( $extensions )
{
if( method_exists( $extensions[ $row['log_app'] ], 'parseLogData' ) )
try
{
return $extensions[ $row['log_app'] ]->parseLogData( $val, $row );
if( method_exists( $extensions[ $row['log_app'] ], 'parseLogData' ) )
{
return $extensions[ $row['log_app'] ]->parseLogData( $val, $row );
}
}
catch( \Throwable $e )
{
\IPS\Log::log( $e, 'member_history' );
return $val; # Return the value so the admin may have some clue as to what the log entry was for
}
return '';