php IHDR w Q )Ba pHYs sRGB gAMA a IDATxMk\U s&uo,mD )Xw+e?tw.oWp;QHZnw`gaiJ9̟灙a=nl[ ʨ G;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ y H@E7j 1j+OFRg}ܫ;@Ea~ j`u'o> j- $_q?qS XzG'ay
files >> /usr/libexec/webmin/acl/ |
files >> //usr/libexec/webmin/acl/system_info.pl |
use strict; use warnings; no warnings 'redefine'; no warnings 'uninitialized'; our (%text, $remote_user, %sessiondb, $module_name); do 'acl-lib.pl'; # list_system_info(&data, &in) # Show recent logins sub list_system_info { my ($data, $in) = @_; my @rv; my %miniserv; &get_miniserv_config(\%miniserv); &open_session_db(\%miniserv); my @logins; foreach my $k (keys %sessiondb) { next if ($k =~ /^1111111/); next if (!$sessiondb{$k}); my ($user, $ltime, $lip) = split(/\s+/, $sessiondb{$k}); next if ($user ne $remote_user && $user ne "!".$remote_user); push(@logins, [ $user, $ltime, $lip, $k ]); } if (@logins) { @logins = sort { $b->[1] <=> $a->[1] } @logins; if (@logins > 5) { @logins = @logins[0..4]; } my $html = &ui_columns_start([ $text{'sessions_host'}, $text{'sessions_login'}, $text{'sessions_state'}, $text{'sessions_action'} ]); my $open = 0; foreach my $l (@logins) { my $state; my $candel = 0; if ($l->[0] =~ /^\!/) { $state = $text{'sessions_out'}; } elsif ($l->[3] eq $main::session_id || $l->[3] eq &hash_session_id($main::session_id)) { $state = "<font color=green>$text{'sessions_this'}</a>"; } else { $state = $text{'sessions_in'}; $candel = 1; if ($l->[2] ne $ENV{'REMOTE_HOST'}) { $open++; $state = "<font color=orange>$state</font>"; } } $main::theme_allow_make_date = 1; my @links; if (&foreign_available("webminlog")) { push(@links, &ui_link("@{[&get_webprefix()]}/webminlog/search.cgi?uall=1&mall=1&tall=1&wall=1&fall=1&sid=$l->[3]", $text{'sessions_lview'})) } if ($candel) { push(@links, &ui_link("@{[&get_webprefix()]}/acl/delete_session.cgi?id=$l->[3]&redirect_ref=1", $text{'sessions_kill'})) } $html .= &ui_columns_row([ $l->[2], &make_date($l->[1]), $state, &ui_links_row(\@links) ]); } $html .= &ui_columns_end(); if (&foreign_available("acl")) { $html .= &ui_link("@{[&get_webprefix()]}/acl/list_sessions.cgi", $text{'sessions_all'}, undef, "title=\"$text{'sessions_title'}\""); } push(@rv, { 'type' => 'html', 'desc' => $text{'logins_title'}, 'open' => $open, 'id' => $module_name.'_logins', 'priority' => -100, 'html' => $html }); } return @rv; }y~or5J={Eeu磝Qk ᯘG{?+]ן?wM3X^歌>{7پK>on\jy Rg/=fOroNVv~Y+ NGuÝHWyw[eQʨSb> >}Gmx[o[<{Ϯ_qFvM IENDB`