From 7335a4059ca73db9785db3254aac8aa6b41c44d5 Mon Sep 17 00:00:00 2001 From: rylon Date: Sat, 18 Apr 2015 14:45:58 +0200 Subject: [PATCH] saimod security fixes for user actions, cleanup --- .../tpl/saimod_sys_log_table.tpl | 0 .../saimod_sys_security.php | 47 +++++-------------- .../tpl/saimod_sys_security_user_actions.tpl | 17 +++++++ .../saimod_sys_security_user_actions_row.tpl | 11 +++++ 4 files changed, 39 insertions(+), 36 deletions(-) delete mode 100644 sai/modules/saimod_sys_log/tpl/saimod_sys_log_table.tpl create mode 100644 sai/modules/saimod_sys_security/tpl/saimod_sys_security_user_actions.tpl create mode 100644 sai/modules/saimod_sys_security/tpl/saimod_sys_security_user_actions_row.tpl diff --git a/sai/modules/saimod_sys_log/tpl/saimod_sys_log_table.tpl b/sai/modules/saimod_sys_log/tpl/saimod_sys_log_table.tpl deleted file mode 100644 index e69de29..0000000 diff --git a/sai/modules/saimod_sys_security/saimod_sys_security.php b/sai/modules/saimod_sys_security/saimod_sys_security.php index 91966fa..72bea91 100644 --- a/sai/modules/saimod_sys_security/saimod_sys_security.php +++ b/sai/modules/saimod_sys_security/saimod_sys_security.php @@ -56,21 +56,23 @@ class saimod_sys_security extends \SYSTEM\SAI\SaiModule { if(!\SYSTEM\SECURITY\Security::check(\SYSTEM\SECURITY\RIGHTS::SYS_SAI_SECURITY_RIGHTS_EDIT)){ return false;} return \SYSTEM\DBD\SYS_SAIMOD_SECURITY_RIGHT_DELETE::QI(array($id));} - + + //Todo move to log private static function user_actions($userid){ $count = \SYSTEM\DBD\SYS_SAIMOD_SECURITY_USER_LOG_COUNT::Q1(array($userid)); $res = \SYSTEM\DBD\SYS_SAIMOD_SECURITY_USER_LOG::QQ(array($userid)); $table=''; while($r = $res->next()){ $r['class_row'] = \SYSTEM\SAI\saimod_sys_log::tablerow_class($r['class']); - $r['time'] = self::time_elapsed_string(strtotime($r['time'])); + $r['time'] = \SYSTEM\time::time_ago_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/tpl/saimod_sys_log_table_row.tpl'),$r); + $table .= \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new \SYSTEM\PSAI(),'modules/saimod_sys_security/tpl/saimod_sys_security_user_actions_row.tpl'),$r); } - $vars = \SYSTEM\PAGE\text::tag(\SYSTEM\DBD\system_text::TAG_SAI_SECURITY); + $vars = array(); $vars['count'] = $count['count']; $vars['table'] = $table; - return \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new \SYSTEM\PSAI(),'modules/saimod_sys_log/tpl/saimod_sys_log_table.tpl'), $vars); + $vars = array_merge($vars, \SYSTEM\PAGE\text::tag(\SYSTEM\DBD\system_text::TAG_SAI_SECURITY)); + return \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new \SYSTEM\PSAI(),'modules/saimod_sys_security/tpl/saimod_sys_security_user_actions.tpl'), $vars); } private static function user_rights($userid){ @@ -109,7 +111,7 @@ class saimod_sys_security extends \SYSTEM\SAI\SaiModule { public static function sai_mod__SYSTEM_SAI_saimod_sys_security_action_user($username){ $vars = \SYSTEM\DBD\SYS_SAIMOD_SECURITY_USER::Q1(array($username)); - $vars['time_elapsed'] = self::time_elapsed_string($vars['last_active']); + $vars['time_elapsed'] = \SYSTEM\time::time_ago_string($vars['last_active']); $vars['user_rights'] = array_key_exists('id', $vars) ? self::user_rights($vars['id']) : ''; $vars['user_actions'] = array_key_exists('id', $vars) ? self::user_actions($vars['id']) : ''; $vars = array_merge($vars,\SYSTEM\PAGE\text::tag(\SYSTEM\DBD\system_text::TAG_SAI_SECURITY)); @@ -123,12 +125,13 @@ class saimod_sys_security extends \SYSTEM\SAI\SaiModule { $res = \SYSTEM\DBD\SYS_SAIMOD_SECURITY_USERS::QQ(array($search),array($search,$search)); while($r = $res->next()){ $r['class'] = self::tablerow_class($r['last_active']); - $r['time_elapsed'] = self::time_elapsed_string($r['last_active']); + $r['time_elapsed'] = \SYSTEM\time::time_ago_string($r['last_active']); $rows .= \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new \SYSTEM\PSAI(),'modules/saimod_sys_security/tpl/saimod_sys_security_user.tpl'),$r); } - $vars = \SYSTEM\PAGE\text::tag(\SYSTEM\DBD\system_text::TAG_SAI_SECURITY); + $vars = array(); $vars['rows'] = $rows; $vars['count'] = $count['count']; + $vars = array_merge($vars,\SYSTEM\PAGE\text::tag(\SYSTEM\DBD\system_text::TAG_SAI_SECURITY)); return \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new \SYSTEM\PSAI(),'modules/saimod_sys_security/tpl/saimod_sys_security_users.tpl'),$vars); } @@ -150,34 +153,6 @@ class saimod_sys_security extends \SYSTEM\SAI\SaiModule { return 'error'; } - private static function time_elapsed_string($ptime) - { - $etime = time() - $ptime; - - if ($etime < 1) - { - return '0 seconds'; - } - - $a = array( 12 * 30 * 24 * 60 * 60 => 'year', - 30 * 24 * 60 * 60 => 'month', - 24 * 60 * 60 => 'day', - 60 * 60 => 'hour', - 60 => 'minute', - 1 => 'second' - ); - - foreach ($a as $secs => $str) - { - $d = $etime / $secs; - if ($d >= 1) - { - $r = round($d); - return $r . ' ' . $str . ($r > 1 ? 's' : '') . ' ago'; - } - } - } - public static function html_li_menu(){return '
  • ${sai_menu_security}
  • ';} public static function right_public(){return false;} public static function right_right(){return \SYSTEM\SECURITY\Security::check(\SYSTEM\SECURITY\RIGHTS::SYS_SAI) && \SYSTEM\SECURITY\Security::check(\SYSTEM\SECURITY\RIGHTS::SYS_SAI_SECURITY);} diff --git a/sai/modules/saimod_sys_security/tpl/saimod_sys_security_user_actions.tpl b/sai/modules/saimod_sys_security/tpl/saimod_sys_security_user_actions.tpl new file mode 100644 index 0000000..b6528f2 --- /dev/null +++ b/sai/modules/saimod_sys_security/tpl/saimod_sys_security_user_actions.tpl @@ -0,0 +1,17 @@ +
    + ${basic_rows}: ${count} + + + + + + + + + + + + + ${table} +
    ${time_ago}${table_class}${table_message}${table_file}${table_line}${table_ip}${table_url}${table_user}${table_querytime}
    +
    \ No newline at end of file diff --git a/sai/modules/saimod_sys_security/tpl/saimod_sys_security_user_actions_row.tpl b/sai/modules/saimod_sys_security/tpl/saimod_sys_security_user_actions_row.tpl new file mode 100644 index 0000000..ad525d7 --- /dev/null +++ b/sai/modules/saimod_sys_security/tpl/saimod_sys_security_user_actions_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