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"]); }
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); }
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«{$www}»</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'>«{$categoryF}»</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> </td></tr>\t\t\n\t\t"; } $html = $html . "</table></div>"; echo $html; }
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"); }
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); }
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)); }
function DelDansGuardianExceptionipList(){ $dans=new dansguardian_rules(null,1); if(!$dans->Del_bannediplist(1,$_GET["DelDansGuardianExceptionipList"])){ echo $dans->error; } }
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); }
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); }
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: ' ', 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"); }
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)); } }
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 = " "; } $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> <strong>{$categoryname}</strong><div>{$text_category}</div></td>\n\t\t<td nowrap><i class='icon-info-sign'></i> <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>"; }
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}: «{$_REQUEST["WEBTESTS"]}»</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}: «{$_REQUEST["WEBTESTS"]}»</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=" ";} $text_category=$dans->array_blacksites[$categoryname]; if(isset($PERSONALSCATS[$categoryname])){ $text_category=utf8_encode($PERSONALSCATS[$categoryname]); if($pic==" "){$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>"; }
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); }
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); }
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(" | ", $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"]); }
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='« {back}'></td>\n\t\t<td align='right'><input type='button' OnClick=\"javascript:ip_group_subnet()\" value='{next} »'></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='« {back}'></td>\n\t\t<td align='right'><input type='button' OnClick=\"javascript:ip_group_range()\" value='{next} »'></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='« {back}'></td>\n\t\t\t\t<td align='right'><input type='button' OnClick=\"javascript:ip_group_end()\" value='{add} »'></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"; }