HEX
Server: Apache/2.4.29 (Ubuntu)
System: Linux bareserver 4.15.0-213-generic #224-Ubuntu SMP Mon Jun 19 13:30:12 UTC 2023 x86_64
User: root (0)
PHP: 7.2.24-0ubuntu0.18.04.17
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,
Upload Files
File: //usr/share/webmin/acl/system_info.pl
use strict;
use warnings;
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'} ]);
	my $open = 0;
	foreach my $l (@logins) {
		my $state;
		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'};
			if ($l->[2] ne $ENV{'REMOTE_HOST'}) {
				$open++;
				$state = "<font color=orange>$state</font>";
				}
			}
		$main::theme_allow_make_date = 1;
		$html .= &ui_columns_row([ $l->[2],
					   &make_date($l->[1]),
					   $state ]);
		}
	$html .= &ui_columns_end();
	push(@rv, { 'type' => 'html',
		    'desc' => $text{'logins_title'},
		    'open' => $open,
		    'id' => $module_name.'_logins',
		    'priority' => -100,
		    'html' => $html });
	}
return @rv;
}