#!/usr/local/bin/perl # index.cgi # Show all logs that are being rotated require './logrotate-lib.pl'; # Make sure config file and program exists if (!&has_command($config{'logrotate'})) { &ui_print_header(undef, $text{'index_title'}, "", "intro", 1, 1); print &ui_config_link('index_ecmd', [ "$config{'logrotate'}", undef ]),"

\n"; &foreign_require("software", "software-lib.pl"); $lnk = &software::missing_install_link( "logrotate", $text{'index_logrotate'}, "../$module_name/", $text{'index_title'}); print $lnk,"

\n" if ($lnk); &ui_print_footer("/", $text{'index'}); exit; } if (!-r $config{'logrotate_conf'}) { &ui_print_header(undef, $text{'index_title'}, "", "intro", 1, 1); &ui_print_endpage( &ui_config_link('index_econf', [ "$config{'logrotate_conf'}", undef ])); } # Get the version $logrotate_version = &get_logrotate_version(\$out); if (!$logrotate_version) { &ui_print_header(undef, $text{'index_title'}, "", "intro", 1, 1); &ui_print_endpage( &text('index_eversion', "$config{'logrotate'} -v", "

$out
")); } &open_tempfile(VERSION, ">$module_config_directory/version"); &print_tempfile(VERSION, "$logrotate_version\n"); &close_tempfile(VERSION); &ui_print_header(undef, $text{'index_title'}, "", "intro", 1, 1, 0, &help_search_link("logrotate", "man", "doc", "google"), undef, undef, &text('index_version', $logrotate_version)); # Show table of log files $conf = &get_config(); $defp = &get_period($conf); foreach $c ($config{'sort_mode'} ? (sort { $a->{'name'}->[0] cmp $b->{'name'}->[0] } @$conf) : @$conf) { if ($c->{'members'}) { local $p = &get_period($c->{'members'}) || $defp; local $r = &find_value("postrotate", $c->{'members'}); $r =~ s/\n/
\n/g; push(@table, [ "". join(" ", map { "$_
" } @{$c->{'name'}})."
", $text{'period_'.$p} || "$text{'index_notset'}", $r ? "$r" : "$text{'index_nocmd'}" ]); push(@tablelogs, $c); } } if (@table) { print &ui_form_start("delete_logs.cgi", "post"); @links = ( &select_all_link("d"), &select_invert_link("d"), "$text{'index_add'}" ); print &ui_links_row(\@links); @tds = ( "width=5", "nowrap valign=top", "valign=top", "valign=top" ); print &ui_columns_start([ "", $text{'index_file'}, $text{'index_period'}, $text{'index_post'} ], 100, 0, \@tds); $i = 0; foreach $r (@table) { print &ui_checked_columns_row($r, \@tds, "d", $tablelogs[$i]->{'index'}); $i++; } print &ui_columns_end(); print &ui_links_row(\@links); print &ui_form_end([ [ "delete", $text{'index_delete'} ] ]); } else { print "

$text{'index_none'}

\n"; print "$text{'index_add'}

\n"; } # Show buttons for editing global config and scheduling print &ui_hr(); print &ui_buttons_start(); print &ui_buttons_row("edit_log.cgi", $text{'index_global'}, $text{'index_globaldesc'}, &ui_hidden("global", 1)); print &ui_buttons_row("edit_sched.cgi", $text{'index_sched'}, $text{'index_scheddesc'}); print &ui_buttons_row("force.cgi", $text{'index_force'}, $text{'index_forcedesc'}); print &ui_buttons_end(); &ui_print_footer("/", $text{'index'});