Revision: 6305
http://ipcop.svn.sourceforge.net/ipcop/?rev=6305&view=rev
Author: dotzball
Date: 2012-02-02 16:53:57 +0000 (Thu, 02 Feb 2012)
Log Message:
-----------
Fix Perl warnings.
More to come after 2.0.3 release.
Modified Paths:
--------------
ipcop/trunk/html/cgi-bin/urlfilter.cgi
Modified: ipcop/trunk/html/cgi-bin/urlfilter.cgi
===================================================================
--- ipcop/trunk/html/cgi-bin/urlfilter.cgi 2012-02-02 07:35:26 UTC (rev
6304)
+++ ipcop/trunk/html/cgi-bin/urlfilter.cgi 2012-02-02 16:53:57 UTC (rev
6305)
@@ -84,7 +84,6 @@
my @repositorylist = ();
my @repositoryfiles = ();
my @categories = ();
-my @selectedcategories = ();
my @filtergroups = ();
my @tclist = ();
my @uqlist = ();
@@ -151,12 +150,23 @@
$filtersettings{'ENABLE_USERNAME_LOG'} = 'off';
$filtersettings{'ENABLE_CATEGORY_LOG'} = 'off';
$filtersettings{'ENABLE_AUTOUPDATE'} = 'off';
-$filtersettings{'CHECKUPDATES'} = 'off';
+$filtersettings{'CHECKUPDATES'} = 'off';
+$filtersettings{'ENABLE_FULLBACKUP'} = 'off';
+&resetTcSettings();
+
$filtersettings{'ACTION'} = '';
$filtersettings{'VALID'} = '';
$filtersettings{'MODE'} = '';
+&resetUqSettings();
+
+$besettings{'BE_NAME'} = '';
+$besettings{'BE_BLACKLIST'} = '';
+$besettings{'NORESTART'} = 'off';
+$besettings{'ACTION'} = '';
+$besettings{'MODE'} = '';
+
&General::getcgihash(\%filtersettings);
&General::getcgihash(\%tcsettings);
&General::getcgihash(\%uqsettings);
@@ -384,7 +394,9 @@
}
}
-if ($tcsettings{'ACTION'} eq $Lang::tr{'urlfilter set time constraints'}) {
$tcsettings{'TCMODE'} = 'on' }
+if ($tcsettings{'ACTION'} eq $Lang::tr{'urlfilter set time constraints'}) {
+ $tcsettings{'TCMODE'} = 'on'
+}
if (($tcsettings{'MODE'} eq 'TIMECONSTRAINT') && ($tcsettings{'ACTION'} eq
$Lang::tr{'add'})) {
$tcsettings{'TCMODE'} = 'on';
@@ -431,9 +443,15 @@
}
$tcsettings{'SRC'} =~ s/\s+$//;
- if ($tcsettings{'DST'} =~ /^any/) { $tcsettings{'DST'} = 'any'; }
- if ($tcsettings{'ENABLERULE'} eq 'on') { $tcsettings{'ACTIVE'} =
$tcsettings{'ENABLERULE'}; }
- else { $tcsettings{'ACTIVE'} =
'off' }
+ if ($tcsettings{'DST'} =~ /^any/) {
+ $tcsettings{'DST'} = 'any';
+ }
+ if (defined($tcsettings{'ENABLERULE'}) && $tcsettings{'ENABLERULE'} eq
'on') {
+ $tcsettings{'ACTIVE'} = $tcsettings{'ENABLERULE'};
+ }
+ else {
+ $tcsettings{'ACTIVE'} = 'off'
+ }
$tcsettings{'ENABLERULE'} = 'on';
if ($tcsettings{'EDITING'} eq 'no') {
@@ -452,14 +470,19 @@
print FILE
"$tcsettings{'DEFINITION'},$tcsettings{'MON'},$tcsettings{'TUE'},$tcsettings{'WED'},$tcsettings{'THU'},$tcsettings{'FRI'},$tcsettings{'SAT'},$tcsettings{'SUN'},$tcsettings{'FROM_HOUR'},$tcsettings{'FROM_MINUTE'},$tcsettings{'TO_HOUR'},$tcsettings{'TO_MINUTE'},$tcsettings{'SRC'},$tcsettings{'DST'},$tcsettings{'ACCESS'},$tcsettings{'ACTIVE'},$tcsettings{'COMMENT'}\n";
}
- else { print FILE "$line"; }
+ else {
+ print FILE "$line";
+ }
}
}
close(FILE);
+
undef %tcsettings;
+ &resetTcSettings();
+
$tcsettings{'CHANGED'} = 'yes';
$tcsettings{'TCMODE'} = 'on';
- $changed = 'yes';
+ $changed = 'yes';
}
else {
if ($tcsettings{'EDITING'} ne 'no') {
@@ -479,6 +502,9 @@
if ($tcsettings{'ID'} eq $id) {
chomp($line);
@temp = split(/\,/, $line);
+
+ $temp[16] = '' unless(defined($temp[16]));
+
$tcsettings{'DEFINITION'} = $temp[0];
$tcsettings{'MON'} = $temp[1];
$tcsettings{'TUE'} = $temp[2];
@@ -515,14 +541,16 @@
}
if (($tcsettings{'MODE'} eq 'TIMECONSTRAINT') && ($tcsettings{'ACTION'} eq
$Lang::tr{'urlfilter restart'})) {
- if (!($proxysettings{'ENABLE_FILTER'} eq 'on')) {
+ if ($proxysettings{'ENABLE_REDIRECTOR'} ne 'on') {
$errormessage = $Lang::tr{'redirectors are disabled'};
}
if ((!($proxysettings{'ENABLED_GREEN_1'} eq 'on')) &&
(!($proxysettings{'ENABLED_BLUE_1'} eq 'on')) &&
(!($proxysettings{'ENABLED_OVPN'} eq 'on'))) {
$errormessage = $Lang::tr{'urlfilter web proxy service required'};
}
- if (!$errormessage) { system('/usr/local/bin/restartsquid'); }
+ if (!$errormessage) {
+ system('/usr/local/bin/restartsquid');
+ }
$tcsettings{'TCMODE'} = 'on';
}
@@ -554,6 +582,9 @@
if ($tcsettings{'ID'} eq $id) {
chomp($line);
@temp = split(/\,/, $line);
+
+ $temp[16] = '' unless(defined($temp[16]));
+
$tcsettings{'DEFINITION'} = $temp[0];
$tcsettings{'MON'} = $temp[1];
$tcsettings{'TUE'} = $temp[2];
@@ -581,7 +612,6 @@
&& (!($tcsettings{'ACTION'} eq $Lang::tr{'edit'})))
{
$tcsettings{'ENABLERULE'} = 'on';
- $tcsettings{'TO_HOUR'} = '24';
}
if ($uqsettings{'ACTION'} eq $Lang::tr{'urlfilter set user quota'}) {
$uqsettings{'UQMODE'} = 'on' }
@@ -640,7 +670,10 @@
}
}
close(FILE);
+
undef %uqsettings;
+ &resetUqSettings();
+
$uqsettings{'CHANGED'} = 'yes';
$uqsettings{'MODE'} = 'USERQUOTA';
$uqsettings{'UQMODE'} = 'on';
@@ -709,7 +742,7 @@
}
if (($uqsettings{'MODE'} eq 'USERQUOTA') && ($uqsettings{'ACTION'} eq
$Lang::tr{'urlfilter restart'})) {
- if (!($proxysettings{'ENABLE_FILTER'} eq 'on')) {
+ if (!($proxysettings{'ENABLE_REDIRECTOR'} eq 'on')) {
$errormessage = $Lang::tr{'redirectors are disabled'};
}
if ((!($proxysettings{'ENABLED_GREEN_1'} eq 'on')) &&
(!($proxysettings{'ENABLED_BLUE_1'} eq 'on')) &&
(!($proxysettings{'ENABLED_OVPN'} eq 'on'))) {
@@ -724,23 +757,25 @@
if ($besettings{'MODE'} eq 'BLACKLIST_EDITOR') {
@temp = split(/\n/, $besettings{'BE_DOMAINS'});
- undef $besettings{'BE_DOMAINS'};
+ $besettings{'BE_DOMAINS'} = '';
foreach (@temp) {
s/^\s+//g;
s/\s+$//g;
if ($_) { $besettings{'BE_DOMAINS'} .= $_ . "\n"; }
}
chomp($besettings{'BE_DOMAINS'});
+
@temp = split(/\n/, $besettings{'BE_URLS'});
- undef $besettings{'BE_URLS'};
+ $besettings{'BE_URLS'} = '';
foreach (@temp) {
s/^\s+//g;
s/\s+$//g;
if ($_) { $besettings{'BE_URLS'} .= $_ . "\n"; }
}
chomp($besettings{'BE_URLS'});
+
@temp = split(/\n/, $besettings{'BE_EXPRESSIONS'});
- undef $besettings{'BE_EXPRESSIONS'};
+ $besettings{'BE_EXPRESSIONS'} = '';
foreach (@temp) {
s/^\s+//g;
s/\s+$//g;
@@ -964,8 +999,10 @@
print FILE "}\n";
close FILE;
- system("rm -f $dbdir/$besettings{'BE_NAME'}/*.db");
- system("/usr/sbin/squidGuard -c $editdir/install.conf -C all");
+ if(-e "$dbdir/$besettings{'BE_NAME'}") {
+ system("rm -f $dbdir/$besettings{'BE_NAME'}/*.db");
+ }
+ system("/usr/bin/squidGuard -c $editdir/install.conf -C all");
system("chmod a+w $dbdir/$besettings{'BE_NAME'}/*.db");
&readblockcategories;
@@ -1084,28 +1121,19 @@
$checked{'ENABLE_CATEGORY_LOG'}{'on'}
= '';
$checked{'ENABLE_CATEGORY_LOG'}{$filtersettings{'ENABLE_CATEGORY_LOG'}}
= "checked='checked'";
-foreach $category (@filtergroups) {
- $checked{$category}{'off'} = '';
- $checked{$category}{'on'} = '';
- $checked{$category}{$filtersettings{$category}} = "checked='checked'";
-}
-$selected{'DEFINITION'}{$tcsettings{'DEFINITION'}} = "selected='selected'";
-$selected{'FROM_HOUR'}{$tcsettings{'FROM_HOUR'}} = "selected='selected'";
-$selected{'FROM_MINUTE'}{$tcsettings{'FROM_MINUTE'}} = "selected='selected'";
-$selected{'TO_HOUR'}{$tcsettings{'TO_HOUR'}} = "selected='selected'";
-$selected{'TO_MINUTE'}{$tcsettings{'TO_MINUTE'}} = "selected='selected'";
-
-@selectedcategories = split(/\|/, $tcsettings{'DST'});
-foreach (@selectedcategories) {
- $selected{'DST'}{$_} = "selected='selected'";
-}
-
+$selected{'ACCESS'}{'block'} = '';
+$selected{'ACCESS'}{'allow'} = '';
$selected{'ACCESS'}{$tcsettings{'ACCESS'}} = "selected='selected'";
$checked{'ENABLERULE'}{'off'} = '';
$checked{'ENABLERULE'}{'on'} = '';
-$checked{'ENABLERULE'}{$tcsettings{'ENABLERULE'}} = "checked='checked'";
+if(defined($tcsettings{'ENABLERULE'})) {
+ $checked{'ENABLERULE'}{$tcsettings{'ENABLERULE'}} = "checked='checked'";
+}
+else {
+ $checked{'ENABLERULE'}{'off'} = "checked='checked'";
+}
$checked{'MON'}{'off'} = '';
$checked{'MON'}{'on'} = '';
$checked{'MON'}{$tcsettings{'MON'}} = "checked='checked'";
@@ -1128,15 +1156,11 @@
$checked{'SUN'}{'on'} = '';
$checked{'SUN'}{$tcsettings{'SUN'}} = "checked='checked'";
-$selected{'SPORADIC'}{$uqsettings{'SPORADIC'}} = "selected='selected'";
-$selected{'RENEWAL'}{$uqsettings{'RENEWAL'}} = "selected='selected'";
$checked{'ENABLEQUOTA'}{'off'} = '';
$checked{'ENABLEQUOTA'}{'on'} = '';
$checked{'ENABLEQUOTA'}{$uqsettings{'ENABLEQUOTA'}} = "checked='checked'";
-$selected{'BE_BLACKLIST'}{$besettings{'BE_BLACKLIST'}} = "selected='selected'";
-
&Header::showhttpheaders();
&Header::openpage($Lang::tr{'urlfilter configuration'}, 1, '');
@@ -1158,8 +1182,12 @@
}
print "</class>\n";
print "<p><input type='submit' name='ACTION' value='$Lang::tr{'urlfilter
restart'}' />";
- if ($tcsettings{'MODE'} eq 'TIMECONSTRAINT') { print "<input type='hidden'
name='MODE' value='TIMECONSTRAINT' />"; }
- if ($uqsettings{'MODE'} eq 'USERQUOTA') { print "<input type='hidden'
name='MODE' value='USERQUOTA' />"; }
+ if ($tcsettings{'MODE'} eq 'TIMECONSTRAINT') {
+ print "<input type='hidden' name='MODE' value='TIMECONSTRAINT' />";
+ }
+ if ($uqsettings{'MODE'} eq 'USERQUOTA') {
+ print "<input type='hidden' name='MODE' value='USERQUOTA' />";
+ }
&Header::closebox();
print "</form>\n";
}
@@ -1226,13 +1254,22 @@
for ($n = 0; $n <= @categories; $n = $n + $i) {
for ($i = 0; $i <= 3; $i++) {
- if ($i eq 0) { print "<tr>\n"; }
+ if ($i eq 0) {
+ print "<tr>\n";
+ }
if (($n + $i) < @categories) {
- print "<td width='15%'>$categories[$n+$i]:<\/td>\n";
- print
-"<td width='10%'><input type='checkbox' name=$filtergroups[$n+$i]
$checked{$filtergroups[$n+$i]}{'on'} /></td>\n";
+ my $name = $categories[$n+$i];
+ my $category = $filtergroups[$n+$i];
+ my $checked = '';
+ if(defined($filtersettings{$category}) &&
$filtersettings{$category} eq 'on') {
+ $checked = "checked='checked'";
+ }
+ print "<td width='15%'>$name:<\/td>\n";
+ print "<td width='10%'><input type='checkbox'
name='$category' $checked /></td>\n";
}
- if ($i eq 3) { print "<\/tr>\n"; }
+ if ($i eq 3) {
+ print "<\/tr>\n";
+ }
}
}
@@ -1255,7 +1292,9 @@
END
;
- print $filtersettings{'CUSTOM_BLACK_DOMAINS'};
+ if(defined($filtersettings{'CUSTOM_BLACK_DOMAINS'})) {
+ print $filtersettings{'CUSTOM_BLACK_DOMAINS'};
+ }
print <<END
</textarea></td>
@@ -1263,7 +1302,9 @@
END
;
- print $filtersettings{'CUSTOM_BLACK_URLS'};
+ if(defined($filtersettings{'CUSTOM_BLACK_URLS'})) {
+ print $filtersettings{'CUSTOM_BLACK_URLS'};
+ }
print <<END
</textarea></td>
@@ -1294,7 +1335,9 @@
END
;
- print $filtersettings{'CUSTOM_WHITE_DOMAINS'};
+ if(defined($filtersettings{'CUSTOM_WHITE_DOMAINS'})) {
+ print $filtersettings{'CUSTOM_WHITE_DOMAINS'};
+ }
print <<END
</textarea></td>
@@ -1302,7 +1345,9 @@
END
;
- print $filtersettings{'CUSTOM_WHITE_URLS'};
+ if(defined($filtersettings{'CUSTOM_WHITE_URLS'})) {
+ print $filtersettings{'CUSTOM_WHITE_URLS'};
+ }
print <<END
</textarea></td>
@@ -1329,7 +1374,9 @@
END
;
- print $filtersettings{'CUSTOM_EXPRESSIONS'};
+ if(defined($filtersettings{'CUSTOM_EXPRESSIONS'})) {
+ print $filtersettings{'CUSTOM_EXPRESSIONS'};
+ }
print <<END
</textarea></td>
@@ -1400,9 +1447,13 @@
@clients = split(/ /, $filtersettings{'UNFILTERED_CLIENTS'});
undef $filtersettings{'UNFILTERED_CLIENTS'};
- foreach (@clients) { $filtersettings{'UNFILTERED_CLIENTS'} .= "$_\n"; }
+ foreach my $client (@clients) {
+ $filtersettings{'UNFILTERED_CLIENTS'} .= "$client\n";
+ }
- print $filtersettings{'UNFILTERED_CLIENTS'};
+ if(defined($filtersettings{'UNFILTERED_CLIENTS'})) {
+ print $filtersettings{'UNFILTERED_CLIENTS'};
+ }
print <<END
</textarea></td>
@@ -1418,9 +1469,13 @@
@clients = split(/ /, $filtersettings{'BANNED_CLIENTS'});
undef $filtersettings{'BANNED_CLIENTS'};
- foreach (@clients) { $filtersettings{'BANNED_CLIENTS'} .= "$_\n"; }
+ foreach my $client (@clients) {
+ $filtersettings{'BANNED_CLIENTS'} .= "$client\n";
+ }
- print $filtersettings{'BANNED_CLIENTS'};
+ if(defined($filtersettings{'BANNED_CLIENTS'})) {
+ print $filtersettings{'BANNED_CLIENTS'};
+ }
print <<END
</textarea></td>
@@ -1606,8 +1661,13 @@
print "\t<option value='$source_url'
$selected>$source_name</option>\n";
}
+ my $selectedCustom = '';
+ if ($updatesettings{'UPDATE_SOURCE'} eq 'custom') {
+ $selectedCustom = "selected='selected'";
+ }
+
print <<END
- <option value='custom'
$selected{'UPDATE_SOURCE'}{'custom'}>$Lang::tr{'urlfilter custom url'}</option>
+ <option value='custom' $selectedCustom>$Lang::tr{'urlfilter custom
url'}</option>
</select>
</td>
</tr>
@@ -1647,7 +1707,14 @@
</table>
<hr size='1'>
+END
+;
+ $checked{'ENABLE_FULLBACKUP'}{'off'} =
'';
+ $checked{'ENABLE_FULLBACKUP'}{'on'} =
'';
+ $checked{'ENABLE_FULLBACKUP'}{$filtersettings{'ENABLE_FULLBACKUP'}} =
"checked='checked'";
+
+ print <<END
<table width='100%'>
<tr>
<td colspan='4' class='base'><b>$Lang::tr{'urlfilter backup
settings'}</b></td>
@@ -1812,6 +1879,11 @@
else {
&Header::openbox('100%', 'left', $Lang::tr{'urlfilter add new time
constraint rule'} . ':');
}
+
+ $selected{'DEFINITION'}{'within'} = '';
+ $selected{'DEFINITION'}{'outside'} = '';
+ $selected{'DEFINITION'}{$tcsettings{'DEFINITION'}} =
"selected='selected'";
+
print <<END
<table width='100%'>
@@ -1834,8 +1906,8 @@
<tr>
<td class='base'>
<select name='DEFINITION'>
- <option value='within'
$selected{'DEFINITION'}{'within'}>$Lang::tr{'urlfilter constraint
within'}</option>
- <option value='outside'
$selected{'DEFINITION'}{'outside'}>$Lang::tr{'urlfilter constraint
outside'}</option>
+ <option value='within'
$selected{'DEFINITION'}{'within'}>$Lang::tr{'urlfilter constraint
within'}</option>
+ <option value='outside'
$selected{'DEFINITION'}{'outside'}>$Lang::tr{'urlfilter constraint
outside'}</option>
</select>
</td>
<td> </td>
@@ -1850,10 +1922,21 @@
<td class='base'>
<select name='FROM_HOUR'>
END
- ;
+;
+
+
+ $selected{'FROM_HOUR'}{$tcsettings{'FROM_HOUR'}} =
"selected='selected'";
+ $selected{'FROM_MINUTE'}{$tcsettings{'FROM_MINUTE'}} =
"selected='selected'";
+ $selected{'TO_HOUR'}{$tcsettings{'TO_HOUR'}} =
"selected='selected'";
+ $selected{'TO_MINUTE'}{$tcsettings{'TO_MINUTE'}} =
"selected='selected'";
+
for ($i = 0; $i <= 24; $i++) {
- $_ = sprintf("%02s", $i);
- print "<option $selected{'FROM_HOUR'}{$_}>$_</option>\n";
+ my $hour = sprintf("%02s", $i);
+ my $selected = '';
+ if($hour eq $tcsettings{'FROM_HOUR'}) {
+ $selected = "selected='selected'";
+ }
+ print "<option value='$hour' $selected>$hour</option>\n";
}
print <<END
</select>
@@ -1862,10 +1945,15 @@
<td class='base'>
<select name='FROM_MINUTE'>
END
- ;
+;
+
for ($i = 0; $i <= 45; $i += 15) {
- $_ = sprintf("%02s", $i);
- print "<option $selected{'FROM_MINUTE'}{$_}>$_</option>\n";
+ my $minute = sprintf("%02s", $i);
+ my $selected = '';
+ if($minute eq $tcsettings{'FROM_MINUTE'}) {
+ $selected = "selected='selected'";
+ }
+ print "<option value='$minute' $selected>$minute</option>\n";
}
print <<END
</select>
@@ -1876,8 +1964,12 @@
END
;
for ($i = 0; $i <= 24; $i++) {
- $_ = sprintf("%02s", $i);
- print "<option $selected{'TO_HOUR'}{$_}>$_</option>\n";
+ my $hour = sprintf("%02s", $i);
+ my $selected = '';
+ if($hour eq $tcsettings{'TO_HOUR'}) {
+ $selected = "selected='selected'";
+ }
+ print "<option value='$hour' $selected>$hour</option>\n";
}
print <<END
</select>
@@ -1888,8 +1980,12 @@
END
;
for ($i = 0; $i <= 45; $i += 15) {
- $_ = sprintf("%02s", $i);
- print "<option $selected{'TO_MINUTE'}{$_}>$_</option>\n";
+ my $minute = sprintf("%02s", $i);
+ my $selected = '';
+ if($minute eq $tcsettings{'TO_MINUTE'}) {
+ $selected = "selected='selected'";
+ }
+ print "<option value='$minute' $selected>$minute</option>\n";
}
print <<END
</select>
@@ -1924,35 +2020,51 @@
undef $tcsettings{'SRC'};
foreach (@clients) { $tcsettings{'SRC'} .= "$_\n"; }
- print $tcsettings{'SRC'};
+ if(defined($tcsettings{'SRC'})) {
+ print $tcsettings{'SRC'};
+ }
+ $selected{'DST'}{'any'} = '';
+ $selected{'DST'}{'in-addr'} = '';
+ $selected{'DST'}{'files'} = '';
+ $selected{'DST'}{'custom-blocked'} = '';
+ $selected{'DST'}{'custom-expressions'} = '';
+ my @selectedcategories = split(/\|/, $tcsettings{'DST'});
+ foreach (@selectedcategories) {
+ $selected{'DST'}{$_} = "selected='selected'";
+ }
+
print <<END
</textarea></td>
<td> </td>
<td class='base' rowspan='2' valign='top'>
<select name='DST' size='6' multiple>
- <option value='any'
$selected{'DST'}{'any'}>$Lang::tr{'urlfilter category all'}</option>
- <option value='in-addr'
$selected{'DST'}{'in-addr'}>in-addr</option>
+ <option value='any' $selected{'DST'}{'any'}>$Lang::tr{'urlfilter
category all'}</option>
+ <option value='in-addr'
$selected{'DST'}{'in-addr'}>in-addr</option>
END
- ;
+;
&readblockcategories;
- foreach (@categories) {
- print "<option value='$_' $selected{'DST'}{$_}>$_</option>\n";
+ foreach my $category (@categories) {
+ my $selected = '';
+ if(defined($selected{'DST'}{$category})) {
+ $selected = "selected='selected'";
+ }
+ print "<option value='$category' $selected>$category</option>\n";
}
print <<END
- <option value='files' $selected{'DST'}{'files'}>files</option>
- <option value='custom-blocked'
$selected{'DST'}{'custom-blocked'}>custom-blocked</option>
- <option value='custom-expressions'
$selected{'DST'}{'custom-expressions'}>custom-expressions</option>
+ <option value='files' $selected{'DST'}{'files'}>files</option>
+ <option value='custom-blocked'
$selected{'DST'}{'custom-blocked'}>custom-blocked</option>
+ <option value='custom-expressions'
$selected{'DST'}{'custom-expressions'}>custom-expressions</option>
</select>
</td>
<td> </td>
<td class='base' valign='top'>
<select name='ACCESS'>
- <option value='block'
$selected{'ACCESS'}{'block'}>$Lang::tr{'block'}</option>
- <option value='allow'
$selected{'ACCESS'}{'allow'}>$Lang::tr{'allow'}</option>
+ <option value='block'
$selected{'ACCESS'}{'block'}>$Lang::tr{'block'}</option>
+ <option value='allow'
$selected{'ACCESS'}{'allow'}>$Lang::tr{'allow'}</option>
</select>
</td>
<td> </td>
@@ -1980,7 +2092,6 @@
<td> </td>
</tr>
</table>
-
<table width='100%'>
<tr>
<td class='base'>$Lang::tr{'enabled'}:<input type='checkbox'
name='ENABLERULE' $checked{'ENABLERULE'}{'on'} /></td>
@@ -2055,6 +2166,9 @@
$id++;
chomp($line);
@temp = split(/\,/, $line);
+
+ $temp[16] = '' unless(defined($temp[16]));
+
if ($tcsettings{'ACTION'} eq $Lang::tr{'edit'} && $tcsettings{'ID'} eq
$id) {
print "<tr class='selectcolour'>\n";
}
@@ -2286,13 +2400,20 @@
</tr><tr>
<td><textarea name='QUOTA_USERS' cols='32' rows='6' wrap='off'>
END
- ;
+;
- $uqsettings{'QUOTA_USERS'} =~ s/\|/\n/g;
- print $uqsettings{'QUOTA_USERS'};
+ if(defined($uqsettings{'QUOTA_USERS'})) {
+ $uqsettings{'QUOTA_USERS'} =~ s/\|/\n/g;
+ print $uqsettings{'QUOTA_USERS'};
+ }
+ $selected{'SPORADIC'}{'0'} = '';
+ $selected{'SPORADIC'}{'300'} = '';
+ $selected{'SPORADIC'}{'900'} = '';
+ $selected{'SPORADIC'}{$uqsettings{'SPORADIC'}} = "selected='selected'";
+
print <<END
- </textarea></td>
+</textarea></td>
</tr>
</table>
</td>
@@ -2303,16 +2424,28 @@
<option value='300' $selected{'SPORADIC'}{'300'}>5
$Lang::tr{'minutes'}</option>
<option value='900' $selected{'SPORADIC'}{'900'}>15
$Lang::tr{'minutes'}</option>
</select></td>
-</tr><tr>
+</tr>
+END
+;
+
+ $selected{'RENEWAL'}{'hourly'} = '';
+ $selected{'RENEWAL'}{'daily'} = '';
+ $selected{'RENEWAL'}{'weekly'} = '';
+ $selected{'RENEWAL'}{$uqsettings{'RENEWAL'}} = "selected='selected'";
+
+ print <<END
+<tr>
<td class='base'>$Lang::tr{'urlfilter renewal period'}:</td>
<td class='base'><select name='RENEWAL'>
<option value='hourly'
$selected{'RENEWAL'}{'hourly'}>$Lang::tr{'hourly'}</option>
<option value='daily'
$selected{'RENEWAL'}{'daily'}>$Lang::tr{'daily'}</option>
<option value='weekly'
$selected{'RENEWAL'}{'weekly'}>$Lang::tr{'weekly'}</option>
</select></td>
-</tr><tr>
+</tr>
+<tr>
<td colspan='2'> </td>
-</tr><tr>
+</tr>
+<tr>
<td class='base'>$Lang::tr{'enabled'}:</td>
<td class='base'><input type='checkbox' name='ENABLEQUOTA'
$checked{'ENABLEQUOTA'}{'on'} /></td>
</tr>
@@ -2534,15 +2667,18 @@
END
;
- print $besettings{'BE_DOMAINS'};
-
+ if(defined($besettings{'BE_DOMAINS'})) {
+ print $besettings{'BE_DOMAINS'};
+ }
print <<END
</textarea></td>
<td colspan='2'><textarea name='BE_URLS' cols='38' rows='10' wrap='off'>
END
;
- print $besettings{'BE_URLS'};
+ if(defined($besettings{'BE_URLS'})) {
+ print $besettings{'BE_URLS'};
+ }
print <<END
</textarea></td>
@@ -2555,7 +2691,9 @@
END
;
- print $besettings{'BE_EXPRESSIONS'};
+ if(defined($besettings{'BE_EXPRESSIONS'})) {
+ print $besettings{'BE_EXPRESSIONS'};
+ }
print <<END
</textarea></td>
@@ -2571,11 +2709,15 @@
<td width='20%' class='base'>
<select name='BE_BLACKLIST'>
END
- ;
+;
&readblockcategories;
- foreach (@categories) {
- print "<option value='$_' $selected{'BE_BLACKLIST'}{$_}>$_</option>\n";
+ foreach my $category (@categories) {
+ my $selected = '';
+ if($category eq $besettings{'BE_BLACKLIST'}) {
+ $selected = "selected='selected'";
+ }
+ print "<option value='$category' $selected>$category</option>\n";
}
print <<END
@@ -2615,12 +2757,21 @@
<tr>
<td class='base' colspan='4'><b>$Lang::tr{'urlfilter install
blacklist'}</b></td>
</tr>
+END
+;
+
+ $checked{'NORESTART'}{'off'} = '';
+ $checked{'NORESTART'}{'on'} = '';
+ $checked{'NORESTART'}{$besettings{'NORESTART'}} = "checked='checked'";
+
+ print <<END
<tr>
<td width='25%' class='base'>$Lang::tr{'urlfilter dont restart
urlfilter'}:</td>
<td width='20%' class='base'><input type='checkbox' name='NORESTART'
$checked{'NORESTART'}{'on'} /></td>
<td> </td>
<td> </td>
</tr>
+
<tr>
<td><input type='submit' name='ACTION' value='$Lang::tr{'urlfilter
install blacklist'}' /></td>
</tr>
@@ -2718,7 +2869,9 @@
&getblockcategory($dbdir);
- foreach (@categories) { $_ = substr($_, length($dbdir) + 1); }
+ foreach (@categories) {
+ $_ = substr($_, length($dbdir) + 1);
+ }
@filtergroups = @categories;
@@ -2895,54 +3048,68 @@
if (!(-d "$dbdir/custom/allowed")) { mkdir("$dbdir/custom/allowed") }
open(FILE, ">/$dbdir/custom/blocked/domains");
- @temp = split(/\n/, $filtersettings{'CUSTOM_BLACK_DOMAINS'});
- foreach (@temp) {
- s/^\s+//g;
- s/\s+$//g;
- s/\n//g;
- unless ($_ eq '') { print FILE "$_\n"; }
+ if(defined($filtersettings{'CUSTOM_BLACK_DOMAINS'})) {
+ @temp = split(/\n/, $filtersettings{'CUSTOM_BLACK_DOMAINS'});
+ foreach (@temp) {
+ s/^\s+//g;
+ s/\s+$//g;
+ s/\n//g;
+ unless ($_ eq '') { print FILE "$_\n"; }
+ }
}
close(FILE);
+
open(FILE, ">/$dbdir/custom/blocked/urls");
- @temp = split(/\n/, $filtersettings{'CUSTOM_BLACK_URLS'});
- foreach (@temp) {
- s/^\s+//g;
- s/\s+$//g;
- s/\n//g;
- unless ($_ eq '') { print FILE "$_\n"; }
+ if(defined($filtersettings{'CUSTOM_BLACK_URLS'})) {
+ @temp = split(/\n/, $filtersettings{'CUSTOM_BLACK_URLS'});
+ foreach (@temp) {
+ s/^\s+//g;
+ s/\s+$//g;
+ s/\n//g;
+ unless ($_ eq '') { print FILE "$_\n"; }
+ }
}
close(FILE);
+
open(FILE, ">/$dbdir/custom/blocked/expressions");
- @temp = split(/\n/, $filtersettings{'CUSTOM_EXPRESSIONS'});
- foreach (@temp) {
- s/^\s+//g;
- s/\s+$//g;
- s/\n//g;
- unless ($_ eq '') { print FILE "$_\n"; }
+ if(defined($filtersettings{'CUSTOM_EXPRESSIONS'})) {
+ @temp = split(/\n/, $filtersettings{'CUSTOM_EXPRESSIONS'});
+ foreach (@temp) {
+ s/^\s+//g;
+ s/\s+$//g;
+ s/\n//g;
+ unless ($_ eq '') { print FILE "$_\n"; }
+ }
}
close(FILE);
+
open(FILE, ">/$dbdir/custom/blocked/files");
if ($filtersettings{'BLOCK_EXECUTABLES'} eq 'on') { print FILE
"$executables\n"; }
if ($filtersettings{'BLOCK_AUDIO-VIDEO'} eq 'on') { print FILE
"$audiovideo\n"; }
if ($filtersettings{'BLOCK_ARCHIVES'} eq 'on') { print FILE
"$archives\n"; }
close(FILE);
+
open(FILE, ">/$dbdir/custom/allowed/domains");
- @temp = split(/\n/, $filtersettings{'CUSTOM_WHITE_DOMAINS'});
-
- foreach (@temp) {
- s/^\s+//g;
- s/\s+$//g;
- s/\n//g;
- unless ($_ eq '') { print FILE "$_\n"; }
+ if(defined($filtersettings{'CUSTOM_WHITE_DOMAINS'})) {
+ @temp = split(/\n/, $filtersettings{'CUSTOM_WHITE_DOMAINS'});
+ foreach (@temp) {
+ s/^\s+//g;
+ s/\s+$//g;
+ s/\n//g;
+ unless ($_ eq '') { print FILE "$_\n"; }
+ }
}
close(FILE);
+
open(FILE, ">/$dbdir/custom/allowed/urls");
- @temp = split(/\n/, $filtersettings{'CUSTOM_WHITE_URLS'});
- foreach (@temp) {
- s/^\s+//g;
- s/\s+$//g;
- s/\n//g;
- unless ($_ eq '') { print FILE "$_\n"; }
+ if(defined($filtersettings{'CUSTOM_WHITE_URLS'})) {
+ @temp = split(/\n/, $filtersettings{'CUSTOM_WHITE_URLS'});
+ foreach (@temp) {
+ s/^\s+//g;
+ s/\s+$//g;
+ s/\n//g;
+ unless ($_ eq '') { print FILE "$_\n"; }
+ }
}
close(FILE);
@@ -2982,8 +3149,8 @@
if ($filtersettings{'BLOCK_IP_ADDR'} eq 'on') {
$defaultrule .= "!in-addr ";
}
- for ($i = 0; $i <= @filtergroups; $i++) {
- if ($filtersettings{$filtergroups[$i]} eq 'on') {
+ for ($i = 0; $i < @filtergroups; $i++) {
+ if (defined($filtersettings{$filtergroups[$i]}) &&
$filtersettings{$filtergroups[$i]} eq 'on') {
$defaultrule .= "!$categories[$i] ";
}
}
@@ -3371,3 +3538,38 @@
}
# -------------------------------------------------------------------
+
+sub resetTcSettings
+{
+ $tcsettings{'DEFINITION'} = 'within';
+ $tcsettings{'FROM_HOUR'} = 0;
+ $tcsettings{'FROM_MINUTE'} = 0;
+ $tcsettings{'TO_HOUR'} = 24;
+ $tcsettings{'TO_MINUTE'} = 0;
+ $tcsettings{'ACCESS'} = 'block';
+ $tcsettings{'MON'} = 'off';
+ $tcsettings{'TUE'} = 'off';
+ $tcsettings{'WED'} = 'off';
+ $tcsettings{'THU'} = 'off';
+ $tcsettings{'FRI'} = 'off';
+ $tcsettings{'SAT'} = 'off';
+ $tcsettings{'SUN'} = 'off';
+ $tcsettings{'SRC'} = '';
+ $tcsettings{'DST'} = '';
+ $tcsettings{'COMMENT'} = '';
+ $tcsettings{'ACTION'} = '';
+ $tcsettings{'MODE'} = '';
+ $tcsettings{'CHANGED'} = 'no';
+}
+
+sub resetUqSettings
+{
+ $uqsettings{'TIME_QUOTA'} = '';
+ $uqsettings{'SPORADIC'} = '0';
+ $uqsettings{'RENEWAL'} = 'hourly';
+ $uqsettings{'ENABLEQUOTA'} = 'off';
+ $uqsettings{'QUOTA_USERS'} = '';
+ $uqsettings{'ACTION'} = '';
+ $uqsettings{'MODE'} = '';
+ $uqsettings{'CHANGED'} = 'no';
+}
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
Keep Your Developer Skills Current with LearnDevNow!
The most comprehensive online learning library for Microsoft developers
is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
Metro Style Apps, more. Free future releases when you subscribe now!
http://p.sf.net/sfu/learndevnow-d2d
_______________________________________________
Ipcop-svn mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ipcop-svn