# log_parser.pl # Functions for parsing this module's logs do 'bind8-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'}"}, "".&arpa_to_ip($p->{'name'})."", "".&arpa_to_ip($object).""); } else { $p->{'name'} =~ s/\.$object\.*$//; if (($action eq "modify" || $action eq "create") && $p->{'newvalues'}) { return &text("log_${action}_record_v", $text{"type_$p->{'type'}"}, "".&html_escape($p->{'name'})."", "".&html_escape($object)."", "".&html_escape($p->{'newvalues'}).""); } else { return &text("log_${action}_record", $text{"type_$p->{'type'}"}, "".&html_escape($p->{'name'})."", "".&html_escape($object).""); } } } elsif ($type eq 'recs') { return &text("log_${action}_recs", $object); } elsif ($type eq 'zones') { return &text("log_${action}_zones", $object); } elsif ($type eq "host" || $type eq "group") { return &text("log_${action}_${type}", "$object"); } elsif ($action eq 'create') { return &text("log_${type}", "$object"); } elsif ($action eq 'delete') { return &text("log_delete_${type}", "$object"); } elsif ($action eq 'text') { return &text("log_text", "$object"); } elsif ($action eq 'soa') { return &text("log_soa", "$object"); } elsif ($action eq 'zonekeyon' || $action eq 'zonekeyoff' || $action eq 'sign' || $action eq 'resign') { return &text("log_".$action, "$object"); } elsif ($action eq 'opts') { return &text("log_opts", "$object"); } elsif ($action eq 'view') { return &text("log_review", "$object"); } elsif ($action eq 'move') { return &text("log_move", "$object"); } elsif ($action eq 'apply' && $type && $type ne '-') { return &text("log_apply2", "$type"); } elsif ($action eq 'freeze' || $action eq 'thaw') { return &text("log_".$action, "$type"); } elsif ($action eq 'mass') { return &text("log_mass", $object); } elsif ($action eq 'manual') { return &text("log_manual", "$object"); } elsif ($text{"log_${action}"}) { return $text{"log_${action}"}; } else { return undef; } }