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 Ipcop-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ipcop-svn