Exemplo n.º 1
0
function compile()
{
    $sock = new sockets();
    $sock->getFrameWork("cmd.php?compile-squidguard-db=yes");
    $dans = new dansguardian_rules();
    $dans->RestartFilters();
}
function main_rules_addcategory_bannedphraselist()
{
    //bannedphraselist
    writelogs("{$_GET["rule_main"]}", __FUNCTION__, __FILE__);
    $dans = new dansguardian_rules($_GET["hostname"], $_GET["rule_main"]);
    $dans->AddCategory_phrase_banned($_GET["DansGuardian_addcategorybannedphraselist"], $_GET["rule_main"]);
}
Exemplo n.º 3
0
function popup() {
	$page=CurrentPageName();
	$tpl=new templates();
	$dans=new dansguardian_rules();
	$cats=$dans->LoadBlackListes();
	$t=time();
	while (list ($num, $ligne) = each ($cats) ){$newcat[$num]=$num;}
	$newcat[null]="{select}";
	$field_category=Field_array_Hash($newcat,"category-add$t",null,null,"style:font-size:22px")."</span>";
	
	
	$html="<div style='font-size:16px' class=text-info>{bad_category_explain}</div>
	<div style='width:95%;padding:15px' class=form>
	<center>
		<table style='width:100%'>
		<tr>
			<td style='font-size:22px'>{websites}:</td>
			<td>
				<textarea style='margin-top:5px;font-family:Courier New;font-weight:bold;width:99%;height:150px;border:5px solid #8E8E8E;overflow:auto;font-size:22px !important' id='www-$t'></textarea>
			</td>
		</tr>
		<tr>
			<td style='font-size:22px' nowrap>{should_categorized_to}:</td>
			<td>$field_category</td>
		</tr>
		<tr>
			<td colspan=2 align='right'><hr>". button("{submit}","Save$t();",30)."</td>
		</tr>
	</table>
	</center>
	</div>		
	<div id='results-$t'></div>		
	<script>

	var xSave$t= function (obj) {
		var res=obj.responseText;
		if (res.length>0){ alert(res); }
		ExecuteByClassName('SearchFunction');
	}	
	
	function Save$t(){
		var XHR = new XHRConnection();
		var cat=document.getElementById('category-add$t').value;
		if(cat.length==0){return;}
		XHR.appendData('category',cat);
		XHR.appendData('www',document.getElementById('www-$t').value);
		XHR.sendAndLoad('$page', 'POST',xSave$t);	
	}	
	
	
	
	</script>";
	
	echo $tpl->_ENGINE_parse_body($html);
	
	
	
}
Exemplo n.º 4
0
function test()
{
    $tpl = new templates();
    $www = $_GET["test"];
    $q = new mysql_squid_builder();
    $www = $q->WebsiteStrip($www);
    if ($www == null) {
        echo "<p class=text-error>corrupted</p>";
        return;
    }
    $catz = $q->GET_FULL_CATEGORIES($www);
    if (trim($catz) == null) {
        echo $tpl->_ENGINE_parse_body("<p class=text-error>{not_categorized}</p>");
        return;
    }
    if (strpos(" {$catz}", ",") == 0) {
        $CATEGORIES[] = $catz;
    } else {
        $CATEGORIES = explode(",", $catz);
    }
    $dans = new dansguardian_rules();
    $cats = $dans->LoadBlackListes();
    $html = "\n\t<div style='width:95%;margin-top:15px' class=form>\t\t\n\t<table style='width:99%'>\n\t\t<tr>\n\t\t\t\n\t\t\t<td style='vertical-align:top' colspan=2><div style='font-size:18px;font-weight:bolder;letter-spacing:2px'>\n\t\t\t&laquo;{$www}&raquo;</td>\t\t\n\t\t</tr>\t\t\n\t\t\t\n\t";
    while (list($num, $categoryF) = each($CATEGORIES)) {
        if (isset($ALREADY_PARSED[$categoryF])) {
            continue;
        }
        $ALREADY_PARSED[$categoryF] = true;
        $categoryF = trim($categoryF);
        if (!isset($cats[$categoryF])) {
            $cats[$categoryF] = null;
        }
        if ($cats[$categoryF] == null) {
            $sql = "SELECT category_description FROM personal_categories WHERE category='{$categoryF}'";
            $ligne = mysql_fetch_array($q->QUERY_SQL($sql));
            $content = $ligne["category_description"];
        } else {
            $content = $cats[$categoryF];
        }
        $pic = "<img src='img/20-categories-personnal.png'>";
        if (isset($dans->array_pics[$categoryF])) {
            $pic = "<img src='img/{$dans->array_pics[$categoryF]}'>";
        }
        $html = $html . "\n\t\t<tr>\n\t\t\t<td style='width:22px;vertical-align:top'>{$pic}</td>\n\t\t\t<td style='vertical-align:top'><div style='font-size:18px;font-weight:bolder;letter-spacing:2px'>&laquo;{$categoryF}&raquo;</td>\t\t\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td colspan=2>\n\t\t\t\t<i style='font-size:16px;font-weight:normal'>{$content}</i>\n\t\t\t</td>\n\t\t</tr>\t\n\t\t<tr><td colspan=2>&nbsp;</td></tr>\t\t\n\t\t";
    }
    $html = $html . "</table></div>";
    echo $html;
}
Exemplo n.º 5
0
function save()
{
    $sock = new sockets();
    if ($_GET["EnableSquidGuardHTTPService"] == 0) {
        $SquidGuardIPWeb = $_GET["fulluri"];
    } else {
        $SquidGuardIPWeb = "http://" . $_GET["servername_squidguard"] . ":" . $_GET["listen_port_squidguard"] . "/exec.squidguard.php";
    }
    $sock->SET_INFO("SquidGuardApachePort", $_GET["listen_port_squidguard"]);
    $sock->SET_INFO("EnableSquidGuardHTTPService", $_GET["EnableSquidGuardHTTPService"]);
    $sock->SET_INFO("SquidGuardIPWeb", $SquidGuardIPWeb);
    $sock->getFrameWork("cmd.php?squid-wrapzap=yes");
    $sock->getFrameWork("cmd.php?reload-squidguardWEB=yes");
    $dans = new dansguardian_rules();
    $dans->RestartFilters();
}
function checkprivs()
{
    $_POST["userid"] = trim($_POST["userid"]);
    include "ressources/settings.inc";
    $socks = new sockets();
    if (strtolower($_POST["userid"]) == strtolower($_GLOBAL["ldap_admin"])) {
        if ($_POST["password"] != $_GLOBAL["ldap_password"]) {
            die("bad password");
        }
        $dans = new dansguardian_rules(null, 1);
        $dans->Add_exceptionsitelist(1, $_POST["uri"]);
        AddEvents("Manager", $_POST["uri"]);
        $sock = new sockets();
        $sock->getFrameWork("reload-dansguardian");
        die("SUCCESS");
    }
    $ldap = new clladp();
    writelogs('This is not Global admin, so test user...', __FUNCTION__, __FILE__);
    $hash = $ldap->UserDatas($_POST["userid"]);
    $userPassword = $hash["userPassword"];
    if (trim($hash["uid"]) == null) {
        writelogs('Unable to get user infos abort', __FUNCTION__, __FILE__);
        die("Unknown user");
    }
    if (trim($_POST["password"]) == trim($userPassword)) {
        $users = new usersMenus($ldap->_Get_privileges_userid($_POST["userid"]));
        $priv_array = $users->_ParsePrivieleges($ldap->_Get_privileges_userid($_POST["userid"]));
        $users->_TranslateRights($priv_array);
        if ($users->AllowDansGuardianBanned) {
            $dans = new dansguardian_rules(null, 1);
            $dans->Add_exceptionsitelist(1, $_POST["uri"]);
            $sock = new sockets();
            AddEvents($_POST["userid"], $_POST["uri"]);
            $sock->getFrameWork("cmd.php?reload-dansguardian");
            die("SUCCESS");
        }
    } else {
        die("BAD PASSWORD");
    }
    die("No privileges");
}
Exemplo n.º 7
0
function rule_popup()
{
    $dans = new dansguardian_rules();
    $md5 = $_GET["rule-popup"];
    $tpl = new templates();
    $page = CurrentPageName();
    $fields_size = 22;
    $q = new mysql_squid_builder();
    $sock = new sockets();
    $t = time();
    $bt = "{add}";
    if ($md5 != null) {
        $bt = "{apply}";
    }
    $Timez[0] = "{default}";
    $Timez[5] = "5 {minutes}";
    $Timez[10] = "10 {minutes}";
    $Timez[15] = "15 {minutes}";
    $Timez[30] = "30 {minutes}";
    $Timez[60] = "1 {hour}";
    $Timez[120] = "2 {hours}";
    $Timez[240] = "4 {hours}";
    $Timez[720] = "12 {hours}";
    $Timez[2880] = "2 {days}";
    $cats = $dans->LoadBlackListes();
    while (list($num, $ligne) = each($cats)) {
        $newcat[$num] = $num;
    }
    $newcat[null] = "{all_categories}";
    $newcat["safebrowsing"] = "Google Safe Browsing";
    $newcat["blacklist"] = "{blacklist}";
    $newcat["generic"] = "{generic}";
    if (!$q->FIELD_EXISTS("ufdb_page_rules", "ticket")) {
        $q->QUERY_SQL("ALTER TABLE `ufdb_page_rules` ADD `ticket` smallint(1) NOT NULL DEFAULT 0, ADD INDEX ( `ticket` )");
    }
    if (!$q->FIELD_EXISTS("ufdb_page_rules", "ticket")) {
        $q->QUERY_SQL("ALTER TABLE `ufdb_page_rules` ADD `ticket` smallint(1) NOT NULL DEFAULT 0, ADD INDEX ( `ticket` )");
    }
    if (!$q->FIELD_EXISTS("ufdb_page_rules", "webruleid")) {
        $q->QUERY_SQL("ALTER TABLE `ufdb_page_rules` ADD `webruleid` INT(10) NOT NULL NOT NULL DEFAULT 0, ADD INDEX ( `webruleid` )");
    }
    $sql = "SELECT ID,groupname FROM webfilter_rules WHERE enabled=1";
    $results = $q->QUERY_SQL($sql);
    $RULES["0"] = "{all_rules}";
    $btname = "{add}";
    $t = time();
    while ($ligne = mysql_fetch_assoc($results)) {
        $RULES[$ligne["ID"]] = "{$ligne["groupname"]}";
    }
    $ligne = mysql_fetch_array($q->QUERY_SQL("SELECT * FROM ufdb_page_rules WHERE zmd5='{$md5}'"));
    $group_legend = "{active_directory_group}";
    if ($sock->SQUID_IS_EXTERNAL_LDAP()) {
        $group_legend = "{ldap_group}";
    }
    if (!$q->ok) {
        echo FATAL_ERROR_SHOW_128($q->mysql_error);
        return;
    }
    $html[] = "<div style='width:98%' class=form>";
    $html[] = "<table style='width:100%'>";
    $html[] = Field_list_table("webruleid-{$t}", "{rule}", $ligne["webruleid"], $fields_size, $RULES, null, 450);
    $html[] = Field_list_table("category-{$t}", "{category}", $ligne["category"], $fields_size, $newcat, null, 450);
    $html[] = Field_list_table("maxtime-{$t}", "{unlock_during}", $ligne["maxtime"], $fields_size, $Timez, null, 450);
    $html[] = Field_text_table("adgroup-{$t}", "{$group_legend}", $ligne["adgroup"], $fields_size, null, 450);
    if ($sock->SQUID_IS_EXTERNAL_LDAP()) {
        $html[] = Field_button_table_autonome("{browse}", "Loadjs('browse-extldap-groups.php?MainFunction=FdapGroup{$t}')");
    }
    $html[] = Field_text_table("username-{$t}", "{username}", $ligne["username"], $fields_size, null, 450);
    $html[] = Field_checkbox_table("deny-{$t}", "{deny_unlock}", $ligne["deny"], $fields_size, null, "UnCheckAllow{$t}()");
    $html[] = Field_checkbox_table("allow-{$t}", "{allow_unlock}", $ligne["allow"], $fields_size, null, "UnCheckDeny{$t}()");
    $html[] = Field_checkbox_table("ticket-{$t}", "{submit_ticket}", $ligne["ticket"], $fields_size, null, "UnTicket{$t}()");
    $html[] = Field_checkbox_table("noauth-{$t}", "{not_authenticate}", $ligne["noauth"], $fields_size);
    $html[] = Field_list_table("addTocat-{$t}", "{automatically_add_to}", $ligne["addTocat"], $fields_size, $newcat, null, 450);
    $html[] = Field_button_table_autonome($bt, "Submit{$t}", 30);
    $html[] = "</table>";
    $html[] = "</div>\n\t<script>\n\tvar xSubmit{$t}= function (obj) {\n\t\tvar results=obj.responseText;\n\t\tif(results.length>3){alert(results);}\n\t\t\$('#UFDB_PAGE_RULE').flexReload();\n\t\n\t}\n\t\n\tfunction UnCheckAllow{$t}(){\n\t\tif(document.getElementById('deny-{$t}').checked){\n\t\t\tdocument.getElementById('allow-{$t}').checked=false;\n\t\t}else{\n\t\t\tdocument.getElementById('allow-{$t}').checked=true;\n\t\t\n\t\t}\n\t\n\t}\n\t\n\tfunction UnCheckDeny{$t}(){\n\t\tif(document.getElementById('allow-{$t}').checked){\n\t\t\tdocument.getElementById('deny-{$t}').checked=false;\n\t\t}else{\n\t\t\tdocument.getElementById('deny-{$t}').checked=true;\n\t\t}\n\t}\n\t\n\tfunction UnTicket{$t}(){\n\t\tif(document.getElementById('ticket-{$t}').checked){\n\t\t\tdocument.getElementById('deny-{$t}').checked=true;\n\t\t\tdocument.getElementById('allow-{$t}').checked=false;\n\t\t\tdocument.getElementById('noauth-{$t}').checked=true;\n\t\t\tdocument.getElementById('deny-{$t}').disabled=true;\n\t\t\tdocument.getElementById('allow-{$t}').disabled=true;\n\t\t\tdocument.getElementById('noauth-{$t}').disabled=true;\n\t\t\tdocument.getElementById('maxtime-{$t}').disabled=true;\n\t\t\tdocument.getElementById('addTocat-{$t}').disabled=true;\n\t\t}else{\n\t\t\tdocument.getElementById('deny-{$t}').disabled=false;\n\t\t\tdocument.getElementById('allow-{$t}').disabled=false;\n\t\t\tdocument.getElementById('noauth-{$t}').disabled=false;\n\t\t\tdocument.getElementById('maxtime-{$t}').disabled=false;\n\t\t\tdocument.getElementById('addTocat-{$t}').disabled=false;\n\t\t\t}\n\t\t\n\t}\n\t\n\tfunction FdapGroup{$t}(DN){\n\t\tdocument.getElementById('adgroup-{$t}').value='EXTLDAP:'+DN;\n\t}\n\t\n\t\n\tfunction Submit{$t}(){\n\t\tvar XHR = new XHRConnection();\n\t\tXHR.appendData('rule','{$md5}');\n\t\tXHR.appendData('category',document.getElementById('category-{$t}').value);\n\t\tXHR.appendData('adgroup',document.getElementById('adgroup-{$t}').value);\n\t\tXHR.appendData('username',document.getElementById('username-{$t}').value);\n\t\tXHR.appendData('addTocat',document.getElementById('addTocat-{$t}').value);\n\t\tXHR.appendData('maxtime',document.getElementById('maxtime-{$t}').value);\n\t\tXHR.appendData('webruleid',document.getElementById('webruleid-{$t}').value);\n\t\t\n\t\t\n\t\t\n\t\t\n\t\tif(document.getElementById('deny-{$t}').checked){\n\t\t\tXHR.appendData('deny','1');\t\n\t\t}else{\n\t\t\tXHR.appendData('deny','0');\t\n\t\t\n\t\t}\n\t\tif(document.getElementById('allow-{$t}').checked){\n\t\t\tXHR.appendData('allow','1');\t\n\t\t}else{\n\t\t\tXHR.appendData('allow','0');\t\n\t\t\n\t\t}\t\n\n\t\tif(document.getElementById('noauth-{$t}').checked){\n\t\t\tXHR.appendData('noauth','1');\t\n\t\t}else{\n\t\t\tXHR.appendData('noauth','0');\t\n\t\t\n\t\t}\n\n\t\tif(document.getElementById('ticket-{$t}').checked){\n\t\t\tXHR.appendData('ticket','1');\t\n\t\t}else{\n\t\t\tXHR.appendData('ticket','0');\t\n\t\t\n\t\t}\t\t\t\n\t\t\n\t\t\n\n\t\tXHR.sendAndLoad('{$page}', 'POST',xSubmit{$t});\n\t}\n\t\n\tUnCheckAllow{$t}();\n\tUnTicket{$t}();\n\t</script>\n\t\t\n\t";
    echo $tpl->_ENGINE_parse_body(@implode("\n", $html));
}
function main_ExeptionFileSiteList_icon()
{
    $rule_main = $_GET["rule_main"];
    $index = $_GET["ExeptionFileSiteList_icon"];
    $num = $index;
    $dans = new dansguardian_rules($_GET["hostname"], $rule_main);
    $sql = "SELECT enabled FROM dansguardian_files WHERE ID={$index}";
    $q = new mysql();
    $val = @mysql_fetch_array($q->QUERY_SQL($sql, "artica_backup"));
    if ($val["enabled"] == 1) {
        $onoff = imgtootltip("ok16.png", "{disable}", "ExeptionFileSiteList_switch('{$hostname}','{$rule_main}','{$num}','0')", null, "img_{$num}");
        $dans->Edit_ExeptionFileSiteList($_GET["ExeptionFileSiteList_icon"], 0);
    } else {
        $onoff = imgtootltip("icon_err.gif", "{enable}", "ExeptionFileSiteList_switch('{$hostname}','{$rule_main}','{$num}','1')", null, "img_{$num}");
        $dans->Edit_ExeptionFileSiteList($_GET["ExeptionFileSiteList_icon"], 1);
    }
    $tpl = new templates();
    echo $tpl->_ENGINE_parse_body($onoff);
}
function add_category_save()
{
    $_POST["personal_database"] = url_decode_special_tool($_POST["personal_database"]);
    $_POST["category_text"] = url_decode_special_tool($_POST["category_text"]);
    $org = $_POST["personal_database"];
    include_once dirname(__FILE__) . "/ressources/class.html.tools.inc";
    $html = new htmltools_inc();
    $dans = new dansguardian_rules();
    $_POST["personal_database"] = strtolower($html->StripSpecialsChars($_POST["personal_database"]));
    if ($_POST["personal_database"] == null) {
        echo "No category set or wrong category name \"{$org}\"\n";
        return;
    }
    if ($_POST["personal_database"] == "security") {
        $_POST["personal_database"] = "security2";
    }
    if ($_POST["CatzByGroupA"] != null) {
        $_POST["CatzByGroupL"] = $_POST["CatzByGroupA"];
    }
    $_POST["CatzByGroupL"] = mysql_escape_string2($_POST["CatzByGroupL"]);
    $_POST["category_text"] = url_decode_special_tool($_POST["category_text"]);
    $_POST["category_text"] = mysql_escape_string2($_POST["category_text"]);
    $q = new mysql_squid_builder();
    $sql = "SELECT category FROM personal_categories WHERE category='{$_POST["personal_database"]}'";
    $ligne = mysql_fetch_array($q->QUERY_SQL($sql));
    if ($ligne["category"] != null) {
        $sql = "UPDATE personal_categories\n\t\tSET category_description='{$_POST["category_text"]}',\n\t\t`PublicMode`='{$_POST["PublicMode"]}',\n\t\tmaster_category='{$_POST["CatzByGroupL"]}'\n\t\tWHERE category='{$_POST["personal_database"]}'\n\t\t";
    } else {
        if (isset($dans->array_blacksites[$_POST["personal_database"]])) {
            $tpl = new templates();
            echo $tpl->javascript_parse_text("{$_POST["personal_database"]}:{category_already_exists}");
            return;
        }
        $sql = "INSERT IGNORE INTO personal_categories (category,category_description,master_category,PublicMode)\n\t\tVALUES ('{$_POST["personal_database"]}','{$_POST["category_text"]}','{$_POST["CatzByGroupL"]}','{$_POST["PublicMode"]}');";
    }
    $q->QUERY_SQL($sql);
    if (!$q->ok) {
        echo $q->mysql_error;
        return;
    }
    $q->CreateCategoryTable($_POST["personal_database"]);
    $sql = "TRUNCATE TABLE webfilters_categories_caches";
    $dans->CategoriesTableCache();
    $dans->CleanCategoryCaches();
}
function main_rules_addcategory_weight()
{
    $dans = new dansguardian_rules($_GET["hostname"], $_GET["rule_main"]);
    writelogs("add {$_GET["rule_main"]} rule...{$_GET["DansGuardian_addcategoryWeight"]}", __FUNCTION__, __FILE__);
    $dans->AddCategory_phrase_weight($_GET["DansGuardian_addcategoryWeight"], $_GET["rule_main"]);
}
function BuildRules()
{
    $dans = new dansguardian();
    $sql = "SELECT RuleID,RuleName,RuleText FROM dansguardian_rules WHERE RuleID>1 ORDER BY RuleID";
    $q = new mysql();
    $results = $q->QUERY_SQL($sql, "artica_backup");
    while ($ligne = @mysql_fetch_array($results, MYSQL_ASSOC)) {
        if ($ligne["RuleID"] == 1) {
            continue;
        }
        $count = $count + 1;
        $GLOBALS["DANSGUARDIAN_RULES_INDEX"][$ligne["RuleID"]] = $count;
        $dansguardian = new dansguardian_rules(null, $ligne["RuleID"]);
        $ligne["RuleText"] = $dansguardian->BuildMainRule();
        events(__FUNCTION__ . ":: ----------------------------------------------------------------------------------------");
        events(__FUNCTION__ . ":: Writing /etc/dansguardian/dansguardianf{$count}.conf ID:{$ligne["RuleID"]} Name:{$ligne["RuleName"]} " . strlen($ligne["RuleText"]) . " bytes");
        events(__FUNCTION__ . ":: ----------------------------------------------------------------------------------------");
        @file_put_contents("/etc/dansguardian/dansguardianf{$count}.conf", $ligne["RuleText"]);
        CheckFilesDatabases($ligne["RuleText"], $ligne["RuleID"]);
        ChangeRuleName($count, $ligne["RuleName"]);
        if ($dans->ContentScannerMustEnabled()) {
            events(__FUNCTION__ . ":: clamav is enabled checkit");
            WriteConfigFile("/etc/dansguardian/dansguardianf{$count}.conf", "contentscanner", "'/etc/dansguardian/contentscanners/clamdscan.conf'");
        } else {
            events(__FUNCTION__ . ":: clamav is disbaled delete it");
            DeleteConfigFile("/etc/dansguardian/dansguardianf{$count}.conf", "contentscanner");
        }
    }
    if (!is_file("/etc/dansguardian/dansguardianf1.conf")) {
        copy("/etc/dansguardian/dansguardian.conf /etc/dansguardian/dansguardianf1.conf");
    }
}
function main_extention_bannedMimeTypelist_del()
{
    $users = new usersMenus();
    if ($_GET["hostname"] == null) {
        $hostname = $users->hostname;
    } else {
        $hostname = $_GET["hostname"];
    }
    $rule_main = $_GET["rule_main"];
    $index = $_GET["bannedMimeTypelist_del"];
    if ($rule_main == "DansDefault") {
        $dans = new dansguardian_default_rules();
    } else {
        $dans = new dansguardian_rules($_GET["hostname"], $rule_main);
    }
    $dans->DelBannedMimeTypeList($rule_main, $index);
}
Exemplo n.º 13
0
function rule_popup(){
	$dans=new dansguardian_rules();
	$md5=$_GET["rule-popup"];
	$tpl=new templates();
	$page=CurrentPageName();
	$fields_size=22;
	$q=new mysql_squid_builder();
	$sock=new sockets();
	$t=time();
	$bt="{add}";
	if($md5<>null){$bt="{apply}";}
	
	$Timez[0]="{default}";
	$Timez[5]="5 {minutes}";
	$Timez[10]="10 {minutes}";
	$Timez[15]="15 {minutes}";
	$Timez[30]="30 {minutes}";
	$Timez[60]="1 {hour}";
	$Timez[120]="2 {hours}";
	$Timez[240]="4 {hours}";
	$Timez[720]="12 {hours}";
	$Timez[2880]="2 {days}";
	
	$cats=$dans->LoadBlackListes();
	while (list ($num, $ligne) = each ($cats) ){$newcat[$num]=$num;}
	$newcat[null]="{none}";
	$newcat["safebrowsing"]="Google Safe Browsing";
	$newcat["blacklist"]="{blacklist}";
	
	
	$ligne=mysql_fetch_array($q->QUERY_SQL("SELECT * FROM ufdb_page_rules WHERE zmd5='$md5'"));
	if(!$q->ok){echo FATAL_ERROR_SHOW_128($q->mysql_error);return;}
	
	$html[]="<div style='width:98%' class=form>";
	$html[]="<table style='width:100%'>";
	$html[]=Field_list_table("category-$t","{category}",$ligne["category"],$fields_size,$newcat,null,450);
	$html[]=Field_list_table("maxtime-$t","{unlock_during}",$ligne["maxtime"],$fields_size,$Timez,null,450);
	$html[]=Field_text_table("adgroup-$t","{active_directory_group}",$ligne["adgroup"],$fields_size,null,450);
	$html[]=Field_text_table("username-$t","{username}",$ligne["username"],$fields_size,null,450);
	$html[]=Field_checkbox_table("deny-$t", "{deny_unlock}",$ligne["deny"],$fields_size,null,"UnCheckAllow$t()");
	$html[]=Field_checkbox_table("allow-$t", "{allow_unlock}",$ligne["allow"],$fields_size,null,"UnCheckDeny$t()");
	$html[]=Field_checkbox_table("noauth-$t", "{not_authenticate}",$ligne["noauth"],$fields_size);
	$html[]=Field_list_table("addTocat-$t","{automatically_add_to}",$ligne["addTocat"],$fields_size,$newcat,null,450);
	
	
	$html[]=Field_button_table_autonome($bt,"Submit$t",30);
	$html[]="</table>";
	$html[]="</div>
	<script>
	var xSubmit$t= function (obj) {
		var results=obj.responseText;
		if(results.length>3){alert(results);}
		$('#UFDB_PAGE_RULE').flexReload();
	
	}
	
	function UnCheckAllow$t(){
		if(document.getElementById('deny-$t').checked){
			document.getElementById('allow-$t').checked=false;
		}else{
			document.getElementById('allow-$t').checked=true;
		
		}
	
	}
	
	function UnCheckDeny$t(){
		if(document.getElementById('allow-$t').checked){
			document.getElementById('deny-$t').checked=false;
		}else{
			document.getElementById('deny-$t').checked=true;
		}
	}
	
	
	function Submit$t(){
		var XHR = new XHRConnection();
		XHR.appendData('rule','$md5');
		XHR.appendData('category',document.getElementById('category-$t').value);
		XHR.appendData('adgroup',document.getElementById('adgroup-$t').value);
		XHR.appendData('username',document.getElementById('username-$t').value);
		XHR.appendData('addTocat',document.getElementById('addTocat-$t').value);
		XHR.appendData('maxtime',document.getElementById('maxtime-$t').value);
		
		
		
		
		if(document.getElementById('deny-$t').checked){
			XHR.appendData('deny','1');	
		}else{
			XHR.appendData('deny','0');	
		
		}
		if(document.getElementById('allow-$t').checked){
			XHR.appendData('allow','1');	
		}else{
			XHR.appendData('allow','0');	
		
		}	

		if(document.getElementById('noauth-$t').checked){
			XHR.appendData('noauth','1');	
		}else{
			XHR.appendData('noauth','0');	
		
		}		

		XHR.sendAndLoad('$page', 'POST',xSubmit$t);
	}
	
	UnCheckAllow$t();
	</script>
		
	";
	echo $tpl->_ENGINE_parse_body(@implode("\n", $html));
}
Exemplo n.º 14
0
function DelDansGuardianExceptionipList(){
	$dans=new dansguardian_rules(null,1);
	if(!$dans->Del_bannediplist(1,$_GET["DelDansGuardianExceptionipList"])){
		echo $dans->error;
	}	
}
Exemplo n.º 15
0
function report_main()
{
    $page = CurrentPageName();
    $tpl = new templates();
    $q = new mysql_squid_builder();
    $dans = new dansguardian_rules();
    $cats = $dans->LoadBlackListes();
    while (list($num, $ligne) = each($cats)) {
        $newcat[$num] = $num;
    }
    $newcat[null] = "{none}";
    $sql = "SELECT DATE_FORMAT(zDate,'%Y-%m-%d') as tdate FROM tables_day ORDER BY zDate LIMIT 0,1";
    $ligne2 = mysql_fetch_array($q->QUERY_SQL($sql));
    $mindate = $ligne2["tdate"];
    $sql = "SELECT DATE_FORMAT(zDate,'%Y-%m-%d') as tdate FROM tables_day ORDER BY zDate DESC LIMIT 0,1";
    $ligne2 = mysql_fetch_array($q->QUERY_SQL($sql));
    $maxdate = $ligne2["tdate"];
    $ID = $_GET["ID"];
    $ligne = mysql_fetch_array($q->QUERY_SQL("SELECT * FROM `squid_reports` WHERE ID='{$ID}'"));
    $t = time();
    $report_days[0] = "{date_range}";
    $report_days[2] = "2 {days}";
    $report_days[7] = "1 {week}";
    $report_days[15] = "2 {weeks}";
    $report_days[-1] = "{current_month}";
    $report_days[30] = "1 {month}";
    $report_days[60] = "2 {months}";
    $report_days[90] = "3 {months}";
    $report_days[180] = "6 {months}";
    $report_days[365] = "1 {year}";
    $report_build_time_start = $ligne["report_build_time_start"];
    $report_build_time_end = $ligne["report_build_time_end"];
    if ($report_build_time_start == 0) {
        $report_build_time_start = $mindate;
    } else {
        $report_build_time_start = date("Y-m-d", $report_build_time_start);
    }
    if ($report_build_time_end == 0) {
        $report_build_time_end = $maxdate;
    } else {
        $report_build_time_end = date("Y-m-d", $report_build_time_end);
    }
    if ($ligne["report_name"] == null) {
        $ligne["report_name"] = "New report";
    }
    $html = "<div style='width:98%' class=form>\n\t<table style='width:100%'>\n\t" . Field_text_table("report_name-{$t}", "{report}", utf8_encode($ligne["report_name"]), 18, null, 350) . Field_text_table("description-{$t}", "{description}", utf8_encode($ligne["description"]), 18, null, 350) . Field_list_table("report_type-{$t}", "{type}", $ligne["report_type"], 18, $q->report_types) . Field_list_table("report_days-{$t}", "{from_the_last_time}", $ligne["report_days"], 18, $report_days, "ReportDaysCheck()") . "<tr>\n\t\t<td style='font-size:18px' class=legend>{from_date}:</td>\n\t\t<td>" . field_date("report_build_time_start-{$t}", $report_build_time_start, "font-size:18px;padding:3px;width:120px", "mindate:{$mindate};maxdate:{$maxdate}") . "</td>\n\t</tr>\n<tr>\n\t\t<td style='font-size:18px' class=legend>{to_date}:</td>\n\t\t<td>" . field_date("report_build_time_end-{$t}", $report_build_time_end, "font-size:18px;padding:3px;width:120px", "mindate:{$mindate};maxdate:{$maxdate}") . "</td>\n\t</tr>\t\t" . Field_checkbox_table("recategorize-{$t}", "{recategorize}", $ligne["recategorize"], 18) . Field_checkbox_table("categorize-{$t}", "{categorize}", $ligne["categorize"], 18) . Field_checkbox_table("report_not_categorized-{$t}", "{report_not_categorized}", $ligne["report_not_categorized"], 18) . Field_button_table_autonome("{apply}", "Save{$t}", 26) . "</table>\n\t</div>\t\n<script>\n\n\tvar xSave{$t}= function (obj) {\n\t\tvar res=obj.responseText;\n\t\t\n\t\tif (res.length>3){\n\t\t\talert(res);\n\t\t\treturn;\n\t\t}\n\t\t\$('#SQUID_MAIN_REPORTS').flexReload();\n\t\tRefreshTab('report_single_tab');\n\t}\t\n\t\n\tfunction ReportDaysCheck(){\n\t\tdocument.getElementById('report_build_time_start-{$t}').disabled=true;\n\t\tdocument.getElementById('report_build_time_end-{$t}').disabled=true;\n\t\tvar report_days=document.getElementById('report_days-{$t}').value;\n\t\tif(report_days==0){\n\t\t\tdocument.getElementById('report_build_time_start-{$t}').disabled=false;\n\t\t\tdocument.getElementById('report_build_time_end-{$t}').disabled=false;\t\t\n\t\t}\n\t}\n\n\tfunction Save{$t}(){\n\t\tvar XHR = new XHRConnection();\n\t\t\n\t\tXHR.appendData('ID',{$ID});\n\t\tXHR.appendData('report_name',encodeURIComponent(document.getElementById('report_name-{$t}').value));\n\t\tXHR.appendData('description',encodeURIComponent(document.getElementById('description-{$t}').value));\n\t\t\n\t\tXHR.appendData('report_build_time_start',document.getElementById('report_build_time_start-{$t}').value);\n\t\tXHR.appendData('report_build_time_end',document.getElementById('report_build_time_end-{$t}').value);\n\t\t\n\t\tXHR.appendData('report_type',document.getElementById('report_type-{$t}').value);\n\t\tXHR.appendData('report_days',document.getElementById('report_days-{$t}').value);\n\t\tif(document.getElementById('recategorize-{$t}').checked){XHR.appendData('recategorize',1);}else{XHR.appendData('recategorize',0);}\n\t\tif(document.getElementById('categorize-{$t}').checked){XHR.appendData('categorize',1);}else{XHR.appendData('categorize',0);}\n\t\tif(document.getElementById('report_not_categorized-{$t}').checked){XHR.appendData('report_not_categorized',1);}else{XHR.appendData('report_not_categorized',0);}\n\t\t\n\t\t\n\t\t\n\t\tXHR.sendAndLoad('{$page}', 'POST',xSave{$t});\t\n\t}\n\t\nReportDaysCheck();\n</script>\n\t\t\t\n\t\t\t\n\t";
    echo $tpl->_ENGINE_parse_body($html);
}
Exemplo n.º 16
0
function popup_group()
{
    $ldap = new clladp();
    $orgs = $ldap->hash_get_ou(true);
    $orgs[null] = "{select}";
    $organizations = Field_array_Hash($orgs, 'ou', null, "DansGuardianAuthChooseOrg()", null, 0, "font-size:15px;padding:4px");
    $dansg = new dansguardian_rules();
    $rules = $dansg->hash_RulesList();
    $rules[null] = "{select}";
    $rules_list = Field_array_Hash($rules, 'RuleID', null, null, null, 0, "font-size:15px;padding:4px");
    $html = "\n\t<table style='width:99%'>\n\t<tr>\n\t\t<td class=legend style='font-size:15px'>{organization}:</td>\n\t\t<td>{$organizations}</td>\n\t</tr>\n\t<tr><td class=legend style='font-size:15px'>{groups}:</td>\n\t<td><span id='dans-groups'></span>\n\t</tr>\n\t<tr>\n\t\t<td class=legend style='font-size:15px'>{rule}:</td>\n\t\t<td>{$rules_list}</td>\n\t</tr>\t\n\t<tr>\n\t\t<td colspan=2 align='right'><hr>" . button("{add}", "DansGuardianAuthAdd()") . "</td>\n\t</tr>\n\t</table>\n\t\n\t\n\t";
    $tpl = new templates();
    echo $tpl->_ENGINE_parse_body($html);
}
function categories()
{
    $page = CurrentPageName();
    $tpl = new templates();
    $users = new usersMenus();
    $q = new mysql_squid_builder();
    if (!$q->TABLE_EXISTS("webfilters_categories_caches")) {
        $q->CheckTables();
    } else {
        $q->QUERY_SQL("TRUNCATE TABLE webfilters_categories_caches");
    }
    $q->QUERY_SQL("DELETE FROM personal_categories WHERE category='';");
    $OnlyPersonal = null;
    $dans = new dansguardian_rules();
    $dans->LoadBlackListes();
    $purge_catagories_database_explain = $tpl->javascript_parse_text("{remove2}");
    $purge_catagories_table_explain = $tpl->javascript_parse_text("{purge_catagories_table_explain}");
    $items = $tpl->_ENGINE_parse_body("{items}");
    $size = $tpl->_ENGINE_parse_body("{size}");
    $SaveToDisk = $tpl->_ENGINE_parse_body("{SaveToDisk}");
    $addCat = $tpl->_ENGINE_parse_body("{new_category}");
    $purge = $tpl->_ENGINE_parse_body("{purgeAll}");
    $category = $tpl->_ENGINE_parse_body("{category}");
    $tablewith = 691;
    $compilesize = 35;
    $size_elemnts = 50;
    $size_size = 58;
    $title = $tpl->javascript_parse_text("{your_categories}");
    $deletetext = $tpl->javascript_parse_text("{remove2}");
    $delete = "{display: '<strong style=font-size:18px>{$deletetext}</strong>', name : 'icon3', width : 127, sortable : false, align: 'center'},";
    $t = time();
    $html = "\n<table class='META_CATEGORIES_TABLE' style='display: none' id='META_CATEGORIES_TABLE' style='width:99%'></table>\n<script>\n\$(document).ready(function(){\n\t\$('#META_CATEGORIES_TABLE').flexigrid({\n\turl: '{$page}?category-search=yes',\n\tdataType: 'json',\n\tcolModel : [\n\t{display: '<strong style=font-size:18px>{$category}</strong>', name : 'category', width : 898, sortable : false, align: 'left'},\n\t{display: '<strong style=font-size:18px>{$items}</strong>', name : 'TABLE_ROWS', width : 127, sortable : true, align: 'right'},\n\t\n\t{$delete}\n\n\t],\n\tbuttons : [\n\t\t{name: '<strong style=font-size:18px>{$addCat}</strong>', bclass: 'add', onpress : AddNewCategory},\n\t\t\n\t],\n\tsearchitems : [\n\t{display: '{$category}', name : 'category'},\n\t],\n\tsortname: 'category',\n\tsortorder: 'asc',\n\tusepager: true,\n\ttitle: '<span style=font-size:30px>{$title}</span>',\n\tuseRp: true,\n\trpOptions: [10, 20, 30, 50,100,200],\n\trp:50,\n\tshowTableToggleBtn: false,\n\twidth: '99%',\n\theight: 550,\n\tsingleSelect: true\n\n});\n});\n\n\nfunction AddNewCategory(){\n\tLoadjs('{$page}?add-perso-cat-js=yes&t={$t}');\n}\n\nfunction SwitchToArtica(){\n\$('#dansguardian2-category-{$t}').flexOptions({url: '{$page}?category-search=yes&minisize={$_GET["minisize"]}&t={$t}&artica=1'}).flexReload();\n}\n\nfunction SaveAllToDisk(){\nLoadjs('{$page}?compile-all-dbs-js=yes')\n\n}\n\nfunction LoadCategoriesSize(){\nLoadjs('dansguardian2.compilesize.php')\n}\n\nfunction CategoryDansSearchCheck(e){\nif(checkEnter(e)){CategoryDansSearch();}\n}\n\nfunction CategoryDansSearch(){\nvar se=escape(document.getElementById('category-dnas-search').value);\nLoadAjax('dansguardian2-category-list','{$page}?category-search='+se,false);\n\n}\n\nfunction DansGuardianCompileDB(category){\nLoadjs('ufdbguard.compile.category.php?category='+category);\n}\n\nfunction CheckStatsApplianceC(){\nLoadAjax('CheckStatsAppliance','{$page}?CheckStatsAppliance=yes',false);\n}\n\nvar X_PurgeCategoriesDatabase= function (obj) {\nvar results=obj.responseText;\nif(results.length>2){alert(results);}\nRefreshAllTabs();\n}\n\nfunction PurgeCategoriesDatabase(){\nif(confirm('{$purge_catagories_database_explain}')){\nvar XHR = new XHRConnection();\nXHR.appendData('PurgeCategoriesDatabase','yes');\nAnimateDiv('dansguardian2-category-list');\nXHR.sendAndLoad('{$page}', 'POST',X_PurgeCategoriesDatabase);\n}\n\n}\n\nvar X_TableCategoryPurge= function (obj) {\nvar results=obj.responseText;\nif(results.length>2){alert(results);}\n\$('#dansguardian2-category-{$t}').flexReload();\n}\n\nfunction TableCategoryPurge(category){\n\tif(confirm('{$purge_catagories_table_explain}: << '+category+' >>?')){\n\t\tvar XHR = new XHRConnection();\n\t\tXHR.appendData('remove_category',category);\n\t\tXHR.sendAndLoad('{$page}', 'POST',X_TableCategoryPurge);\n\t}\n}\n\n\nCheckStatsApplianceC();\n</script>\n\n";
    echo $tpl->_ENGINE_parse_body($html);
}
Exemplo n.º 18
0
function popup(){
	
	$tpl=new templates();
	$TB_WIDTH=915;
	
	$users=new usersMenus();

	
	if(isset($_GET["tablesize"])){$TB_WIDTH=$_GET["tablesize"];}
	$page=CurrentPageName();
	$t=time();
	$uri=$tpl->_ENGINE_parse_body("{url}");
	$date=$tpl->_ENGINE_parse_body("{date}");	
	$movetext=$tpl->_ENGINE_parse_body("{move}");
	$moveall=$tpl->_ENGINE_parse_body("{move} {all}");
	$select=$tpl->_ENGINE_parse_body("{select}"); 
	$add_websites=$tpl->_ENGINE_parse_body("{add_urls}");
	$category=$_GET["category"];
	$q=new mysql_squid_builder();
	$table="category_".$q->category_transform_name($category);	
	$searchitem=null;
	$category_text=$tpl->_ENGINE_parse_body("{category}");
	$removedAll=$tpl->javascript_parse_text("{delete_all}");
	$removedisabled_warn=$tpl->javascript_parse_text("{remove_disabled_items_warn}");
	$CategoriesCheckRightsWrite=CategoriesCheckRightsWrite();
	$export=$tpl->javascript_parse_text("{export}");
	if($category==null){
		
		if($q->COUNT_ROWS("webfilters_categories_caches")==0){
			$dans=new dansguardian_rules();
			$dans->CategoriesTableCache();
			
		}
		$sql="SELECT categorykey FROM webfilters_categories_caches ORDER BY categorykey";
		$results = $q->QUERY_SQL($sql);
		$s[]="{display: '$select', name : ''}";
		while ($ligne = mysql_fetch_assoc($results)) {
			$s[]="{display: '{$ligne["categorykey"]}', name : '{$ligne["categorykey"]}'}";
		}
		
		$searchitem="	searchitems : [
		".@implode(",\n", $s)."
		],";
		
		
		
	}
	$xls="{name: '$export:CSV', bclass: 'xls', onpress : xls$t},";
	$RemoveEnabled="{name: '$removedAll', bclass: 'Delz', onpress : DeleteAll$t},";
	$BUTTON_ADD="{name: '$add_websites', bclass: 'Add', onpress : AddWebSites$t},";
	
	if(!$CategoriesCheckRightsWrite){
		$RemoveEnabled=null;$BUTTON_ADD=null;
	}
	
		$buttons="buttons : [
			$RemoveEnabled
				],	";	
			

	
		if($_GET["middlesize"]=="yes"){$TB_WIDTH=915;}
		if($_GET["category"]<>null){
			$table_title="$category_text::$category";
		$buttons="buttons : [
			$BUTTON_ADD
			$RemoveEnabled $xls
				],";
		
		$searchitem="	searchitems : [
		{display: '$uri', name : 'pattern'}
		],";
		
		}


$rowebsite=461;
if(isset($_GET["rowebsite"])){$rowebsite=$_GET["rowebsite"];$rowebsite=$rowebsite-40;}

	if(!$users->CORP_LICENSE){
		$title=$title."<img src='img/status_warning.png'>".$tpl->_ENGINE_parse_body("{license_inactive}!")."";
	}
	
echo "
<span id='FlexReloadWebsiteCategoriesManageDiv'></span>
<div style='margin-left:-15px'>
	<table class='$t' style='display: none' id='$t' style='width:99%;'></table>
</div>
<script>
var MEMMD$t='';
$(document).ready(function(){
$('#$t').flexigrid({
	url: '$page?query=yes&category={$_GET["category"]}&website={$_GET["website"]}',
	dataType: 'json',
	colModel : [
			{display: '$date', name : 'zDate', width : 140, sortable : true, align: 'left'},	
			{display: '$uri', name : 'pattern', width :$rowebsite, sortable : true, align: 'left'},
			{display: '&nbsp;', name : 'none2', width : 40, sortable : false, align: 'left'},
		
	],
$buttons
$searchitem
	sortname: 'zDate',
	sortorder: 'desc',
	usepager: true,
	title: '$table_title',
	useRp: true,
	rp: 15,
	showTableToggleBtn: false,
	width: '99%',
	height: 300,
	singleSelect: true
	
	});   
});

function xls$t(){
	Loadjs('squid.categories.url.export.php?category={$_GET["category"]}&t=$t');
}

	function AddWebSites$t(){
		Loadjs('$page?add-uris-js=yes&category={$_GET["category"]}&t=$t');
	}

	function MoveCategorizedWebsite(zmd5,website,category,category_table){
		YahooWinBrowse(550,'$page?move-category-popup=yes&YahooWin=YahooWinBrowse&website='+website+'&zmd5='+zmd5+'&category-source='+category+'&table-source='+category_table,'$movetext::'+website);
	}

	function MoveAllCategorizedWebsite(){
		YahooWinBrowse(550,'$page?move-category-popup=yes&YahooWin=YahooWinBrowse&website=&zmd5=&category-source={$_GET["category"]}&table-source=$table&bysearch={$_GET["search"]}','$movetext::{$_GET["search"]}');
		
	}
	
	function MoveAllCategorizedWebsite2(category,table,search){
		YahooWinBrowse(550,'$page?move-category-popup=yes&YahooWin=YahooWinBrowse&website=&zmd5=&category-source='+category+'&table-source='+table+'&bysearch='+search+'&t=$t','$movetext::'+search);
		
	}

	var x_DeleteAll$t= function (obj) {
		var results=obj.responseText;
		if(results.length>0){alert(results);return;}
		$('#$t').flexReload();
	}		
	
	function DeleteAll$t(){
		var categoryZ = '{$_GET["category"]}'
		if(confirm('$removedAll:'+categoryZ)){
			var XHR = new XHRConnection();
			XHR.appendData('RemoveAll',categoryZ);
			XHR.sendAndLoad('$page', 'POST',x_DeleteAll$t);
		}
	}
	
	
	var x_DeleteCategorizedWebsite$t= function (obj) {
		var results=obj.responseText;
		if(results.length>0){alert(results);return;}
		$('#row'+MEMMD$t).remove();
	}	


	

	
	function DeleteCategorizedURI(zmd5,table){
		MEMMD$t=zmd5;
		var XHR = new XHRConnection();
		XHR.appendData('DeleteCategorizedURI',zmd5);
		XHR.appendData('catz','{$_GET["category"]}');
		XHR.appendData('TABLE',table);
		XHR.sendAndLoad('$page', 'POST',x_DeleteCategorizedWebsite$t);	
	}	

</script>
";	
}
function main_rules_exceptionsitelist_del()
{
    $rule_main = $_GET["rule_main"];
    $www = $_GET["exceptionsitelist_del"];
    $dans = new dansguardian_rules($_GET["hostname"], $rule_main);
    $dans->DelExceptionsitelist($www);
}
function add_category_save()
{
    include_once dirname(__FILE__) . "/ressources/class.ldap.inc";
    $ldap = new clladp();
    $dans = new dansguardian_rules();
    $_POST["personal_database"] = strtolower($ldap->StripSpecialsChars($_POST["personal_database"]));
    if ($_POST["personal_database"] == "security") {
        $_POST["personal_database"] = "security2";
    }
    if (isset($dans->array_blacksites[$_POST["personal_database"]])) {
        $tpl = new templates();
        echo $tpl->javascript_parse_text("{category_already_exists}");
        return;
    }
    if ($_POST["CatzByGroupA"] != null) {
        $_POST["CatzByGroupL"] = $_POST["CatzByGroupA"];
    }
    $_POST["CatzByGroupL"] = addslashes($_POST["CatzByGroupL"]);
    $_POST["category_text"] = addslashes($_POST["category_text"]);
    $q = new mysql_squid_builder();
    $sql = "SELECT category FROM personal_categories WHERE category='{$_POST["personal_database"]}'";
    $ligne = mysql_fetch_array($q->QUERY_SQL($sql));
    if ($ligne["category"] != null) {
        $sql = "UPDATE personal_categories \n\t\t\tSET category_description='{$_POST["category_text"]}',\n\t\t\tmaster_category='{$_POST["CatzByGroupL"]}'\n\t\t\tWHERE category='{$_POST["personal_database"]}'\n\t\t\t";
    } else {
        $sql = "INSERT IGNORE INTO personal_categories (category,category_description,master_category) \n\t\tVALUES ('{$_POST["personal_database"]}','{$_POST["category_text"]}','{$_POST["CatzByGroupL"]}');";
    }
    $q->QUERY_SQL($sql);
    if (!$q->ok) {
        echo $q->mysql_error;
        return;
    }
    $q->CreateCategoryTable($_POST["personal_database"]);
    $dans->CategoriesTableCache();
    $dans->CleanCategoryCaches();
    $sock = new sockets();
    $sock->getFrameWork("squid.php?clean-catz-cache=yes");
    $sock->getFrameWork("squid.php?export-web-categories=yes");
}
Exemplo n.º 21
0
function ApplyConfigDansGuardian($noecho = 0)
{
    $user = new usersMenus();
    if (!isset($_GET["hostname"])) {
        $hostname = $user->hostname;
    } else {
        $hostname = $_GET["hostname"];
    }
    $prod = "dansguardian_main_settings";
    $tpl = new templates();
    if ($user->DANSGUARDIAN_INSTALLED == false) {
        echo $tpl->_ENGINE_parse_body(NotInstalled($prod));
        exit;
    }
    include_once 'ressources/class.dansguardian.inc';
    $dans = new dansguardian($hostname);
    $dans->SaveSettings();
    if (is_array($dans->Master_rules_index)) {
        while (list($num, $line) = each($dans->Master_rules_index)) {
            $rules = new dansguardian_rules($hostname, $num);
            $rules->SaveConfigFiles();
        }
    }
    $sock = new sockets();
    $sock->getfile('dansguardian_saveconf:' . $hostname);
    if ($noecho == 0) {
        echo $tpl->_ENGINE_parse_body(Success($prod));
    }
}
Exemplo n.º 22
0
function CategorizeAll_popup(){
	
	$pattern=" AND sitename LIKE '%{$_GET["CategorizeAll"]}%' ";
	$pattern=str_replace("*","%",$pattern);
	$sql="SELECT COUNT( sitename ) AS tcount
	FROM `visited_sites`
	WHERE LENGTH( `category` )=0
	$pattern";
	
	$tpl=new templates();
	$page=CurrentPageName();
	$q=new mysql_squid_builder();
	$ligne=@mysql_fetch_array($q->QUERY_SQL($sql,"artica_events"));
	$websites=$tpl->_ENGINE_parse_body("{websites}");
	if(!$q->ok){echo "<H3>$q->mysql_error</H3>";}
	$count=$ligne["tcount"];
	$dans=new dansguardian_rules();
	$array_blacksites=$dans->LoadBlackListes();
	while (list($num,$val)=each($array_blacksites)){	
		$blcks[$num]=$num;
		
	}
	$blcks[null]="{select}";
	$field=Field_array_Hash($blcks,"CategorizeAll_category",null,"CategorizeAllDef()",null,0, "font-size:16px;padding:3px");
	
	$html="
	<div id='cat-perf-all'>
	<table style='width:99%' class=form>
	<tr>
		<td class=legend>{pattern}:</td>
		<td><strong style='font-size:13px'>{$_GET["CategorizeAll"]}</td>
	</tr>	
	<tr>
		<td class=legend>{websites}:</td>
		<td><strong style='font-size:13px'>$count</td>
	</tr>
	<tr>
		<td class=legend>{category}:</td>
		<td>$field</td>
	</tr>
	<tr><td colspan=2><div id='cat-explain'></div></td>	
	<tr>
		<td colspan=2 align='right'><hr>". button("{categorize}","CategorizeAllPerform();",16)."</td>
	</tr>
	</table>
	</div>
	<script>
		function CategorizeAllDef(){
			LoadAjax('cat-explain','$page?cat-explain='+escape(document.getElementById('CategorizeAll_category').value)+'&day={$_GET["day"]}');
		}
		var x_CategorizeAllPerform=function(obj){
     	var tempvalue=obj.responseText;
      	if(tempvalue.length>3){alert(tempvalue);}
      	if(document.getElementById('SQUIDNOCATREFRESHTABLEID')){SQUIDNOCATREFRESHTABLE();}
     	YahooWin4Hide();
     
     	}	
      


	function CategorizeAllPerform(){
		var CategorizeAll_category=document.getElementById('CategorizeAll_category').value;
		if(CategorizeAll_category.length>0){
			var XHR = new XHRConnection();
			XHR.appendData('CategorizeAll_category',CategorizeAll_category);
			if(confirm('*{$_GET["CategorizeAll"]}*: -> $count $websites -> '+CategorizeAll_category+'?')){
				var XHR = new XHRConnection();
				XHR.appendData('CategorizeAll_category',CategorizeAll_category);
				XHR.appendData('pattern','{$_GET["CategorizeAll"]}');
				XHR.appendData('day','{$_GET["day"]}');
				XHR.appendData('week','{$_GET["week"]}');
				document.getElementById('cat-perf-all').innerHTML='<center><img src=\"img/wait_verybig.gif\"></center>';
				XHR.sendAndLoad('$page', 'GET',x_CategorizeAllPerform);		
			}
			}
	}		
		
	</script>
	";
	
	echo $tpl->_ENGINE_parse_body($html);

}
function categories_search()
{
    $tpl = new templates();
    $catz = new mysql_catz();
    $tables = $catz->LIST_TABLES_CATEGORIES();
    $dans = new dansguardian_rules();
    $dans->LoadBlackListes();
    $search = string_to_flexregex("categories-search");
    $TransArray = $catz->TransArray();
    while (list($key, $value) = each($tables)) {
        $categoryname = $TransArray[$key];
        $text_category = $tpl->_ENGINE_parse_body($dans->array_blacksites[$categoryname]);
        if (!isset($dans->array_blacksites[$categoryname])) {
            continue;
        }
        if ($dans->array_pics[$categoryname] != null) {
            $pic = "<img src='img/{$dans->array_pics[$categoryname]}'>";
        } else {
            $pic = "&nbsp;";
        }
        $CTCOUNT = $catz->COUNT_ROWS($key);
        if ($CTCOUNT == 0) {
            continue;
        }
        $items = numberFormat($CTCOUNT, 0);
        if ($search != null) {
            if (!preg_match("#{$search}#", $categoryname)) {
                if (!preg_match("#{$search}#", $text_category)) {
                    continue;
                }
            }
        }
        $tr[] = "\n\t\t<tr id='{$id}'>\n\t\t<td width=1% nowrap>{$pic}</td>\n\t\t<td><i class='icon-globe'></i>&nbsp;<strong>{$categoryname}</strong><div>{$text_category}</div></td>\n\t\t<td nowrap><i class='icon-info-sign'></i>&nbsp;<span style='font-size:18px'>{$items}</span></td>\n\t\t</tr>";
    }
    echo $tpl->_ENGINE_parse_body("\n\t\n\t\t<table class='table table-bordered'>\n\t\n\t\t\t<thead>\n\t\t\t\t<tr>\n\t\t\t\t\t<th colspan=2>{category}</th>\n\t\t\t\t\t<th>{websites}</th>\n\t\t\t\t</tr>\n\t\t\t</thead>\n\t\t\t <tbody>\n\t\t\t") . @implode("", $tr) . "</tbody></table>";
}
Exemplo n.º 24
0
function test_category_perform(){
	$www=$_REQUEST["WEBTESTS"];
	
	
	$tpl=new templates();
	$q=new mysql_squid_builder();
	$www=$q->WebsiteStrip($www);
	
	if($www==null){
		echo $tpl->_ENGINE_parse_body("<p class=text-error>{corrupted_request}: &laquo;{$_REQUEST["WEBTESTS"]}&raquo;</p>");
		return;
	}
	
	$dans=new dansguardian_rules();
	$dans->LoadBlackListes();
	
	$catz=$q->GET_CATEGORIES($www,true);
	if($catz==null){
		echo $tpl->_ENGINE_parse_body("<p class=text-error>{unknown}: &laquo;{$_REQUEST["WEBTESTS"]}&raquo;</p>");
		return;
	}
	if(strpos(" $catz", ",")>0){$CATs=explode(",", $catz);}else{$CATs[]=$catz;}
	
	$sql="SELECT * FROM personal_categories";
	if(!$q->TABLE_EXISTS("personal_categories")){json_error_show("personal_categories no such table!",1);}
	
	$results=$q->QUERY_SQL($sql);
	if(!$q->ok){json_error_show("Mysql Error [".__LINE__."]: $q->mysql_error",1);}
	while($ligne=mysql_fetch_array($results,MYSQL_ASSOC)){$PERSONALSCATS[$ligne["category"]]=$ligne["category_description"];}
		
	
	while (list ($num, $categoryname) = each ($CATs) ){
		
		if(!isset($dans->array_blacksites[$categoryname])){
			if(isset($dans->array_blacksites[str_replace("_","-",$categoryname)])){$categoryname=str_replace("_","-",$categoryname);}
			if(isset($dans->array_blacksites[str_replace("_","/",$categoryname)])){$categoryname=str_replace("_","/",$categoryname);}
		}		
		if($dans->array_pics[$categoryname]<>null){$pic="<img src='img/{$dans->array_pics[$categoryname]}'>";}else{$pic="&nbsp;";}
		$text_category=$dans->array_blacksites[$categoryname];

		if(isset($PERSONALSCATS[$categoryname])){
			$text_category=utf8_encode($PERSONALSCATS[$categoryname]);
			if($pic=="&nbsp;"){$pic="<img src='img/20-categories-personnal.png'>";}

		}
		$js="javascript:Loadjs('squid.categories.php?category=$categoryname&t=$t')";
		$categoryText[]=$tpl->_ENGINE_parse_body("
		<tr>
			<td width=1% nowrap>$pic</td>
			<td valign='top'>
				<div style='font-size:18px';font-weight:bold'>
					<a href=\"javascript:blur();\" OnClick=\"$js\" style='text-decoration:underline'>$categoryname</a>:</div>
				<div style='font-size:16px;width:100%;font-weight:normal'>{$text_category}</div>
			</td>
		</tr>		
		");
		
		
	}
	$found=$tpl->_ENGINE_parse_body("{found}");
	echo "<div style='width:95%:padding-left:50px;padding-top:20px' class=text-info><div style='font-size:18px'>$found</div><table>".@implode("\n", $categoryText)."</table></div>";
	
}
Exemplo n.º 25
0
function categories_list()
{
    $tpl = new templates();
    $MyPage = CurrentPageName();
    $q = new mysql_squid_builder();
    if (!is_numeric($_GET["TimeID"])) {
        $_GET["TimeID"] = 0;
    }
    $search = '%';
    $table = "webfilters_categories_caches";
    $page = 1;
    $ORDER = "ORDER BY categorykey ASC";
    $FORCE_FILTER = null;
    $count_webfilters_categories_caches = $q->COUNT_ROWS("webfilters_categories_caches");
    writelogs("webfilters_categories_caches {$count_webfilters_categories_caches} rows", __FUNCTION__, __FILE__, __LINE__);
    if ($count_webfilters_categories_caches == 0) {
        $ss = new dansguardian_rules();
        $ss->CategoriesTableCache();
    }
    if (!$q->TABLE_EXISTS($tableProd)) {
        $q->CheckTables();
    }
    $sql = "SELECT `category` FROM usersisp_blkcatz";
    $results = $q->QUERY_SQL($sql);
    while ($ligne = mysql_fetch_array($results, MYSQL_ASSOC)) {
        $cats[$ligne["category"]] = true;
    }
    if (isset($_POST["sortname"])) {
        if ($_POST["sortname"] != null) {
            $ORDER = "ORDER BY {$_POST["sortname"]} {$_POST["sortorder"]}";
        }
    }
    if (isset($_POST['page'])) {
        $page = $_POST['page'];
    }
    if (isset($_POST['rp'])) {
        $rp = $_POST['rp'];
    }
    $pageStart = ($page - 1) * $rp;
    $limitSql = "LIMIT {$pageStart}, {$rp}";
    if ($_POST["query"] != null) {
        $_POST["query"] = "*{$_POST["query"]}*";
        $_POST["query"] = str_replace("**", "*", $_POST["query"]);
        $_POST["query"] = str_replace("**", "*", $_POST["query"]);
        $_POST["query"] = str_replace("*", "%", $_POST["query"]);
        $search = $_POST["query"];
        $searchstring = "AND (`{$_POST["qtype"]}` LIKE '{$search}')";
        $sql = "SELECT COUNT(*) as TCOUNT FROM `webfilters_categories_caches` WHERE 1 {$FORCE_FILTER} {$searchstring}";
        $ligne = mysql_fetch_array($q->QUERY_SQL($sql, "artica_backup"));
        if (!$q->ok) {
            json_error_show($q->mysql_error);
        }
        $total = $ligne["TCOUNT"];
        writelogs("{$sql} = {$total} rows", __FUNCTION__, __FILE__, __LINE__);
    } else {
        $sql = "SELECT COUNT(*) as TCOUNT FROM `webfilters_categories_caches` WHERE 1 {$FORCE_FILTER}";
        $ligne = mysql_fetch_array($q->QUERY_SQL($sql, "artica_backup"));
        if (!$q->ok) {
            json_error_show($q->mysql_error);
        }
        $total = $ligne["TCOUNT"];
    }
    if ($OnlyEnabled) {
        $limitSql = null;
    }
    $sql = "SELECT *  FROM `webfilters_categories_caches` WHERE 1 {$searchstring} {$FORCE_FILTER} {$ORDER} {$limitSql}";
    writelogs($sql, __FUNCTION__, __FILE__, __LINE__);
    $results = $q->QUERY_SQL($sql);
    if (!$q->ok) {
        json_error_show($q->mysql_error);
    }
    $data = array();
    $data['page'] = $page;
    $data['total'] = $total;
    $data['rows'] = array();
    if (mysql_num_rows($results) == 0) {
        $data['rows'][] = array('id' => $ligne[time()], 'cell' => array($sql, "", "", ""));
    }
    while ($ligne = mysql_fetch_assoc($results)) {
        if ($ligne["picture"] == null) {
            $ligne["picture"] = "20-categories-personnal.png";
        }
        $img = "img/{$ligne["picture"]}";
        $val = 0;
        $zmd5 = md5($ligne['categorykey']);
        if ($cats[$ligne['categorykey']]) {
            $val = 1;
        }
        $disable = Field_checkbox($zmd5, 1, $val, "EnableDisableForceCategory('{$ligne['categorykey']}','{$zmd5}')");
        $data['rows'][] = array('id' => $ligne['categorykey'], 'cell' => array("<img src='{$img}'>", "{$js}{$ligne['categorykey']}</a>", $ligne['description'], $disable));
    }
    echo json_encode($data);
}
Exemplo n.º 26
0
function blacklist_list()
{
    //ini_set('html_errors',0);ini_set('display_errors', 1);ini_set('error_reporting', E_ALL);ini_set('error_prepend_string','');ini_set('error_append_string','');
    $tpl = new templates();
    $MyPage = CurrentPageName();
    $q = new mysql_squid_builder();
    if (!is_numeric($_GET["TimeID"])) {
        $_GET["TimeID"] = 0;
    }
    $users = new usersMenus();
    $text_license = null;
    if (!$users->CORP_LICENSE) {
        $text_license = $tpl->_ENGINE_parse_body("({category_no_license_explain})");
    }
    $search = '%';
    $table = "webfilters_categories_caches";
    $tableProd = "webfilter_blks";
    if ($_GET["TimeID"] > 0) {
        $tableProd = "webfilters_dtimes_blks";
    }
    if ($_GET["QuotaID"] > 0) {
        $_GET["RULEID"] = $_GET["QuotaID"];
        $tableProd = "webfilters_quotas_blks";
    }
    $page = 1;
    $ORDER = "ORDER BY categorykey ASC";
    $FORCE_FILTER = null;
    if (trim($_GET["group"]) != null) {
        $FORCE_FILTER = " AND master_category='{$_GET["group"]}'";
    }
    if (isset($_GET["CatzByEnabled"])) {
        $OnlyEnabled = true;
    }
    $count_webfilters_categories_caches = $q->COUNT_ROWS("webfilters_categories_caches");
    writelogs("webfilters_categories_caches {$count_webfilters_categories_caches} rows", __FUNCTION__, __FILE__, __LINE__);
    if ($count_webfilters_categories_caches == 0) {
        $ss = new dansguardian_rules();
        $ss->CategoriesTableCache();
    }
    if (!$q->TABLE_EXISTS($tableProd)) {
        $q->CheckTables();
    }
    $sql = "SELECT `category` FROM {$tableProd} WHERE `webfilter_id`={$_GET["RULEID"]} AND modeblk={$_GET["modeblk"]}";
    $results = $q->QUERY_SQL($sql);
    if (!$q->ok) {
        json_error_show("{$q->mysql_error}<br>{$sql}", 2);
    }
    while ($ligne = mysql_fetch_array($results, MYSQL_ASSOC)) {
        $cats[$ligne["category"]] = true;
    }
    if (isset($_POST["sortname"])) {
        if ($_POST["sortname"] != null) {
            $ORDER = "ORDER BY {$_POST["sortname"]} {$_POST["sortorder"]}";
        }
    }
    if (isset($_POST['page'])) {
        $page = $_POST['page'];
    }
    if (isset($_POST['rp'])) {
        $rp = $_POST['rp'];
    }
    $pageStart = ($page - 1) * $rp;
    $limitSql = "LIMIT {$pageStart}, {$rp}";
    $searchstring = string_to_flexquery();
    if ($searchstring != null) {
        $sql = "SELECT COUNT(*) as TCOUNT FROM `webfilters_categories_caches` WHERE 1 {$FORCE_FILTER} {$searchstring}";
        $ligne = mysql_fetch_array($q->QUERY_SQL($sql, "artica_backup"));
        if (!$q->ok) {
            $data['rows'][] = array('id' => $ligne[time()], 'cell' => array($q->mysql_error, "", "", ""));
            json_encode($data);
            return;
        }
        $total = $ligne["TCOUNT"];
        writelogs("{$sql} = {$total} rows", __FUNCTION__, __FILE__, __LINE__);
    } else {
        $sql = "SELECT COUNT(*) as TCOUNT FROM `webfilters_categories_caches` WHERE 1 {$FORCE_FILTER}";
        $ligne = mysql_fetch_array($q->QUERY_SQL($sql, "artica_backup"));
        if (!$q->ok) {
            $data['rows'][] = array('id' => $ligne[time()], 'cell' => array($q->mysql_error, "", "", ""));
            json_encode($data);
            return;
        }
        $total = $ligne["TCOUNT"];
    }
    if ($OnlyEnabled) {
        $limitSql = null;
    }
    $sql = "SELECT *  FROM `webfilters_categories_caches` WHERE 1 {$searchstring} {$FORCE_FILTER} {$ORDER} {$limitSql}";
    writelogs($sql, __FUNCTION__, __FILE__, __LINE__);
    $results = $q->QUERY_SQL($sql);
    if (!$q->ok) {
        $data['rows'][] = array('id' => $ligne[time()], 'cell' => array($q->mysql_error, "", "", ""));
        json_encode($data);
        return;
    }
    $data = array();
    $data['page'] = $page;
    $data['total'] = $total;
    $data['rows'] = array();
    if (mysql_num_rows($results) == 0) {
        $data['rows'][] = array('id' => $ligne[time()], 'cell' => array($sql, "", "", ""));
    }
    $items = $tpl->_ENGINE_parse_body("{items}");
    $compile = $tpl->_ENGINE_parse_body("{compile}");
    $catz = new mysql_catz();
    while ($ligne = mysql_fetch_assoc($results)) {
        if ($ligne["picture"] == null) {
            $ligne["picture"] = "20-categories-personnal.png";
        }
        $category_table = "category_" . $q->category_transform_name($ligne['categorykey']);
        $category_table_elements = $q->COUNT_ROWS($category_table);
        $DBTXT = array();
        $database_items = null;
        $img = "img/{$ligne["picture"]}";
        $val = 0;
        if ($cats[$ligne['categorykey']]) {
            $val = 1;
        }
        if ($OnlyEnabled) {
            if ($val == 0) {
                continue;
            }
        }
        $disable = Field_checkbox("cats_{$_GET['RULEID']}_{$_GET['modeblk']}_{$ligne['categorykey']}", 1, $val, "EnableDisableCategoryRule('{$ligne['categorykey']}','{$_GET["RULEID"]}','{$_GET["modeblk"]}','{$_GET["TimeID"]}')");
        $ligne['description'] = utf8_encode($ligne['description']);
        $data['rows'][] = array('id' => $ligne['categorykey'], 'cell' => array("<img src='{$img}'>", "{$js}{$ligne['categorykey']}</a>", $ligne['description'] . "<br>{$database_items}", $disable));
    }
    echo json_encode($data);
}
Exemplo n.º 27
0
function category_list()
{
    //ini_set('html_errors',0);ini_set('display_errors', 1);ini_set('error_reporting', E_ALL);ini_set('error_prepend_string','');ini_set('error_append_string','');
    $tpl = new templates();
    $MyPage = CurrentPageName();
    $q = new mysql_squid_builder();
    $users = new usersMenus();
    $text_license = null;
    if (!$users->CORP_LICENSE) {
        $text_license = $tpl->_ENGINE_parse_body("({category_no_license_explain})");
    }
    $search = '%';
    $table = "webfilters_categories_caches";
    $tableProd = "cicap_profiles_blks";
    $page = 1;
    $ORDER = "ORDER BY categorykey ASC";
    $FORCE_FILTER = null;
    if (trim($_GET["group"]) != null) {
        $FORCE_FILTER = " AND master_category='{$_GET["group"]}'";
    }
    if (isset($_GET["CatzByEnabled"])) {
        $OnlyEnabled = true;
    }
    $count_webfilters_categories_caches = $q->COUNT_ROWS("webfilters_categories_caches");
    writelogs("webfilters_categories_caches {$count_webfilters_categories_caches} rows", __FUNCTION__, __FILE__, __LINE__);
    if ($count_webfilters_categories_caches == 0) {
        $ss = new dansguardian_rules();
        $ss->CategoriesTableCache();
    }
    if (!$q->TABLE_EXISTS($tableProd)) {
        $q->CheckTables();
    }
    $sql = "SELECT `category` FROM {$tableProd} WHERE `mainid`={$_GET["mainid"]} AND bltype={$_GET["bltype"]}";
    $results = $q->QUERY_SQL($sql);
    if (!$q->ok) {
        json_error_show("{$q->mysql_error}", 1);
    }
    while ($ligne = mysql_fetch_array($results, MYSQL_ASSOC)) {
        $cats[$ligne["category"]] = true;
    }
    if (isset($_POST["sortname"])) {
        if ($_POST["sortname"] != null) {
            $ORDER = "ORDER BY {$_POST["sortname"]} {$_POST["sortorder"]}";
        }
    }
    if (isset($_POST['page'])) {
        $page = $_POST['page'];
    }
    if (isset($_POST['rp'])) {
        $rp = $_POST['rp'];
    }
    $pageStart = ($page - 1) * $rp;
    $limitSql = "LIMIT {$pageStart}, {$rp}";
    $searchstring = string_to_flexquery();
    if ($searchstring != null) {
        $sql = "SELECT COUNT(*) as TCOUNT FROM `webfilters_categories_caches` WHERE 1 {$FORCE_FILTER} {$searchstring}";
        $ligne = mysql_fetch_array($q->QUERY_SQL($sql, "artica_backup"));
        if (!$q->ok) {
            $data['rows'][] = array('id' => $ligne[time()], 'cell' => array($q->mysql_error, "", "", ""));
            json_encode($data);
            return;
        }
        $total = $ligne["TCOUNT"];
        writelogs("{$sql} = {$total} rows", __FUNCTION__, __FILE__, __LINE__);
    } else {
        $sql = "SELECT COUNT(*) as TCOUNT FROM `webfilters_categories_caches` WHERE 1 {$FORCE_FILTER}";
        $ligne = mysql_fetch_array($q->QUERY_SQL($sql, "artica_backup"));
        if (!$q->ok) {
            $data['rows'][] = array('id' => $ligne[time()], 'cell' => array($q->mysql_error, "", "", ""));
            json_encode($data);
            return;
        }
        $total = $ligne["TCOUNT"];
    }
    if ($OnlyEnabled) {
        $limitSql = null;
    }
    $sql = "SELECT *  FROM `webfilters_categories_caches` WHERE 1 {$searchstring} {$FORCE_FILTER} {$ORDER} {$limitSql}";
    writelogs($sql, __FUNCTION__, __FILE__, __LINE__);
    $results = $q->QUERY_SQL($sql);
    if (!$q->ok) {
        $data['rows'][] = array('id' => $ligne[time()], 'cell' => array($q->mysql_error, "", "", ""));
        json_encode($data);
        return;
    }
    $data = array();
    $data['page'] = $page;
    $data['total'] = $total;
    $data['rows'] = array();
    if (mysql_num_rows($results) == 0) {
        $data['rows'][] = array('id' => $ligne[time()], 'cell' => array($sql, "", "", ""));
    }
    $items = $tpl->_ENGINE_parse_body("{items}");
    $compile = $tpl->_ENGINE_parse_body("{compile}");
    $catz = new mysql_catz();
    while ($ligne = mysql_fetch_assoc($results)) {
        if ($ligne["picture"] == null) {
            $ligne["picture"] = "20-categories-personnal.png";
        }
        $category_table = "category_" . $q->category_transform_name($ligne['categorykey']);
        $category_table_elements = $q->COUNT_ROWS($category_table);
        $DBTXT = array();
        $database_items = null;
        if ($category_table_elements > 0) {
            $category_table_elements = FormatNumber($category_table_elements);
            $DBTXT[] = "<a href=\"javascript:blurt();\" OnClick=\"javascript:Loadjs('squid.categories.php?category=" . urlencode($ligne['categorykey']) . "',true)\"\n\t\t\tstyle='font-size:11px;font-weight:bold;text-decoration:underline'>{$category_table_elements}</a> {$items}";
            $DBTXT[] = "<a href=\"javascript:blurt();\" OnClick=\"javascript:Loadjs('ufdbguard.compile.category.php?category=" . urlencode($ligne['categorykey']) . "',true)\"\n\t\t\tstyle='font-size:11px;font-weight:bold;text-decoration:underline'>{$compile}</a>";
        }
        $ligneTLS = mysql_fetch_array($q->QUERY_SQL("SELECT websitesnum FROM univtlse1fr WHERE category='{$ligne['categorykey']}'"));
        $category_table_elements_tlse = $ligneTLS["websitesnum"];
        if ($category_table_elements_tlse > 0) {
            $category_table_elements_tlse = FormatNumber($category_table_elements_tlse);
            $DBTXT[] = "{$category_table_elements_tlse} Toulouse University {$items}";
        }
        $catz = new mysql_catz();
        $category_table_elements_artica = $catz->COUNT_ROWS($category_table);
        if ($category_table_elements_artica > 0) {
            $category_table_elements_artica = FormatNumber($category_table_elements_artica);
            $DBTXT[] = "{$category_table_elements_artica} Artica {$items} <i style='font-size:10px;font-weight:normal'>{$text_license}</i>";
        }
        if (count($DBTXT) > 0) {
            $database_items = "<span style='font-size:11px;font-weight:bold'>" . @implode("&nbsp;|&nbsp;", $DBTXT) . "</span>";
        }
        $img = "img/{$ligne["picture"]}";
        $val = 0;
        if ($cats[$ligne['categorykey']]) {
            $val = 1;
        }
        if ($OnlyEnabled) {
            if ($val == 0) {
                continue;
            }
        }
        $disable = Field_checkbox("cats_{$_GET['RULEID']}_{$_GET['bltype']}_{$ligne['categorykey']}", 1, $val, "Loadjs('{$MyPage}?category-enable-js={$ligne['categorykey']}&mainid={$_GET["mainid"]}&bltype={$_GET["bltype"]}')");
        $ligne['description'] = utf8_encode($ligne['description']);
        $data['rows'][] = array('id' => $ligne['categorykey'], 'cell' => array("<img src='{$img}'>", "{$js}{$ligne['categorykey']}</a>", $ligne['description'] . "<br>\n\t\t\t\t{$database_items}", $disable));
    }
    echo json_encode($data);
}
function main_extention_bannedextensionlist_del()
{
    $rule_main = $_GET["rule_main"];
    $dans = new dansguardian_rules($_GET["hostname"], $rule_main);
    $dans->DelBannedExtensionList($rule_main, $_GET["bannedextensionlist_del"]);
}
Exemplo n.º 29
0
function ip_group_wizard()
{
    if (isset($_GET["delete_index"])) {
        writelogs("Must delete rule number {$_GET["delete_index"]}", __FUNCTION__, __FILE__);
        $dansrules = new dansguardian_rules(null, $_GET["rule_id"]);
        $dansrules->DelIpToFilter($_GET["delete_index"]);
        exit;
    }
    if (isset($_GET["rule_id"])) {
        $dansrules = new dansguardian_rules(null, $_GET["rule_id"]);
        if ($dansrules->AddIpToFilter($_GET["pattern"], $_GET["rule_id"])) {
            $tpl = new templates();
            echo $tpl->javascript_parse_text('{success}: ' . $_GET["pattern"]);
        }
        exit;
    }
    $arr = array("single" => "{single_ip}", "subnet" => "{subnet}", "group" => "{group_ip}");
    $users = new usersMenus();
    $sock = new sockets();
    if ($users->C_ICAP_INSTALLED) {
        if ($sock->GET_INFO('CicapEnabled') == 1) {
            $arr = array("single" => "{single_ip}", "pattern" => "{pattern}");
        }
    }
    $select = Field_array_Hash($arr, 'ip_family', null, null, 0, "font-size:13px;padding:3px");
    $tpl = new templates();
    $form = "\n\t<table>\n\t<tr>\n\t\t<td class=legend style='font-size:13px' nowrap>{select_ip_family}:</td>\n\t\t<td>{$select}</td>\n\t</tr>\n\t<tr><td colspan=2><hr></td></tr>\n\t<tr>\t\n\t\t<td colspan=2 align='right'><hr>" . button("{add}", "ip_group_wizard()") . "</td>\n\t</table>";
    if ($_GET["selected-ip-family"] == "single") {
        $form = "\n\t<table>\n\t<tr>\n\t\t<td class=legend>{ip_address}:</td>\n\t\t<td style='font-size:13px'>" . Field_text('ip_address', null, 'width:120px;font-size:13px;padding:3px') . "</td>\n\t</tr>\n\t<tr><td colspan=2><hr></td></tr>\n\t<tr>\n\t\t<td>" . button("{back}", "ip_group_start()") . "</td>\n\t\t<td align='right'>" . button("{next}", "ip_group_single()") . "</td>\n\t</tr>\n\t</table>";
    }
    if ($_GET["selected-ip-family"] == "pattern") {
        $form = "\n<p class=caption style='font-size:14px'>Eg: <li style='font-size:13px'>192.168.1</li>\n<li style='font-size:13px'>192.168.</li></p>\n\t<table>\n\t<tr>\n\t\t<td class=legend>{pattern}:</td>\n\t\t<td style='font-size:13px'>" . Field_text('ip_address', null, 'width:120px;font-size:13px;padding:3px') . "</td>\n\t</tr>\n\t<tr><td colspan=2><hr></td></tr>\n\t<tr>\n\t\t<td>" . button("{back}", "ip_group_start()") . "</td>\n\t\t<td align='right'>" . button("{next}", "ip_group_pattern()") . "</td>\n\t</tr>\n\t</table>";
    }
    if ($_GET["selected-ip-family"] == "subnet") {
        $form = "\n\t<p class=caption style='font-size:14px'>Eg: <li style='font-size:13px'>192.168.1.0</li> <li style='font-size:13px'>255.255.255.0</li></p>\n\t<table>\n\t<tr>\n\t\t<td class=legend>{ip_start}:</td>\n\t\t<td>" . Field_text('ip_start', null, 'width:190px;font-size:13px;padding:3px') . "</td>\n\t</tr>\n\t<tr>\n\t\t<td class=legend>{netmask}:</td>\n\t\t<td>" . Field_text('netmask', null, 'width:190px;font-size:13px;padding:3px') . "</td>\n\t</tr>\t\n\t<tr>\t\n\t<tr><td colspan=2><hr></td></tr>\n\t\t<td><input type='button' OnClick=\"javascript:ip_group_start()\" value='&laquo;&nbsp;{back}'></td>\n\t\t<td align='right'><input type='button' OnClick=\"javascript:ip_group_subnet()\" value='{next}&nbsp;&raquo;'></td>\n\t</table>";
    }
    if ($_GET["selected-ip-family"] == "group") {
        $form = "\n\t<p class=caption>Ex: <li>192.168.1.20</li> <li>192.168.1.140</li></p>\n\t<table>\n\t<tr>\n\t\t<td class=legend>{ip_start}:</td>\n\t\t<td>" . Field_text('ip_start', null, 'width:120px') . "</td>\n\t</tr>\n\t<td class=legend>{ip_to}:</td>\n\t\t<td>" . Field_text('ip_to', null, 'width:120px') . "</td>\n\t</tr>\n\t<tr>\t\n\t<tr><td colspan=2><hr></td></tr>\n\t\t<td><input type='button' OnClick=\"javascript:ip_group_start()\" value='&laquo;&nbsp;{back}'></td>\n\t\t<td align='right'><input type='button' OnClick=\"javascript:ip_group_range()\" value='{next}&nbsp;&raquo;'></td>\n\t</table>";
    }
    if ($_GET["selected-ip-family"] == "rule") {
        $dans = new dansguardian();
        $rules = $dans->Master_rules_index;
        if (is_array($rules)) {
            while (list($num, $val) = each($rules)) {
                if ($num == 1) {
                    continue;
                }
                $rulename = $val;
                $arr1[$num] = $rulename;
            }
            $form = "\n\t\t<div id='ip_group_end'>\n\t\t\t<strong style='font-size:13px'>{$_GET["pattern"]}</strong>\n\t\t\t<table class='table_form'>\n\t\t\t<tr>\n\t\t\t\t<td class=legend>{select_rule}:</td>\n\t\t\t\t<td>" . Field_array_Hash($arr1, 'rule_id', null) . "</td>\n\t\t\t</tr>\n\t\t\t<tr><td colspan=2><hr></td></tr>\n\t\t\t\t<td><input type='button' OnClick=\"javascript:ip_group_start()\" value='&laquo;&nbsp;{back}'></td>\n\t\t\t\t<td align='right'><input type='button' OnClick=\"javascript:ip_group_end()\" value='{add}&nbsp;&raquo;'></td>\n\t\t\t</table>\n\t\t</div>";
        }
    }
    $html = "\n\n\t<table style='width:100%'>\n\t<tr>\n\t<td valign='top' width=1%><img src='img/64-add-computer.png' style='margin:5px'></td>\n\t<td valign='top' width=99%>{$form}</td>\n\t</tr>\n\t</table>";
    echo $tpl->_ENGINE_parse_body($html);
}
function SyncTable()
{
    $q = new mysql_squid_builder();
    $q->QUERY_SQL("TRUNCATE TABLE webfilters_categories_caches");
    $ss = new dansguardian_rules();
    $ss->CategoriesTableCache();
    $sql = "SELECT categorykey  FROM `webfilters_categories_caches`";
    $results = $q->QUERY_SQL($sql);
    while ($ligne = mysql_fetch_array($results, MYSQL_ASSOC)) {
        $array[$ligne['categorykey']] = true;
    }
    $sql = "SELECT category FROM webfilter_blkcnt";
    $results = $q->QUERY_SQL($sql);
    if (!$q->ok) {
        echo $q->mysql_error;
        return;
    }
    while ($ligne = mysql_fetch_array($results, MYSQL_ASSOC)) {
        $category = $ligne["category"];
        if (!isset($array[$category])) {
            $q->QUERY_SQL("DELETE FROM webfilter_blkcnt WHERE category='" . mysql_escape_string2($category) . "'");
            echo "Removed {$category}\n";
        }
    }
    echo "Done...\n";
}