HEX
Server: Apache
System: Linux vps-cdc32557.vps.ovh.ca 5.15.0-156-generic #166-Ubuntu SMP Sat Aug 9 00:02:46 UTC 2025 x86_64
User: hanode (1017)
PHP: 7.4.33
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,pcntl_unshare,
Upload Files
File: //usr/share/webmin/acl/log_parser.pl
# log_parser.pl
# Functions for parsing this module's logs

use strict;
use warnings;
no warnings 'redefine';
no warnings 'uninitialized';
do 'acl-lib.pl';
our (%text);

# parse_webmin_log(user, script, action, type, object, &params)
# Converts logged information from this module into human-readable form
sub parse_webmin_log
{
my ($user, $script, $action, $type, $object, $p) = @_;
my $g = $type eq 'group' ? "_g" : "";
if ($action eq 'modify') {
	if ($p->{'old'} ne $p->{'name'}) {
		return &text('log_rename'.$g, "<tt>$p->{'old'}</tt>",
					      "<tt>$p->{'name'}</tt>");
		}
	else {
		return &text('log_modify'.$g,
			     "<tt>".&html_escape($object)."</tt>");
		}
	}
elsif ($action eq 'create') {
	if ($p->{'clone'}) {
		return &text('log_clone'.$g, "<tt>$p->{'clone'}</tt>",
			     "<tt>".&html_escape($object)."</tt>");
		}
	else {
		return &text('log_create'.$g,
			     "<tt>".&html_escape($object)."</tt>");
		}
	}
elsif ($action eq 'delete') {
	if ($type eq "users" || $type eq "groups") {
		return &text('log_delete_'.$type, $object);
		}
	else {
		return &text('log_delete'.$g, "<tt>$object</tt>");
		}
	}
elsif ($action eq 'joingroup') {
	return &text('log_joingroup', $object, $p->{'group'});
	}
elsif ($action eq 'acl') {
	return &text('log_acl', "<tt>$object</tt>",
		     "<i>".&html_escape($p->{'moddesc'})."</i>");
	}
elsif ($action eq 'reset') {
	return &text('log_reset', "<tt>$object</tt>",
		     "<i>".&html_escape($p->{'moddesc'})."</i>");
	}
elsif ($action eq 'cert') {
	return &text('log_cert', "<tt>".&html_escape($object)."</tt>");
	}
elsif ($action eq 'switch') {
	return &text('log_switch', "<tt>".&html_escape($object)."</tt>");
	}
elsif ($action eq 'twofactor') {
	return &text('log_twofactor', $object, $p->{'provider'}, $p->{'id'});
	}
elsif ($action eq 'forgot') {
	return &text('log_forgot_'.$type, &html_escape($p->{'user'}),
					  &html_escape($p->{'email'}));
	}
else {
	return $text{'log_'.$action};
	}
}