webmin/squid/move_pool.cgi

27 lines
837 B
Plaintext
Raw Permalink Normal View History

2007-04-12 20:24:50 +00:00
#!/usr/local/bin/perl
# move_delay.cgi
# Move a delay_access directive up or down
2014-01-05 11:12:04 -08:00
use strict;
use warnings;
no warnings 'redefine';
no warnings 'uninitialized';
2014-01-05 11:12:04 -08:00
our (%text, %in, %access, $squid_version, %config);
2007-04-12 20:24:50 +00:00
require './squid-lib.pl';
$access{'delay'} || &error($text{'delay_ecannot'});
&lock_file($config{'squid_conf'});
2014-01-05 11:12:04 -08:00
my $conf = &get_config();
my ($pos, $move, $idx) = @ARGV;
2007-04-12 20:24:50 +00:00
2014-01-05 11:12:04 -08:00
my @delays = &find_config("delay_access", $conf);
my @access = grep { $_->{'values'}->[0] == $idx } @delays;
my $newpos = $pos + $move;
my $oldv = $access[$pos]->{'values'};
2007-04-12 20:24:50 +00:00
$access[$pos]->{'values'} = $access[$newpos]->{'values'};
$access[$newpos]->{'values'} = $oldv;
&save_directive($conf, "delay_access", \@delays);
&flush_file_lines();
&unlock_file($config{'squid_conf'});
&webmin_log("move", "delay", $idx);
&redirect("edit_pool.cgi?idx=$idx");