mirror of
https://github.com/webmin/webmin.git
synced 2025-07-23 00:30:33 +00:00
67 lines
1.7 KiB
Perl
Executable File
67 lines
1.7 KiB
Perl
Executable File
# log_parser.pl
|
|
# Functions for parsing this module's logs
|
|
|
|
do 'sendmail-lib.pl';
|
|
|
|
# parse_webmin_log(user, script, action, type, object, ¶ms)
|
|
# Converts logged information from this module into human-readable form
|
|
sub parse_webmin_log
|
|
{
|
|
local ($user, $script, $action, $type, $object, $p, $long) = @_;
|
|
if ($type eq 'alias' || $type eq 'virtuser' || $type eq 'mailer' ||
|
|
$type eq 'generic' || $type eq 'domain' || $type eq 'access') {
|
|
return &text("log_${type}_${action}",
|
|
"<tt>".&html_escape($object)."</tt>");
|
|
}
|
|
elsif ($type eq 'aliases' || $type eq 'virtusers' || $type eq 'mailers' ||
|
|
$type eq 'generics' || $type eq 'domains' || $type eq 'accesses') {
|
|
return &text("log_${action}_${type}", $object);
|
|
}
|
|
elsif ($type eq 'feature') {
|
|
return &text("log_feature_${action}",
|
|
"<tt>".&html_escape($p->{'text'})."</tt>");
|
|
}
|
|
elsif ($action eq 'delmailq') {
|
|
if ($p->{'from'}) {
|
|
return &text("log_delmailq",
|
|
&html_escape(&extract_email($p->{'from'})));
|
|
}
|
|
else {
|
|
return &text("log_delmailqs", $p->{'count'});
|
|
}
|
|
}
|
|
elsif ($action eq 'delmail') {
|
|
local @d = split(/\0/, $p->{'d'});
|
|
return &text("log_delmail", scalar(@d), "<tt>$p->{'user'}</tt>");
|
|
}
|
|
elsif ($action eq 'movemail') {
|
|
local @d = split(/\0/, $p->{'d'});
|
|
local $to = $p->{'move1'} ? $p->{'moveto1'} : $p->{'moveto2'};
|
|
return &text("log_movemail", scalar(@d), "<tt>$p->{'user'}</tt>",
|
|
"<tt>$to</tt>");
|
|
}
|
|
elsif ($action eq 'send') {
|
|
return &text('log_send', &html_escape(&extract_email($p->{'to'})));
|
|
}
|
|
elsif ($text{"log_$action"}) {
|
|
return $text{"log_$action"};
|
|
}
|
|
else {
|
|
return undef;
|
|
}
|
|
}
|
|
|
|
sub extract_email
|
|
{
|
|
if ($_[0] =~ /([^<>"' \(\)]+\@[^<>"' \(\)]+)/) {
|
|
return $1;
|
|
}
|
|
elsif ($_[0] =~ /<(\S+)>/) {
|
|
return $1;
|
|
}
|
|
else {
|
|
return $_[0];
|
|
}
|
|
}
|
|
|