From d2cbe5e19f5b9d9f0d3f735994d89bbe344843c5 Mon Sep 17 00:00:00 2001 From: rylon Date: Wed, 15 Jan 2014 21:59:44 +0100 Subject: [PATCH 1/2] shows usercount on security tab + limits users to 100, not functional filter field. --- .../saimod_sys_security.php | 21 +++++++++++-------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/sai/modules/saimod_sys_security/saimod_sys_security.php b/sai/modules/saimod_sys_security/saimod_sys_security.php index 9992d99..c735550 100644 --- a/sai/modules/saimod_sys_security/saimod_sys_security.php +++ b/sai/modules/saimod_sys_security/saimod_sys_security.php @@ -24,18 +24,21 @@ class saimod_sys_security extends \SYSTEM\SAI\SaiModule { return $result; } - public static function html_content_users(){ + public static function html_content_users($search = null){ $con = new \SYSTEM\DB\Connection(\SYSTEM\system::getSystemDBInfo()); - if(\SYSTEM\system::isSystemDbInfoPG()){ - $res = $con->query('SELECT id,username,email,joindate,locale,last_active,account_flag FROM system.user ORDER BY last_active DESC;'); + if(\SYSTEM\system::isSystemDbInfoPG()){ + $res = $con->query('SELECT id,username,email,joindate,locale,last_active,account_flag FROM system.user ORDER BY last_active DESC LIMIT 100;'); + $res2 = $con->query('SELECT count(*) as count FROM system.user;'); } else { - $res = $con->query('SELECT id,username,email,joindate,locale,last_active,account_flag FROM system_user ORDER BY last_active DESC;'); - } + $res = $con->query('SELECT id,username,email,joindate,locale,last_active,account_flag FROM system_user ORDER BY last_active DESC LIMIT 100;'); + $res2 = $con->query('SELECT count(*) as count FROM system.user;'); + } - - $now = microtime(true); - - $result = ''. + $pcount = $res2->next(); + $count = $pcount['count']; + $result = 'Users: '.$count. + '
'. + '
'. ''.''.''.''.''.''.''.''.''.''; while($r = $res->next()){ if(\SYSTEM\system::isSystemDbInfoPG()){ From 0362f4a173022a99ed9c8cc9897e659904b7f23e Mon Sep 17 00:00:00 2001 From: rylon Date: Sun, 19 Jan 2014 22:30:00 +0100 Subject: [PATCH 2/2] small fixes to code style --- log/log.php | 2 +- sai/modules/saimod_sys_log/saimod_sys_log.php | 73 ++----------------- .../saimod_sys_log_table_row.tpl | 11 +++ sai/modules/saimod_sys_sai/saimod_sys_sai.php | 1 - 4 files changed, 18 insertions(+), 69 deletions(-) create mode 100644 sai/modules/saimod_sys_log/saimod_sys_log_table_row.tpl diff --git a/log/log.php b/log/log.php index 1de6205..fd94af8 100644 --- a/log/log.php +++ b/log/log.php @@ -18,7 +18,7 @@ class log { set_error_handler ('\SYSTEM\LOG\log::__error_handler'); set_exception_handler ('\SYSTEM\LOG\log::__exception_handler'); - register_shutdown_function ( '\SYSTEM\LOG\log::__shutdown_handler' ); + register_shutdown_function ('\SYSTEM\LOG\log::__shutdown_handler' ); ob_start ('\SYSTEM\LOG\log::__fatal_error_handler'); } diff --git a/sai/modules/saimod_sys_log/saimod_sys_log.php b/sai/modules/saimod_sys_log/saimod_sys_log.php index ed55a02..cf80573 100644 --- a/sai/modules/saimod_sys_log/saimod_sys_log.php +++ b/sai/modules/saimod_sys_log/saimod_sys_log.php @@ -92,13 +92,6 @@ class saimod_sys_log extends \SYSTEM\SAI\SaiModule { } public static function sai_mod__SYSTEM_SAI_saimod_sys_log_action_stats_name_basic_sucess($filter){ - /* - $children = array(); - is_subclass_of - foreach(get_declared_classes() as $class){ - if($class instanceof foo) $children[] = $class; - } - */ $con = new \SYSTEM\DB\Connection(\SYSTEM\system::getSystemDBInfo()); if(\SYSTEM\system::isSystemDbInfoPG()){ $res = $con->query('SELECT to_timestamp(extract(epoch from '.\SYSTEM\DBD\system_log::FIELD_TIME.')::int - (extract(epoch from '.\SYSTEM\DBD\system_log::FIELD_TIME.')::int % '.$filter.')) as day,' @@ -159,20 +152,8 @@ class saimod_sys_log extends \SYSTEM\SAI\SaiModule { $res = $con->query('SELECT to_timestamp(extract(epoch from '.\SYSTEM\DBD\system_log::FIELD_TIME.')::int - (extract(epoch from '.\SYSTEM\DBD\system_log::FIELD_TIME.')::int % '.$filter.')) as day,' .'count(*) as count,' .'count(distinct "'.\SYSTEM\DBD\system_log::FIELD_USER.'") as user_unique,' - .'count(distinct '.\SYSTEM\DBD\system_log::FIELD_IP.') as ip_unique,' - //.'count(distinct '.\SYSTEM\DBD\system_log::FIELD_FILE.') as file_unique,' - //.'count(distinct '.\SYSTEM\DBD\system_log::FIELD_LINE.') as line_unique,' - //.'count(distinct '.\SYSTEM\DBD\system_log::FIELD_TRACE.') as trace_unique,' - //.'count(distinct '.\SYSTEM\DBD\system_log::FIELD_MESSAGE.') as text_unique,' - //.'count(distinct '.\SYSTEM\DBD\system_log::FIELD_CLASS.') as class_unique,' - //.'count(distinct '.\SYSTEM\DBD\system_log::FIELD_QUERYTIME.') as querytime_unique,' - //.'count(distinct '.\SYSTEM\DBD\system_log::FIELD_TIME.') as time_unique,' + .'count(distinct '.\SYSTEM\DBD\system_log::FIELD_IP.') as ip_unique,' .'count(distinct '.\SYSTEM\DBD\system_log::FIELD_SERVER_NAME.') as server_name_unique' - //.'count(distinct '.\SYSTEM\DBD\system_log::FIELD_SERVER_PORT.') as server_port_unique,' - //.'count(distinct '.\SYSTEM\DBD\system_log::FIELD_REQUEST_URI.') as request_uri_unique,' - //.'count(distinct '.\SYSTEM\DBD\system_log::FIELD_POST.') as post_unique,' - //.'count(distinct '.\SYSTEM\DBD\system_log::FIELD_HTTP_REFERER.') as http_referer_unique,' - //.'count(distinct '.\SYSTEM\DBD\system_log::FIELD_HTTP_USER_AGENT.') as http_user_agent_unique' .' FROM '.\SYSTEM\DBD\system_log::NAME_PG .' GROUP BY day' .' ORDER BY day DESC' @@ -190,22 +171,11 @@ class saimod_sys_log extends \SYSTEM\SAI\SaiModule { $con = new \SYSTEM\DB\Connection(\SYSTEM\system::getSystemDBInfo()); if(\SYSTEM\system::isSystemDbInfoPG()){ $res = $con->query('SELECT to_timestamp(extract(epoch from '.\SYSTEM\DBD\system_log::FIELD_TIME.')::int - (extract(epoch from '.\SYSTEM\DBD\system_log::FIELD_TIME.')::int % '.$filter.')) as day,' - .'count(*) as count,' - //.'count(distinct "'.\SYSTEM\DBD\system_log::FIELD_USER.'") as user_unique,' - //.'count(distinct '.\SYSTEM\DBD\system_log::FIELD_IP.') as ip_unique,' - //.'count(distinct '.\SYSTEM\DBD\system_log::FIELD_FILE.') as file_unique,' - //.'count(distinct '.\SYSTEM\DBD\system_log::FIELD_LINE.') as line_unique,' - //.'count(distinct '.\SYSTEM\DBD\system_log::FIELD_TRACE.') as trace_unique,' - //.'count(distinct '.\SYSTEM\DBD\system_log::FIELD_MESSAGE.') as text_unique,' - //.'count(distinct '.\SYSTEM\DBD\system_log::FIELD_CLASS.') as class_unique,' - //.'count(distinct '.\SYSTEM\DBD\system_log::FIELD_QUERYTIME.') as querytime_unique,' - //.'count(distinct '.\SYSTEM\DBD\system_log::FIELD_TIME.') as time_unique,' + .'count(*) as count,' .'count(distinct '.\SYSTEM\DBD\system_log::FIELD_SERVER_NAME.') as server_name_unique,' .'count(distinct '.\SYSTEM\DBD\system_log::FIELD_SERVER_PORT.') as server_port_unique,' .'count(distinct '.\SYSTEM\DBD\system_log::FIELD_REQUEST_URI.') as request_uri_unique,' .'count(distinct '.\SYSTEM\DBD\system_log::FIELD_POST.') as post_unique' - //.'count(distinct '.\SYSTEM\DBD\system_log::FIELD_HTTP_REFERER.') as http_referer_unique,' - //.'count(distinct '.\SYSTEM\DBD\system_log::FIELD_HTTP_USER_AGENT.') as http_user_agent_unique' .' FROM '.\SYSTEM\DBD\system_log::NAME_PG .' GROUP BY day' .' ORDER BY day DESC' @@ -224,21 +194,9 @@ class saimod_sys_log extends \SYSTEM\SAI\SaiModule { if(\SYSTEM\system::isSystemDbInfoPG()){ $res = $con->query('SELECT to_timestamp(extract(epoch from '.\SYSTEM\DBD\system_log::FIELD_TIME.')::int - (extract(epoch from '.\SYSTEM\DBD\system_log::FIELD_TIME.')::int % '.$filter.')) as day,' .'count(*) as count,' - //.'count(distinct "'.\SYSTEM\DBD\system_log::FIELD_USER.'") as user_unique,' - //.'count(distinct '.\SYSTEM\DBD\system_log::FIELD_IP.') as ip_unique,' .'count(distinct '.\SYSTEM\DBD\system_log::FIELD_FILE.') as file_unique,' .'count(distinct '.\SYSTEM\DBD\system_log::FIELD_LINE.') as line_unique,' - //.'count(distinct '.\SYSTEM\DBD\system_log::FIELD_TRACE.') as trace_unique,' - //.'count(distinct '.\SYSTEM\DBD\system_log::FIELD_MESSAGE.') as text_unique,' .'count(distinct '.\SYSTEM\DBD\system_log::FIELD_CLASS.') as class_unique' - //.'count(distinct '.\SYSTEM\DBD\system_log::FIELD_QUERYTIME.') as querytime_unique,' - //.'count(distinct '.\SYSTEM\DBD\system_log::FIELD_TIME.') as time_unique,' - //.'count(distinct '.\SYSTEM\DBD\system_log::FIELD_SERVER_NAME.') as server_name_unique,' - //.'count(distinct '.\SYSTEM\DBD\system_log::FIELD_SERVER_PORT.') as server_port_unique,' - //.'count(distinct '.\SYSTEM\DBD\system_log::FIELD_REQUEST_URI.') as request_uri_unique,' - //.'count(distinct '.\SYSTEM\DBD\system_log::FIELD_POST.') as post_unique,' - //.'count(distinct '.\SYSTEM\DBD\system_log::FIELD_HTTP_REFERER.') as http_referer_unique,' - //.'count(distinct '.\SYSTEM\DBD\system_log::FIELD_HTTP_USER_AGENT.') as http_user_agent_unique' .' FROM '.\SYSTEM\DBD\system_log::NAME_PG .' GROUP BY day' .' ORDER BY day DESC' @@ -259,17 +217,6 @@ class saimod_sys_log extends \SYSTEM\SAI\SaiModule { .'count(*) as count,' .'count(distinct "'.\SYSTEM\DBD\system_log::FIELD_USER.'") as user_unique,' .'count(distinct '.\SYSTEM\DBD\system_log::FIELD_IP.') as ip_unique,' - //.'count(distinct '.\SYSTEM\DBD\system_log::FIELD_FILE.') as file_unique,' - //.'count(distinct '.\SYSTEM\DBD\system_log::FIELD_LINE.') as line_unique,' - //.'count(distinct '.\SYSTEM\DBD\system_log::FIELD_TRACE.') as trace_unique,' - //.'count(distinct '.\SYSTEM\DBD\system_log::FIELD_MESSAGE.') as text_unique,' - //.'count(distinct '.\SYSTEM\DBD\system_log::FIELD_CLASS.') as class_unique,' - //.'count(distinct '.\SYSTEM\DBD\system_log::FIELD_QUERYTIME.') as querytime_unique,' - //.'count(distinct '.\SYSTEM\DBD\system_log::FIELD_TIME.') as time_unique,' - //.'count(distinct '.\SYSTEM\DBD\system_log::FIELD_SERVER_NAME.') as server_name_unique,' - //.'count(distinct '.\SYSTEM\DBD\system_log::FIELD_SERVER_PORT.') as server_port_unique,' - //.'count(distinct '.\SYSTEM\DBD\system_log::FIELD_REQUEST_URI.') as request_uri_unique,' - //.'count(distinct '.\SYSTEM\DBD\system_log::FIELD_POST.') as post_unique,' .'count(distinct '.\SYSTEM\DBD\system_log::FIELD_HTTP_REFERER.') as http_referer_unique,' .'count(distinct '.\SYSTEM\DBD\system_log::FIELD_HTTP_USER_AGENT.') as http_user_agent_unique' .' FROM '.\SYSTEM\DBD\system_log::NAME_PG @@ -291,7 +238,6 @@ class saimod_sys_log extends \SYSTEM\SAI\SaiModule { $res = $con->query('SELECT to_timestamp(extract(epoch from '.\SYSTEM\DBD\system_log::FIELD_TIME.')::int - (extract(epoch from '.\SYSTEM\DBD\system_log::FIELD_TIME.')::int % '.$filter.')) as day,' .'count(*) as count,' .'count(distinct "'.\SYSTEM\DBD\system_log::FIELD_USER.'") as user_unique,' - //.'variance(distinct "'.\SYSTEM\DBD\system_log::FIELD_USER.'") as user_var,' .'count(distinct '.\SYSTEM\DBD\system_log::FIELD_IP.') as ip_unique' .' FROM '.\SYSTEM\DBD\system_log::NAME_PG .' GROUP BY day' @@ -391,17 +337,10 @@ class saimod_sys_log extends \SYSTEM\SAI\SaiModule { $table=''; while($r = $res->next()){ //print_r($r); - $table .= ''. - ''. - ''. - ''. - ''. - ''. - ''. - ''. - ''. - ''. - ''; + $r['class_row'] = self::tablerow_class($r['class']); + $r['time'] = self::time_elapsed_string(strtotime($r['time'])); + $r['message'] = substr($r['message'],0,255); + $table .= \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new \SYSTEM\PSAI(),'modules/saimod_sys_log/saimod_sys_log_table_row.tpl'),$r); } $vars = array(); $vars['count'] = $count; diff --git a/sai/modules/saimod_sys_log/saimod_sys_log_table_row.tpl b/sai/modules/saimod_sys_log/saimod_sys_log_table_row.tpl new file mode 100644 index 0000000..97b6b72 --- /dev/null +++ b/sai/modules/saimod_sys_log/saimod_sys_log_table_row.tpl @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/sai/modules/saimod_sys_sai/saimod_sys_sai.php b/sai/modules/saimod_sys_sai/saimod_sys_sai.php index cc130c9..b5e16a5 100644 --- a/sai/modules/saimod_sys_sai/saimod_sys_sai.php +++ b/sai/modules/saimod_sys_sai/saimod_sys_sai.php @@ -1,5 +1,4 @@
'.'ID'.''.'Username'.''.'E-Mail'.''.'JoinDate'.''.'Locale'.''.'Last Active'.''.'Flag'.''.'Rights'.'reset password
'.self::time_elapsed_string(strtotime($r['time'])).''.$r['class'].''.substr($r['message'],0,255).''.$r['file'].''.$r['line'].''.$r['ip'].''.$r['server_name'].':'.$r['server_port'].$r['request_uri'].''.$r['username'].''.$r['querytime'].'
${time}${class}${message}${file}${line}${ip}${server_name}:${server_port}${request_uri}${username}${querytime}