forked from webmin/webmin
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathlog_parser.pl
45 lines (42 loc) · 1.16 KB
/
log_parser.pl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# log_parser.pl
# Functions for parsing this module's logs
do 'dns-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) = @_;
if ($type eq 'record') {
if ($p->{'type'} eq 'PTR') {
return &text("log_${action}_record",$text{"type_$p->{'type'}"},
"<tt>".&arpa_to_ip($p->{'name'})."</tt>",
"<tt>".&arpa_to_ip($object)."</tt>");
}
else {
$p->{'name'} =~ s/\.$object\.*$//;
return &text("log_${action}_record", $text{"type_$p->{'type'}"},
"<tt>$p->{'name'}</tt>", "<tt>$object</tt>");
}
}
elsif ($action eq 'create') {
return &text("log_${type}", "<tt>$object</tt>");
}
elsif ($action eq 'delete') {
return &text("log_delete_${type}", "<tt>$object</tt>");
}
elsif ($action eq 'text') {
return &text("log_text", "<tt>$object</tt>");
}
elsif ($action eq 'soa') {
return &text("log_soa", "<tt>$object</tt>");
}
elsif ($action eq 'opts') {
return &text("log_opts", "<tt>$object</tt>");
}
elsif ($text{"log_${action}"}) {
return $text{"log_${action}"};
}
else {
return undef;
}
}