#!/usr/local/bin/perl # Show a list of per-function cache manager passwords require './squid-lib.pl'; $access{'cachemgr'} || &error($text{'cachemgr_ecannot'}); &ui_print_header(undef, $text{'cachemgr_title'}, "", "edit_cachemgr", 0, 0, 0, &restart_button()); # Find password directives $conf = &get_config(); @cachemgr = &find_config("cachemgr_passwd", $conf); # Show them in a table print &ui_form_start("save_cachemgr.cgi", "post"); print &ui_radio("cachemgr_def", @cachemgr ? 0 : 1, [ [ 1, $text{'cachemgr_def1'} ], [ 0, $text{'cachemgr_def0'} ] ]),"
\n"; print &ui_columns_start([ $text{'cachemgr_pass'}, $text{'cachemsg_actions'} ], 100, 0); $i = 0; foreach $c (@cachemgr, { 'values' => [ 'none' ] }) { @grid = ( ); ($p, @acts) = @{$c->{'values'}}; %acts = map { $_, 1 } @acts; foreach my $a (&list_cachemgr_actions()) { push(@grid, &ui_checkbox("action_$i", $a, $a, $acts{$a})); delete($acts{$a}); } @others = grep { $_ ne 'all' } keys %acts; $pmode = $p eq "none" ? "none" : $p eq "disable" ? "disable" : undef; print &ui_columns_row([ &ui_radio("pass_def_$i", $pmode, [ [ "none", $text{'cachemgr_none'}."
" ], [ "disable", $text{'cachemgr_disable'}."
" ], [ "", $text{'cachemgr_set'} ] ])." ". &ui_textbox("pass_$i", $pmode ? "" : $p, 15), &ui_checkbox("all_$i", 1, $text{'cachemgr_all'}, $acts{'all'}). "
\n". &ui_grid_table(\@grid, 6, 100). (@others ? "
\n".$text{'cachemgr_others'}." ". &ui_textbox("others_$i", join(" ", @others), 40) : "") ], [ "valign=top", "valign=top" ]); $i++; } print &ui_columns_end(); print &ui_form_end([ [ undef, $text{'save'} ] ]); &ui_print_footer("", $text{'index_return'});