template->set_file(array( "header" => "accesslog.tpl", "row" => "accesslog.tpl", "footer" => "accesslog.tpl" )); $phpgw->template->set_block("header","row","footer"); $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("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->parse("out","header"); $phpgw->db->query("select loginid,ip,li,lo from 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); // 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 = " "; } $phpgw->template->set_var("row_loginid",$phpgw->db->f("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->num_rows() == 1) { $phpgw->template->set_var("output",""); } if ($phpgw->db->num_rows() != ++$i) { $phpgw->template->parse("output","row",True); } } $phpgw->db->query("select count(*) from access_log"); $phpgw->db->next_record(); $total = $phpgw->db->f(0); $phpgw->db->query("select count(*) from access_log where lo!=''"); $phpgw->db->next_record(); $loggedout = $phpgw->db->f(0); $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","footer"); $phpgw->common->phpgw_footer();