From e959832db1dfedbc68a4c52501d2abd452f2e640 Mon Sep 17 00:00:00 2001 From: jengo Date: Wed, 28 Feb 2001 15:58:26 +0000 Subject: [PATCH] Added session_flags column to phpgw_sessions --- admin/accesslog.php | 180 +++++++++++++++------------ admin/currentusers.php | 155 ++++++++++++----------- setup/sql/mysql_newtables.inc.php | 1 + setup/sql/mysql_upgrade_beta.inc.php | 10 ++ setup/sql/pgsql_newtables.inc.php | 1 + setup/sql/pgsql_upgrade_beta.inc.php | 10 ++ version.inc.php | 2 +- 7 files changed, 207 insertions(+), 152 deletions(-) diff --git a/admin/accesslog.php b/admin/accesslog.php index 63c7016c69..c6afe46a8d 100755 --- a/admin/accesslog.php +++ b/admin/accesslog.php @@ -1,100 +1,118 @@ "admin", "enable_nextmatchs_class" => True); - include("../header.inc.php"); + $phpgw_info['flags'] = array( + 'currentapp' => 'admin', + 'enable_nextmatchs_class' => True + ); + include('../header.inc.php'); - $phpgw->template->set_file(array("list" => "accesslog.tpl", - "row" => "accesslog_row.tpl")); + $phpgw->template->set_file(array( + 'list' => 'accesslog.tpl', + 'row' => 'accesslog_row.tpl' + )); - $show_maxlog = 30; + $show_maxlog = 30; - $phpgw->template->set_var("th_bg",$phpgw_info["theme"]["th_bg"]); - $phpgw->template->set_var("lang_last_x_logins",lang("Last x logins",$show_maxlog)); + $phpgw->template->set_var('th_bg',$phpgw_info['theme']['th_bg']); + $phpgw->template->set_var('lang_last_x_logins',lang('Last x logins',$show_maxlog)); - $phpgw->template->set_var("lang_loginid",lang("LoginID")); - $phpgw->template->set_var("lang_ip",lang("IP")); - $phpgw->template->set_var("lang_login",lang("Login")); - $phpgw->template->set_var("lang_logout",lang("Logout")); - $phpgw->template->set_var("lang_total",lang("Total")); + $phpgw->template->set_var('lang_loginid',lang('LoginID')); + $phpgw->template->set_var('lang_ip',lang('IP')); + $phpgw->template->set_var('lang_login',lang('Login')); + $phpgw->template->set_var('lang_logout',lang('Logout')); + $phpgw->template->set_var('lang_total',lang('Total')); - $phpgw->db->query("select loginid,ip,li,lo from phpgw_access_log order by li desc " - . "limit $show_maxlog"); - while ($phpgw->db->next_record()) { + $phpgw->db->query("select loginid,ip,li,lo from phpgw_access_log order by li desc " + . "limit $show_maxlog"); + while ($phpgw->db->next_record()) + { + $tr_color = $phpgw->nextmatchs->alternate_row_color($tr_color); + $phpgw->template->set_var('tr_color',$tr_color); - $tr_color = $phpgw->nextmatchs->alternate_row_color($tr_color); - $phpgw->template->set_var("tr_color",$tr_color); + if ($phpgw->db->f('li') && $phpgw->db->f('lo')) + { + $total = ($phpgw->db->f('lo') - $phpgw->db->f('li')); + if ($total > 86400 && $total > 172800) + { + $total = gmdate('z \d\a\y\s - G:i:s',$total); + } + else if ($total > 172800) + { + $total = gmdate('z \d\a\y - G:i:s',$total); + } + else + { + $total = gmdate('G:i:s',$total); + } + } + else + { + $total = ' '; + } - // In case there was a problem creating there session. eg, bad login time - // I still want it to be printed here. This will alert the admin there - // is a problem. - if ($phpgw->db->f("li") && $phpgw->db->f("lo")) { - $total = ($phpgw->db->f("lo") - $phpgw->db->f("li")); - if ($total > 86400 && $total > 172800) { - $total = gmdate("z \d\a\y\s - G:i:s",$total); - } else if ($total > 172800) { - $total = gmdate("z \d\a\y - G:i:s",$total); - } else { - $total = gmdate("G:i:s",$total); - } - } else { - $total = " "; - } + if ($phpgw->db->f('li')) + { + $li = $phpgw->common->show_date($phpgw->db->f('li')); + } + else + { + $li = ' '; + } + + if ($phpgw->db->f('lo') != '') + { + $lo = $phpgw->common->show_date($phpgw->db->f('lo')); + } + else + { + $lo = ' '; + } + + if (ereg('@',$phpgw->db->f('loginid'))) + { + $t = split('@',$phpgw->db->f('loginid')); + $loginid = $t[0]; + } + else + { + $loginid = $phpgw->db->f('loginid'); + } - if ($phpgw->db->f("li")) { - $li = $phpgw->common->show_date($phpgw->db->f("li")); - } else { - $li = " "; - } + $phpgw->template->set_var('row_loginid',$loginid); + $phpgw->template->set_var('row_ip',$phpgw->db->f('ip')); + $phpgw->template->set_var('row_li',$li); + $phpgw->template->set_var('row_lo',$lo); + $phpgw->template->set_var('row_total',$total); - if ($phpgw->db->f("lo") != '') { - $lo = $phpgw->common->show_date($phpgw->db->f("lo")); - } else { - $lo = " "; - } + $phpgw->template->parse('rows','row',True); + } - if (ereg("@",$phpgw->db->f("loginid"))) { - $t = split("@",$phpgw->db->f("loginid")); - $loginid = $t[0]; - } else { - $loginid = $phpgw->db->f("loginid"); - } + $phpgw->db->query("select count(*) from phpgw_access_log"); + $phpgw->db->next_record(); + $total = $phpgw->db->f(0); - $phpgw->template->set_var("row_loginid",$loginid); - $phpgw->template->set_var("row_ip",$phpgw->db->f("ip")); - $phpgw->template->set_var("row_li",$li); - $phpgw->template->set_var("row_lo",$lo); - $phpgw->template->set_var("row_total",$total); + $phpgw->db->query("select count(*) from phpgw_access_log where lo!=''"); + $phpgw->db->next_record(); + $loggedout = $phpgw->db->f(0); - $phpgw->template->parse("rows","row",True); - } + $percent = round((10000 * ($loggedout / $total)) / 100); - $phpgw->db->query("select count(*) from phpgw_access_log"); - $phpgw->db->next_record(); - $total = $phpgw->db->f(0); + $phpgw->template->set_var('bg_color',$phpgw_info['themes']['bg_color']); + $phpgw->template->set_var('footer_total',lang('Total records') . ': ' . $total); + $phpgw->template->set_var('lang_percent',lang('Percent of users that logged out') . ': ' . $percent . '%'); - $phpgw->db->query("select count(*) from phpgw_access_log where lo!=''"); - $phpgw->db->next_record(); - $loggedout = $phpgw->db->f(0); + $phpgw->template->pparse('out','list'); - $percent = round((10000 * ($loggedout / $total)) / 100); - - $phpgw->template->set_var("bg_color",$phpgw_info["themes"]["bg_color"]); - $phpgw->template->set_var("footer_total",lang("Total records") . ": $total"); - $phpgw->template->set_var("lang_percent",lang("Percent of users that logged out") . ": $percent%"); - - $phpgw->template->pparse("out","list"); - - $phpgw->common->phpgw_footer(); + $phpgw->common->phpgw_footer(); ?> \ No newline at end of file diff --git a/admin/currentusers.php b/admin/currentusers.php index 9f5c04ffc9..ee8a30f62f 100755 --- a/admin/currentusers.php +++ b/admin/currentusers.php @@ -1,87 +1,102 @@ "admin", "enable_nextmatchs_class" => True); - include("../header.inc.php"); + $phpgw_info['flags'] = array( + 'currentapp' => 'admin', + 'enable_nextmatchs_class' => True + ); + include('../header.inc.php'); - $phpgw->template->set_file(array("list" => "currentusers.tpl", - "row" => "currentusers_row.tpl")); + $phpgw->template->set_file(array( + 'list' => 'currentusers.tpl', + 'row' => 'currentusers_row.tpl' + )); - if (! $start) { - $start = 0; - } + if (! $start) + { + $start = 0; + } - $limit = $phpgw->db->limit($start); - $phpgw->db->query("select count(*) from phpgw_sessions",__LINE__,__FILE__); - $phpgw->db->next_record(); + $limit = $phpgw->db->limit($start); + $phpgw->db->query("select count(*) from phpgw_sessions where session_flags != 'A'",__LINE__,__FILE__); + $phpgw->db->next_record(); - $total = $phpgw->db->f(0); + $total = $phpgw->db->f(0); - $phpgw->template->set_var("lang_current_users",lang("List of current users")); - $phpgw->template->set_var("bg_color",$phpgw_info["theme"][bg_color]); - $phpgw->template->set_var("left_next_matchs",$phpgw->nextmatchs->left("currentusers.php",$start,$total)); - $phpgw->template->set_var("right_next_matchs",$phpgw->nextmatchs->right("currentusers.php",$start,$total)); - $phpgw->template->set_var("th_bg",$phpgw_info["theme"]["th_bg"]); + $phpgw->template->set_var('lang_current_users',lang('List of current users')); + $phpgw->template->set_var('bg_color',$phpgw_info['theme'][bg_color]); + $phpgw->template->set_var('left_next_matchs',$phpgw->nextmatchs->left('currentusers.php',$start,$total)); + $phpgw->template->set_var('right_next_matchs',$phpgw->nextmatchs->right('currentusers.php',$start,$total)); + $phpgw->template->set_var('th_bg',$phpgw_info['theme']['th_bg']); - $phpgw->template->set_var("sort_loginid",$phpgw->nextmatchs->show_sort_order($sort,"session_lid",$order, - "currentusers.php",lang("LoginID"))); - $phpgw->template->set_var("sort_ip",$phpgw->nextmatchs->show_sort_order($sort,"session_ip",$order, - "currentusers.php",lang("IP"))); - $phpgw->template->set_var("sort_login_time",$phpgw->nextmatchs->show_sort_order($sort,"session_logintime",$order, - "currentusers.php",lang("Login Time"))); - $phpgw->template->set_var("sort_action",$phpgw->nextmatchs->show_sort_order($sort,"session_action",$order, - "currentusers.php",lang("Action"))); - $phpgw->template->set_var("sort_idle",$phpgw->nextmatchs->show_sort_order($sort,"session_dla",$order, - "currentusers.php",lang("idle"))); - $phpgw->template->set_var("lang_kill",lang("Kill")); + $phpgw->template->set_var('sort_loginid',$phpgw->nextmatchs->show_sort_order($sort,'session_lid',$order, + 'currentusers.php',lang('LoginID'))); + $phpgw->template->set_var('sort_ip',$phpgw->nextmatchs->show_sort_order($sort,'session_ip',$order, + 'currentusers.php',lang('IP'))); + $phpgw->template->set_var('sort_login_time',$phpgw->nextmatchs->show_sort_order($sort,'session_logintime',$order, + 'currentusers.php',lang('Login Time'))); + $phpgw->template->set_var('sort_action',$phpgw->nextmatchs->show_sort_order($sort,'session_action',$order, + 'currentusers.php',lang('Action'))); + $phpgw->template->set_var('sort_idle',$phpgw->nextmatchs->show_sort_order($sort,'session_dla',$order, + 'currentusers.php',lang('idle'))); + $phpgw->template->set_var('lang_kill',lang('Kill')); - if ($order) { - $ordermethod = "order by $order $sort"; - } else { - $ordermethod = "order by session_dla asc"; - } + if ($order) + { + $ordermethod = "order by $order $sort"; + } + else + { + $ordermethod = 'order by session_dla asc'; + } - $phpgw->db->query("select * from phpgw_sessions $ordermethod " . $phpgw->db->limit($start),__LINE__,__FILE__); + $phpgw->db->query("select * from phpgw_sessions where session_flags != 'A' $ordermethod " . $phpgw->db->limit($start),__LINE__,__FILE__); - $i = 0; - while ($phpgw->db->next_record()) { - $tr_color = $phpgw->nextmatchs->alternate_row_color($tr_color); - $phpgw->template->set_var("tr_color",$tr_color); + $i = 0; + while ($phpgw->db->next_record()) + { + $tr_color = $phpgw->nextmatchs->alternate_row_color($tr_color); + $phpgw->template->set_var('tr_color',$tr_color); - if (ereg("@",$phpgw->db->f("session_lid"))) { - $t = split("@",$phpgw->db->f("session_lid")); - $loginid = $t[0]; - } else { - $loginid = $phpgw->db->f("session_lid"); - } + if (ereg('@',$phpgw->db->f('session_lid'))) + { + $t = split('@',$phpgw->db->f('session_lid')); + $loginid = $t[0]; + } + else + { + $loginid = $phpgw->db->f('session_lid'); + } - $phpgw->template->set_var("row_loginid",$loginid); - $phpgw->template->set_var("row_ip",$phpgw->db->f("session_ip")); - $phpgw->template->set_var("row_logintime",$phpgw->common->show_date($phpgw->db->f("session_logintime"))); - $phpgw->template->set_var("row_action",$phpgw->strip_html($phpgw->db->f("session_action"))); - $phpgw->template->set_var("row_idle",gmdate("G:i:s",(time() - $phpgw->db->f("session_dla")))); + $phpgw->template->set_var('row_loginid',$loginid); + $phpgw->template->set_var('row_ip',$phpgw->db->f('session_ip')); + $phpgw->template->set_var('row_logintime',$phpgw->common->show_date($phpgw->db->f('session_logintime'))); + $phpgw->template->set_var('row_action',$phpgw->strip_html($phpgw->db->f('session_action'))); + $phpgw->template->set_var('row_idle',gmdate('G:i:s',(time() - $phpgw->db->f('session_dla')))); - if ($phpgw->db->f("session_id") != $phpgw_info["user"]["sessionid"]) { - $phpgw->template->set_var("row_kill",'" . lang("Kill").''); - } else { - $phpgw->template->set_var("row_kill"," "); - } + if ($phpgw->db->f('session_id') != $phpgw_info['user']['sessionid']) + { + $phpgw->template->set_var('row_kill','' . lang('Kill').''); + } + else + { + $phpgw->template->set_var('row_kill',' '); + } - $phpgw->template->parse("rows","row",True); - } + $phpgw->template->parse('rows','row',True); + } - $phpgw->template->pparse("out","list"); - $phpgw->common->phpgw_footer(); -?> + $phpgw->template->pparse('out','list'); + $phpgw->common->phpgw_footer(); +?> \ No newline at end of file diff --git a/setup/sql/mysql_newtables.inc.php b/setup/sql/mysql_newtables.inc.php index 7e36aac765..f3c2fc0f7b 100644 --- a/setup/sql/mysql_newtables.inc.php +++ b/setup/sql/mysql_newtables.inc.php @@ -60,6 +60,7 @@ session_logintime int(11), session_dla int(11), session_action varchar(255), + session_flags char(2), UNIQUE sessionid (session_id) )"; $phpgw_setup->db->query($sql); diff --git a/setup/sql/mysql_upgrade_beta.inc.php b/setup/sql/mysql_upgrade_beta.inc.php index b25082ebe0..3cff5f918b 100644 --- a/setup/sql/mysql_upgrade_beta.inc.php +++ b/setup/sql/mysql_upgrade_beta.inc.php @@ -1211,6 +1211,16 @@ $phpgw_info['setup']['currentver']['phpgwapi'] = '0.9.10pre14'; } + $test[] = '0.9.10pre14'; + function upgrade0_9_10pre14() + { + global $phpgw_info, $phpgw_setup; + + $phpgw_setup->db->query("alter table phpgw_sessions add column session_flags char(2)"); + + $phpgw_info['setup']['currentver']['phpgwapi'] = '0.9.10pre15'; + } + reset ($test); while (list ($key, $value) = each ($test)){ if ($phpgw_info["setup"]["currentver"]["phpgwapi"] == $value) { diff --git a/setup/sql/pgsql_newtables.inc.php b/setup/sql/pgsql_newtables.inc.php index 307999fc24..df065cdffc 100644 --- a/setup/sql/pgsql_newtables.inc.php +++ b/setup/sql/pgsql_newtables.inc.php @@ -59,6 +59,7 @@ session_logintime int, session_dla int, session_action varchar(255), + session_flags char(2), unique(session_id) )"; $phpgw_setup->db->query($sql); diff --git a/setup/sql/pgsql_upgrade_beta.inc.php b/setup/sql/pgsql_upgrade_beta.inc.php index bcee7f0408..0f8a70d410 100644 --- a/setup/sql/pgsql_upgrade_beta.inc.php +++ b/setup/sql/pgsql_upgrade_beta.inc.php @@ -1329,6 +1329,16 @@ $phpgw_info['setup']['currentver']['phpgwapi'] = '0.9.10pre14'; } + $test[] = '0.9.10pre14'; + function upgrade0_9_10pre14() + { + global $phpgw_info, $phpgw_setup; + + $phpgw_setup->db->query("alter table phpgw_sessions add column session_flags char(2)"); + + $phpgw_info['setup']['currentver']['phpgwapi'] = '0.9.10pre15'; + } + reset ($test); while (list ($key, $value) = each ($test)){ if ($phpgw_info["setup"]["currentver"]["phpgwapi"] == $value) { diff --git a/version.inc.php b/version.inc.php index 4f4f6666a9..71dea15563 100644 --- a/version.inc.php +++ b/version.inc.php @@ -11,5 +11,5 @@ /* $Id$ */ - $phpgw_info["server"]["versions"]["phpgwapi"] = "0.9.10pre14"; + $phpgw_info["server"]["versions"]["phpgwapi"] = "0.9.10pre15"; $phpgw_info["server"]["versions"]["current_header"] = "1.11";