Viewing file: list_logins.cgi (1.43 KB) -rwxr-xr-x Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
#!/usr/bin/perl # list_logins.cgi # Display the last login locations, tty, login time and duration
require './user-lib.pl'; &ReadParse(); if (&foreign_check("mailboxes")) { &foreign_require("mailboxes"); }
# Work out who we can list for $u = $in{'username'}; if (!$access{'logins'}) { &error($text{'logins_elist'}); } elsif ($access{'logins'} ne "*") { $u || &error($text{'logins_elist'}); local @ul = split(/\s+/, $access{'logins'}); &indexof($u,@ul) >= 0 || &error(&text('logins_elistu', $u)); }
&ui_print_header(undef, $text{'logins_title'}, "", "list_logins");
# Build the table data @table = ( ); foreach $l (&list_last_logins($u, $config{'last_count'})) { $tm = defined(&mailboxes::parse_mail_date) ? &mailboxes::parse_mail_date($l->[3]) : undef; push(@table, [ $u ? ( ) : ( "<tt>".&html_escape($l->[0])."</tt>" ), &html_escape($l->[2]) || $text{'logins_local'}, &html_escape($l->[1]), &html_escape($tm ? &make_date($tm) : $l->[3]), $l->[4] ? ( &html_escape($l->[4]), &html_escape($l->[5]) ) : ( "<i>$text{'logins_still'}</i>", "" ), ]); }
# Show the table if ($u) { print &ui_subheading(&text('logins_head', &html_escape($u))); } print &ui_columns_table( [ $u ? ( ) : ( $text{'user'} ), $text{'logins_from'}, $text{'logins_tty'}, $text{'logins_in'}, $text{'logins_out'}, $text{'logins_for'} ], 100, \@table, undef, 0, undef, $text{'logins_none'}, );
&ui_print_footer("", $text{'index_return'});
|