# log_parser.pl # Functions for parsing this module's logs do 'proftpd-lib.pl'; # parse_webmin_log(user, script, action, type, object, ¶ms, long) # Converts logged information from this module into human-readable form sub parse_webmin_log { local ($user, $script, $action, $type, $object, $p, $long) = @_; local $typestr = "".$text{"type_$type"}.""; if ($action eq 'global') { return &text('log_global', $typestr); } elsif ($action eq 'ftpusers') { return $text{'log_ftpusers'}; } elsif ($action eq 'virt') { $object = $object eq '-' ? $text{'index_defserv'} : &html_escape($object); if ($type eq 'create') { return &text('log_virtc', "$object"); } elsif ($type eq 'save') { return &text('log_virts', "$object"); } elsif ($type eq 'delete') { return &text('log_virtd', "$object"); } elsif ($type eq 'manual') { return &text('log_virtm', "$object"); } else { return &text('log_virt', $typestr, "$object"); } } elsif ($action eq 'dir') { local ($virt, $dir) = split(/:/, $object); $virt = $virt ? &html_escape($virt) : $text{'index_defserv'}; $dir = &html_escape($dir); if ($type eq 'create') { return &text($long ? 'log_dirc_l' : 'log_dirc', "$dir", "$virt"); } elsif ($type eq 'save') { return &text($long ? 'log_dirs_l' : 'log_dirs', "$dir", "$virt"); } elsif ($type eq 'delete') { return &text($long ? 'log_dird_l' : 'log_dird', "$dir", "$virt"); } elsif ($type eq 'manual') { return &text($long ? 'log_dirm_l' : 'log_dirm', "$dir", "$virt"); } else { return &text($long ? 'log_dir_l' : 'log_dir', $typestr, "$dir", "$virt"); } } elsif ($action eq 'limit') { if ($type eq 'create') { return &text('log_limitc', "$object"); } elsif ($type eq 'save') { return &text('log_limits', "$object"); } elsif ($type eq 'delete') { return &text('log_limitd', "$object"); } elsif ($type eq 'manual') { return &text('log_limitm', "$object"); } else { return &text('log_limit', $typestr, "$object"); } } elsif ($action eq 'ftpaccess') { if ($type eq 'create') { return &text('log_ftpaccessc', "$object"); } elsif ($type eq 'save') { return &text('log_ftpaccesss', "$object"); } elsif ($type eq 'delete') { return &text('log_ftpaccessd', "$object"); } elsif ($type eq 'manual') { return &text('log_ftpaccessm', "$object"); } else { return &text('log_ftpaccess', $typestr, "$object"); } } elsif ($action eq 'anon') { $object = $object eq '-' ? $text{'index_defserv'} : &html_escape($object); if ($type eq 'create') { return &text('log_anonc', "$object"); } elsif ($type eq 'save') { return &text('log_anons', "$object"); } elsif ($type eq 'delete') { return &text('log_anond', "$object"); } elsif ($type eq 'manual') { return &text('log_anonm', "$object"); } else { return &text('log_anon', $typestr, "$object"); } } else { return $text{"log_$action"}; } }