#!/usr/local/bin/perl # edit_ports.cgi # A form for editing ports and other networking options require './squid-lib.pl'; $access{'portsnets'} || &error($text{'eports_ecannot'}); &ui_print_header(undef, $text{'eports_header'}, "", "edit_ports", 0, 0, 0, &restart_button()); $conf = &get_config(); print "
\n"; &ui_print_footer("", $text{'eports_return'}); # ports_table(name) sub ports_table { local ($p, $i, @ports, @opts); foreach $p (&find_config($_[0], $conf)) { foreach $v (@{$p->{'values'}}) { if ($v =~ /^(\S+):\d+$/ || $v =~ /^\d+$/) { push(@ports, $v); } else { push(@{$opts[$#ports]}, $v); } } } printf " %s\n", @ports ? "" : "checked", $text{'eports_def'}; printf " %s$text{'eports_p'} | \n", "$text{'eports_hia'} | ", ($squid_version >= 2.5 ? "$text{'eports_opts'} | " : ""),"
\n", $p =~ /(\d+)$/ ? $1 : ''; printf " All\n", $p =~ /:/ ? '' : 'checked'; printf "\n", $p =~ /:/ ? 'checked' : ''; printf " | \n", $p =~ /^\[(\S+)\]:/ || $p =~ /^(\S+):/ ? $1 : ''; if ($squid_version >= 2.5) { # Show port options printf "\n", join(" ", @{$opts[$i]}); } print " |