#!/usr/local/bin/perl # list_sessions.cgi # Display current login sessions require './acl-lib.pl'; $access{'sessions'} || &error($text{'sessions_ecannot'}); &ui_print_header(undef, $text{'sessions_title'}, ""); &get_miniserv_config(\%miniserv); &open_session_db(\%miniserv); $time_now = time(); foreach $u (&list_users()) { $hasuser{$u->{'name'}}++; } $haslog = &foreign_available("webminlog"); print "$text{'sessions_desc'}

\n"; print "\n"; print " ", " ", " ", $haslog ? " " : "", "\n"; foreach $k (sort { @a=split(/\s+/, $sessiondb{$a}); @b=split(/\s+/, $sessiondb{$b}); $b[1] <=> $a[1] } keys %sessiondb) { next if ($k =~ /^1111111/); local ($user, $ltime, $lip) = split(/\s+/, $sessiondb{$k}); next if ($miniserv{'logouttime'} && $time_now - $ltime > $miniserv{'logouttime'}*60); print "\n"; print "\n"; if ($hasuser{$user}) { print "\n"; } elsif ($miniserv{'unixauth'}) { print "\n"; } else { print "\n"; } print "\n"; local $tm = localtime($ltime); print "\n"; if ($haslog) { print "\n"; } print "\n"; } print "
$text{'sessions_id'}$text{'sessions_user'}$text{'sessions_host'}$text{'sessions_login'}
$k$user$user ($miniserv{'unixauth'})$user",($lip || "
"),"
$tm$text{'sessions_lview'}

\n"; &ui_print_footer("", $text{'index_return'});