forked from extern/egroupware
102 lines
3.5 KiB
PHP
102 lines
3.5 KiB
PHP
|
<?php
|
||
|
|
||
|
class uiaccess_history
|
||
|
{
|
||
|
var $template;
|
||
|
var $public_functions = array(
|
||
|
'list_history' => True
|
||
|
);
|
||
|
|
||
|
function uiaccess_history()
|
||
|
{
|
||
|
global $phpgw;
|
||
|
|
||
|
$this->bo = createobject('admin.boaccess_history');
|
||
|
$this->nextmatchs = createobject('phpgwapi.nextmatchs');
|
||
|
$this->template = $phpgw->template;
|
||
|
$this->template->set_file(array(
|
||
|
'accesslog' => 'accesslog.tpl'
|
||
|
));
|
||
|
$this->template->set_block('accesslog','list');
|
||
|
$this->template->set_block('accesslog','row');
|
||
|
$this->template->set_block('accesslog','row_empty');
|
||
|
}
|
||
|
|
||
|
function list_history()
|
||
|
{
|
||
|
global $account_id, $phpgw, $phpgw_info, $start, $sort, $order;
|
||
|
|
||
|
$phpgw->common->phpgw_header();
|
||
|
echo parse_navbar();
|
||
|
|
||
|
$total_records = $this->bo->total($account_id);
|
||
|
$this->template->set_var('th_bg',$phpgw_info['theme']['th_bg']);
|
||
|
|
||
|
$this->template->set_var('nextmatchs_left',$this->nextmatchs->left('/index.php',$start,$total_records,'&menuaction=admin.uiaccess_history.list_history&account_id=' . $account_id));
|
||
|
$this->template->set_var('nextmatchs_right',$this->nextmatchs->right('/index.php',$start,$total_records,'&menuaction=admin.uiaccess_history.list_history&account_id=' . $account_id));
|
||
|
|
||
|
if ($account_id)
|
||
|
{
|
||
|
$this->template->set_var('link_return_to_view_account','<a href="' . $phpgw->link('/admin/viewaccount.php','account_id=' . $account_id) . '">' . lang('Return to view account') . '</a>');
|
||
|
$fullname = $this->bo->grab_fullname($account_id);
|
||
|
$this->template->set_var('lang_last_x_logins',lang('Last %1 logins for %2',$total_records,$fullname));
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
$this->template->set_var('lang_last_x_logins',lang('Last x logins',$total_records));
|
||
|
}
|
||
|
|
||
|
$this->template->set_var('showing',$this->nextmatchs->show_hits($total_records,$start));
|
||
|
$this->template->set_var('lang_loginid',lang('LoginID'));
|
||
|
$this->template->set_var('lang_ip',lang('IP'));
|
||
|
$this->template->set_var('lang_login',lang('Login'));
|
||
|
$this->template->set_var('lang_logout',lang('Logout'));
|
||
|
$this->template->set_var('lang_total',lang('Total'));
|
||
|
|
||
|
$records = $this->bo->list_history($account_id,$start,$order,$sort);
|
||
|
while (is_array($records) && list(,$record) = each($records))
|
||
|
{
|
||
|
$this->nextmatchs->template_alternate_row_color(&$this->template);
|
||
|
|
||
|
$this->template->set_var('row_loginid',$record['loginid']);
|
||
|
$this->template->set_var('row_ip',$record['ip']);
|
||
|
$this->template->set_var('row_li',$record['li']);
|
||
|
$this->template->set_var('row_lo',$record['lo']);
|
||
|
$this->template->set_var('row_total',$record['total']);
|
||
|
|
||
|
$this->template->fp('rows','row',True);
|
||
|
}
|
||
|
|
||
|
if (! $total_records && $account_id)
|
||
|
{
|
||
|
$this->nextmatchs->template_alternate_row_color(&$this->template);
|
||
|
$this->template->set_var('row_message',lang('No login history exists for this user'));
|
||
|
$this->template->fp('rows','row_empty',True);
|
||
|
}
|
||
|
|
||
|
$loggedout = $this->bo->return_logged_out($account_id);
|
||
|
|
||
|
if ($total_records)
|
||
|
{
|
||
|
$percent = round((10000 * ($loggedout / $total_records)) / 100);
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
$percent = '0';
|
||
|
}
|
||
|
|
||
|
$this->template->set_var('bg_color',$phpgw_info['themes']['bg_color']);
|
||
|
$this->template->set_var('footer_total',lang('Total records') . ': ' . $total_records);
|
||
|
if ($account_id)
|
||
|
{
|
||
|
$this->template->set_var('lang_percent',lang('Percent this user has logged out') . ': ' . $percent . '%');
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
$this->template->set_var('lang_percent',lang('Percent of users that logged out') . ': ' . $percent . '%');
|
||
|
}
|
||
|
|
||
|
$this->template->pfp('out','list');
|
||
|
}
|
||
|
}
|