1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109
|
<?php
/*
* AUTHOR: Pedro Lineu Orso pedro.orso@gmail.com
* 1998, 2006
* SARG Squid Analysis Report Generator http://sarg-squid.org
*
* SARG donations:
* please look at http://sarg.sourceforge.net/donations.php
* ---------------------------------------------------------------------
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.
*
*/
require_once "config.php.inc";
require_once "url_validator.php.inc";
if (!isset($_GET['file']))
{
echo "<p>",gettext("No file passed as argument"),"</p>\n";
exit;
}
$file = $_GET['file'];
if (!isset($_GET['url']))
{
echo "<p>",gettext("No url passed as argument"),"</p>\n";
exit;
}
$url = $_GET['url'];
if (!check_url($url))
{
echo "<p>",gettext("Invalid URL to block"),"</p>\n";
exit;
}
$url = $url."\n";
putenv("LANG=$language");
if (!setlocale(LC_ALL, $language))
{
echo "<p>";
printf(gettext("Invalid locale %s"),$language);
echo "</p>\n";
exit;
}
$domain = 'messages';
bindtextdomain($domain, "./locale");
textdomain($domain);
function parse_config($line,$clave) {
if (preg_match("/dbhome/i", $line)) {
global $dbhome;
$l = explode(' ', $line);
list(, $dbhome) = $l;
$dbhome=preg_replace('/\s+/','',$dbhome);
}
}
global $dbhome;
$lines=file($squidGuardConf);
array_walk($lines,'parse_config');
$file=$dbhome.'/'.$file;
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title><?php echo gettext("Sarg-SquidGuard - URL Blocking")?></title>
</head>
<body>
<?php
$ha = fopen($file, 'a');
if ($ha == false)
{
echo "<p>";
printf(gettext("Could not open file: %s"),$file);
echo "</p>\n";
exit;
}
$written = fwrite($ha, $url);
fclose($ha);
if ($written != strlen($url))
{
echo "<p>";
echo gettext("Write error");
echo "</p>\n";
exit;
}
echo "<p>",gettext("Done!"),"</p>\n<p>";
printf(gettext("<a href=\"%s\">Return</a> to Sarg."),"javascript:history.go(-2)");
echo "</p>\n";
?>
</body>
|