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 a68c38c..58984ed 100644 --- a/sai/modules/saimod_sys_log/saimod_sys_log.php +++ b/sai/modules/saimod_sys_log/saimod_sys_log.php @@ -125,13 +125,6 @@ class saimod_sys_log extends \SYSTEM\SAI\SaiModule { } public static function sai_mod__SYSTEM_SAI_saimod_sys_log_action_stats_name_unique_basic($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,' @@ -209,10 +202,10 @@ 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_FILE.') as file_unique,' - .'count(distinct '.\SYSTEM\DBD\system_log::FIELD_LINE.') as line_unique,' - .'count(distinct '.\SYSTEM\DBD\system_log::FIELD_CLASS.') as class_unique' + .'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_SERVER_NAME.') as server_name_unique' .' FROM '.\SYSTEM\DBD\system_log::NAME_PG .' GROUP BY day' .' ORDER BY day DESC' @@ -239,11 +232,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_HTTP_REFERER.') as http_referer_unique,' - .'count(distinct '.\SYSTEM\DBD\system_log::FIELD_HTTP_USER_AGENT.') as http_user_agent_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' .' FROM '.\SYSTEM\DBD\system_log::NAME_PG .' GROUP BY day' .' ORDER BY day DESC' @@ -272,8 +265,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_CLASS.') as class_unique' .' FROM '.\SYSTEM\DBD\system_log::NAME_PG .' GROUP BY day' .' ORDER BY day DESC' @@ -299,20 +293,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,' - .'sum(case when not '.\SYSTEM\DBD\system_log::FIELD_CLASS.' = \'SYSTEM\LOG\COUNTER\' and' - .' not '.\SYSTEM\DBD\system_log::FIELD_CLASS.' = \'SYSTEM\LOG\INFO\' and' - .' not '.\SYSTEM\DBD\system_log::FIELD_CLASS.' = \'INFO\' and' - .' not '.\SYSTEM\DBD\system_log::FIELD_CLASS.' = \'SYSTEM\LOG\DEPRECATED\' and' - .' not '.\SYSTEM\DBD\system_log::FIELD_CLASS.' = \'EPRECATED\' ' - .'then 1 else 0 end) class_fail,' - .'sum(case when '.\SYSTEM\DBD\system_log::FIELD_CLASS.' = \'SYSTEM\LOG\INFO\' or ' - .\SYSTEM\DBD\system_log::FIELD_CLASS.' = \'SYSTEM\LOG\INFO\' or ' - .\SYSTEM\DBD\system_log::FIELD_CLASS.' = \'INFO\' or ' - .\SYSTEM\DBD\system_log::FIELD_CLASS.' = \'SYSTEM\LOG\DEPRECATED\' or ' - .\SYSTEM\DBD\system_log::FIELD_CLASS.' = \'EPRECATED\' ' - .'then 1 else 0 end) class_log,' - .'sum(case when '.\SYSTEM\DBD\system_log::FIELD_CLASS.' = \'SYSTEM\LOG\COUNTER\' then 1 else 0 end) class_sucess' + .'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_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' @@ -349,11 +334,9 @@ 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,' - .'avg('.\SYSTEM\DBD\system_log::FIELD_QUERYTIME.') as querytime_avg,' - .'max('.\SYSTEM\DBD\system_log::FIELD_QUERYTIME.') as querytime_max,' - .'min('.\SYSTEM\DBD\system_log::FIELD_QUERYTIME.') as querytime_min,' - .'variance('.\SYSTEM\DBD\system_log::FIELD_QUERYTIME.') as querytime_var' + .'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' .' FROM '.\SYSTEM\DBD\system_log::NAME_PG .' GROUP BY day' .' ORDER BY day DESC' @@ -462,17 +445,10 @@ class saimod_sys_log extends \SYSTEM\SAI\SaiModule { $table=''; while($r = $res->next()){ //print_r($r); - $table .= ''. - ''.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'].''. - ''; + $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 @@ + + ${time} + ${class} + ${message} + ${file} + ${line} + ${ip} + ${server_name}:${server_port}${request_uri} + ${username} + ${querytime} + \ 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 @@ 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()){
'.'ID'.''.'Username'.''.'E-Mail'.''.'JoinDate'.''.'Locale'.''.'Last Active'.''.'Flag'.''.'Rights'.'reset password