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 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 popup(){ $tpl=new templates(); $TB_WIDTH=915; $users=new usersMenus(); if(isset($_GET["tablesize"])){$TB_WIDTH=$_GET["tablesize"];} $page=CurrentPageName(); $t=time(); $website=$tpl->_ENGINE_parse_body("{website}"); $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_websites}"); $category=$_GET["category"]; $q=new mysql_squid_builder(); $table="category_".$q->category_transform_name($category); $searchitem=null; $category_text=$tpl->_ENGINE_parse_body("{category}"); $removedisabled=$tpl->_ENGINE_parse_body("{remove_disabled_items}"); $removedisabled_warn=$tpl->javascript_parse_text("{remove_disabled_items_warn}"); $export=$tpl->javascript_parse_text("{export}"); $CategoriesCheckRightsWrite=CategoriesCheckRightsWrite(); 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: '$removedisabled', bclass: 'Delz', onpress : RemoveDisabled$t},"; $BUTON_ADD_WEBSITES="{name: '$add_websites', bclass: 'Add', onpress : AddWebSites$t},"; if(!$CategoriesCheckRightsWrite){$RemoveEnabled=null;$BUTON_ADD_WEBSITES=null;} $buttons="buttons : [ $RemoveEnabled ], "; if($_GET["middlesize"]=="yes"){$TB_WIDTH=915;} if($_GET["category"]<>null){ $table_title="$category_text::$category"; $buttons="buttons : [ $BUTON_ADD_WEBSITES $RemoveEnabled $xls ],"; $searchitem=" searchitems : [ {display: '$website', name : 'pattern'} ],"; } $rowebsite=346; 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> <table class='$t' style='display: none' id='$t' style='width:99%;'></table> <script> var MEMMD=''; $(document).ready(function(){ $('#$t').flexigrid({ url: '$page?query=yes&category={$_GET["category"]}&website={$_GET["website"]}', dataType: 'json', colModel : [ {display: '$date', name : 'zDate', width : 153, sortable : true, align: 'left'}, {display: '$website', name : 'pattern', width :$rowebsite, sortable : true, align: 'left'}, {display: '$movetext', name : 'description2', width : 40, sortable : false, align: 'left'}, {display: '$movetext', name : 'description', width : 40, sortable : false, align: 'left'}, {display: ' ', name : 'none2', width : 40, sortable : false, align: 'left'}, ], $buttons $searchitem sortname: 'zDate', sortorder: 'desc', usepager: true, title: '<span style=font-size:18px>$table_title</span>', useRp: true, rp: 15, showTableToggleBtn: false, width: '99%', height: 300, singleSelect: true }); }); function xls$t(){ Loadjs('squid.categories.export.php?category={$_GET["category"]}&t=$t'); } function AddWebSites$t(){ Loadjs('squid.visited.php?add-www=yes&category={$_GET["category"]}&t=$t'); } function MoveCategorizedWebsite(zmd5,website,category,category_table){ YahooWinBrowse(550,'$page?move-category-popup=yes&website='+website+'&zmd5='+zmd5+'&YahooWin=YahooWinBrowse&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_RemoveDisabled$t= function (obj) { var results=obj.responseText; if(results.length>0){alert(results);return;} FlexReloadWebsiteCategoriesManage(); } function RemoveDisabled$t(){ var categoryZ = '{$_GET["category"]}' if(categoryZ.length==0){ YahooWin5('550','$page?RemoveDisabled-popup=yes','$removedisabled'); return; } if(confirm('$removedisabled_warn:'+categoryZ)){ var XHR = new XHRConnection(); XHR.appendData('RemoveDisabled',categoryZ); XHR.sendAndLoad('$page', 'POST',x_RemoveDisabled$t); } } var x_DeleteCategorizedWebsite= function (obj) { var results=obj.responseText; if(results.length>0){alert(results);return;} $('#row'+MEMMD).remove(); } function FlexReloadWebsiteCategoriesManage(){ $('#$t').flexReload(); } function ReallyDeleteCategorizedWebsite(zmd5,table){ MEMMD=zmd5; var XHR = new XHRConnection(); XHR.appendData('ReallyDeleteCategorizedWebsite',zmd5); XHR.appendData('TABLE',table); XHR.sendAndLoad('$page', 'POST',x_DeleteCategorizedWebsite); } function DeleteCategorizedWebsite(zmd5,table){ MEMMD=zmd5; var XHR = new XHRConnection(); XHR.appendData('DeleteCategorizedWebsite',zmd5); XHR.appendData('TABLE',table); XHR.sendAndLoad('$page', 'POST',x_DeleteCategorizedWebsite); } function AddCatz(){ Loadjs('dansguardian2.databases.php?add-perso-cat-js=yes'); } </script> "; }
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 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 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 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 = "\tsearchitems : [\n\t\t" . @implode(",\n", $s) . "\n\t\t],"; } $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 : [\n\t\t\t{$RemoveEnabled}\n\t\t\t\t],\t"; if ($_GET["middlesize"] == "yes") { $TB_WIDTH = 915; } if ($_GET["category"] != null) { $table_title = "{$category_text}::{$category}"; $buttons = "buttons : [\n\t\t\t{$BUTTON_ADD}\n\t\t\t{$RemoveEnabled} {$xls}\n\t\t\t\t],"; $searchitem = "\tsearchitems : [\n\t\t{display: '{$uri}', name : 'pattern'}\n\t\t],"; } $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 "\n<span id='FlexReloadWebsiteCategoriesManageDiv'></span>\n<table class='{$t}' style='display: none' id='{$t}' style='width:99%;'></table>\n<script>\nvar MEMMD{$t}='';\n\$(document).ready(function(){\n\$('#{$t}').flexigrid({\n\turl: '{$page}?query=yes&category={$_GET["category"]}&website={$_GET["website"]}',\n\tdataType: 'json',\n\tcolModel : [\n\t\t\t{display: '{$date}', name : 'zDate', width : 140, sortable : true, align: 'left'},\t\n\t\t\t{display: '{$uri}', name : 'pattern', width :{$rowebsite}, sortable : true, align: 'left'},\n\t\t\t{display: ' ', name : 'none2', width : 40, sortable : false, align: 'left'},\n\t\t\n\t],\n{$buttons}\n{$searchitem}\n\tsortname: 'zDate',\n\tsortorder: 'desc',\n\tusepager: true,\n\ttitle: '{$table_title}',\n\tuseRp: true,\n\trp: 15,\n\tshowTableToggleBtn: false,\n\twidth: '99%',\n\theight: 300,\n\tsingleSelect: true\n\t\n\t}); \n});\n\nfunction xls{$t}(){\n\tLoadjs('squid.categories.url.export.php?category={$_GET["category"]}&t={$t}');\n}\n\n\tfunction AddWebSites{$t}(){\n\t\tLoadjs('{$page}?add-uris-js=yes&category={$_GET["category"]}&t={$t}');\n\t}\n\n\tfunction MoveCategorizedWebsite(zmd5,website,category,category_table){\n\t\tYahooWinBrowse(550,'{$page}?move-category-popup=yes&YahooWin=YahooWinBrowse&website='+website+'&zmd5='+zmd5+'&category-source='+category+'&table-source='+category_table,'{$movetext}::'+website);\n\t}\n\n\tfunction MoveAllCategorizedWebsite(){\n\t\tYahooWinBrowse(550,'{$page}?move-category-popup=yes&YahooWin=YahooWinBrowse&website=&zmd5=&category-source={$_GET["category"]}&table-source={$table}&bysearch={$_GET["search"]}','{$movetext}::{$_GET["search"]}');\n\t\t\n\t}\n\t\n\tfunction MoveAllCategorizedWebsite2(category,table,search){\n\t\tYahooWinBrowse(550,'{$page}?move-category-popup=yes&YahooWin=YahooWinBrowse&website=&zmd5=&category-source='+category+'&table-source='+table+'&bysearch='+search+'&t={$t}','{$movetext}::'+search);\n\t\t\n\t}\n\n\tvar x_DeleteAll{$t}= function (obj) {\n\t\tvar results=obj.responseText;\n\t\tif(results.length>0){alert(results);return;}\n\t\t\$('#{$t}').flexReload();\n\t}\t\t\n\t\n\tfunction DeleteAll{$t}(){\n\t\tvar categoryZ = '{$_GET["category"]}'\n\t\tif(confirm('{$removedAll}:'+categoryZ)){\n\t\t\tvar XHR = new XHRConnection();\n\t\t\tXHR.appendData('RemoveAll',categoryZ);\n\t\t\tXHR.sendAndLoad('{$page}', 'POST',x_DeleteAll{$t});\n\t\t}\n\t}\n\t\n\t\n\tvar x_DeleteCategorizedWebsite{$t}= function (obj) {\n\t\tvar results=obj.responseText;\n\t\tif(results.length>0){alert(results);return;}\n\t\t\$('#row'+MEMMD{$t}).remove();\n\t}\t\n\n\n\t\n\n\t\n\tfunction DeleteCategorizedURI(zmd5,table){\n\t\tMEMMD{$t}=zmd5;\n\t\tvar XHR = new XHRConnection();\n\t\tXHR.appendData('DeleteCategorizedURI',zmd5);\n\t\tXHR.appendData('catz','{$_GET["category"]}');\n\t\tXHR.appendData('TABLE',table);\n\t\tXHR.sendAndLoad('{$page}', 'POST',x_DeleteCategorizedWebsite{$t});\t\n\t}\t\n\n</script>\n"; }
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"; }
function popup_categories_sql() { //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(); if ($GLOBALS["VERBOSE"]) { echo __FUNCTION__ . "::" . __LINE__ . ":: mysql_squid_builder()\n<br>"; } $q = new mysql_squid_builder(); $OnlyEnabled = false; if (isset($_GET["OnlyEnabled"])) { $OnlyEnabled = true; } $search = '%'; $table = "webfilters_categories_caches"; $page = 1; $ORDER = "ORDER BY categorykey ASC"; if (!$q->TABLE_EXISTS($table)) { if ($GLOBALS["VERBOSE"]) { echo "<H2>Create create_webfilters_categories_caches()</H2>\n"; } $q->create_webfilters_categories_caches(); } $FORCE_FILTER = null; if (trim($_GET["group"]) != null) { $FORCE_FILTER = " AND master_category='{$_GET["group"]}'"; } if ($GLOBALS["VERBOSE"]) { echo "<h2>" . __FUNCTION__ . "::" . __LINE__ . ":: q->COUNT_ROWS({$table})</h2>\n<br>"; } if ($q->COUNT_ROWS($table) == 0) { $ss = new dansguardian_rules(); $ss->CategoriesTableCache(); } $www = trim(strtolower($_GET["www"])); $ArticaDBZ = new mysql_catz(); $CategoriesFound = $ArticaDBZ->GET_CATEGORIES($www); $catArDB = explode(",", $CategoriesFound); writelogs("ArticaDB({$www}) = " . @implode(",", $catArDB), __FUNCTION__, __FILE__, __LINE__); if (is_array($catArDB)) { while (list($num, $ligne) = each($catArDB)) { $ligne = trim($ligne); if ($ligne == null) { continue; } $hash_ARTICA[$ligne] = true; } } if (preg_match("#www\\.(.+?)\$#i", $www, $re)) { $www = $re[1]; } $q = new mysql_squid_builder(); $CategoriesFound = $q->GET_CATEGORIES($www, true, true, true, true); $cats = explode(",", $CategoriesFound); $www_encoded = base64_encode($_GET["www"]); $COUNT_ROWS = $q->COUNT_ROWS($table); $hash_community = array(); if (is_array($cats)) { while (list($num, $ligne) = each($cats)) { $ligne = trim($ligne); if ($ligne == null) { continue; } $hash_community[$ligne] = true; } } if ($COUNT_ROWS == 0) { $data['page'] = $page; $data['total'] = $total; $data['rows'] = array(); echo json_encode($data); return; } if (isset($_POST["sortname"])) { if ($_POST["sortname"] != null) { $ORDER = "ORDER BY {$_POST["sortname"]} {$_POST["sortorder"]}"; } } if (isset($_POST['page'])) { $page = $_POST['page']; } $_POST["query"] = trim($_POST["query"]); 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 `{$table}` WHERE 1 {$FORCE_FILTER} {$searchstring}"; $ligne = mysql_fetch_array($q->QUERY_SQL($sql, "artica_backup")); $total = $ligne["TCOUNT"]; } else { $total = $COUNT_ROWS; } if (isset($_POST['rp'])) { $rp = $_POST['rp']; } $pageStart = ($page - 1) * $rp; $limitSql = "LIMIT {$pageStart}, {$rp}"; if ($OnlyEnabled) { $limitSql = null; } $sql = "SELECT * FROM `{$table}` WHERE 1 {$searchstring} {$FORCE_FILTER} {$ORDER} {$limitSql}"; writelogs($sql, __FUNCTION__, __FILE__, __LINE__); $results = $q->QUERY_SQL($sql); $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, "", "", "")); } $c = 0; while ($ligne = mysql_fetch_assoc($results)) { if ($ligne['categorykey'] == "phishtank") { continue; } $DISABLED = false; if ($ligne["picture"] == null) { $ligne["picture"] = "20-categories-personnal.png"; } $TextInterne = null; $img = "img/{$ligne["picture"]}"; $val = 0; if ($hash_community[$ligne['categorykey']]) { $val = 1; } if ($hash_ARTICA[$ligne['categorykey']]) { $TextInterne = $tpl->_ENGINE_parse_body("<div style='color:#D01313;font-size:11px;font-style:italic'>{categorized_in_articadb}</div>"); $val = 1; $DISABLED = true; } $md = md5($ligne['categorykey']); if ($OnlyEnabled) { if ($val == 0) { if ($TextInterne == null) { continue; } } } $c++; $js = "DansCommunityCategory('{$md}','{$ligne["categorykey"]}','{$www_encoded}')"; $disable = Field_checkbox($md, 1, $val, "{$js}", null, $DISABLED); $ligne['description'] = utf8_encode($ligne['description']); $data['rows'][] = array('id' => $ligne['categorykey'], 'cell' => array("<img src='{$img}'>", "{$ligne['categorykey']}", $TextInterne . $ligne['description'], $disable)); } if ($OnlyEnabled) { $data['total'] = $c; } echo json_encode($data); }
function blacklist() { $tpl = new templates(); $users = new usersMenus(); $page = CurrentPageName(); $sock = new sockets(); $fontsize = 16; $ss = new dansguardian_rules(); $array_blacksites = $ss->array_blacksites; $array_pics = $ss->array_pics; $q = new mysql_squid_builder(); $add_categories = Paragraphe("64-categories-add.png", "{add_category}", "{add_category_text}", "javascript:YahooWin2('770','squid.users.choose.catz.php','{add_category}')"); $html = "<div class=explain style='font-size:14px'>{banned_categories_explain}</div>"; $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->CategoriesTableCache(); } $tr[] = $add_categories; $t = time(); $sql = "SELECT `category` FROM usersisp_blkcatz"; $results = $q->QUERY_SQL($sql); while ($ligne = mysql_fetch_array($results, MYSQL_ASSOC)) { $img2 = null; $sql2 = "SELECT * FROM webfilters_categories_caches WHERE categorykey='{$ligne["category"]}'"; $ligne2 = @mysql_fetch_array($q->QUERY_SQL($sql)); if (isset($array_pics[$ligne["category"]])) { $img2 = ":{$array_pics[$ligne["category"]]}"; } if (trim($ligne2["description"]) == null) { $ligne2["description"] = "{$array_blacksites[$ligne["category"]]}"; } $tr[] = Paragraphe("64-categories-lock.png{$img2}", "{$ligne["category"]}:({locked})", "{$ligne2["description"]}", "javascript:blur('{$t}')"); } $sql = "SELECT `category`,zmd5 FROM usersisp_catztables WHERE userid={$_SESSION["uid"]} AND blck=0"; $results = $q->QUERY_SQL($sql); while ($ligne = mysql_fetch_array($results, MYSQL_ASSOC)) { $sql2 = "SELECT * FROM webfilters_categories_caches WHERE categorykey='{$ligne["category"]}' "; $ligne2 = @mysql_fetch_array($q->QUERY_SQL($sql)); if (isset($array_pics[$ligne["category"]])) { $img2 = ":{$array_pics[$ligne["category"]]}"; } if (trim($ligne2["description"]) == null) { $ligne2["description"] = "{$array_blacksites[$ligne["category"]]}"; } $tr[] = Paragraphe("64-categories-ban.png{$img2}", "{$ligne["category"]}", "{$ligne2["description"]}", "javascript:Loadjs('{$page}?delete-personal-category-js={$ligne["zmd5"]}')"); } $table = CompileTr3($tr); $html = $tpl->_ENGINE_parse_body($html); echo "<div class=form style='width:97%;min-height:590px'>{$html}<div style='width:80%;padding-left:60px'>" . $tpl->_ENGINE_parse_body("{$table}") . "</div></div>"; }
function removedisabled_popup() { $page = CurrentPageName(); $tpl = new templates(); $q = new mysql_squid_builder(); $removedisabled = $tpl->_ENGINE_parse_body("{remove_disabled_items}"); $removedisabled_warn = $tpl->javascript_parse_text("{remove_disabled_items_warn}"); $t = $_GET["t"]; 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[null] = "{select}"; while ($ligne = mysql_fetch_assoc($results)) { $s[$ligne["categorykey"]] = $ligne["categorykey"]; } $html = "\n\t<table style='width:99%' class=form>\n\t<tr>\n\t\t<td class=legend style='font-size:16px'>{category}</td>\n\t\t<td>" . Field_array_Hash($s, "removedisabled-{$t}", null, null, null, 0, "font-size:16px") . "</td>\n\t</tr>\n\t\n\t<td colspan=2 align='right'><hr>" . button("{$removedisabled}", "RemoveItems{$t}()", 18) . "</td>\n\t</tr>\n\t<script>\n\t\tvar x_RemoveItems{$t}= function (obj) {\n\t\t\tvar results=obj.responseText;\n\t\t\tif(results.length>0){alert(results);return;}\n\t\t\tFlexReloadWebsiteCategoriesManage();\n\t\t\tYahooWin5Hide();\n\t\t}\t\t\n\t\n\tfunction RemoveItems{$t}(){\n\t\tvar categoryZ = document.getElementById('removedisabled-{$t}').value;\n\t\tif(confirm('{$removedisabled_warn}:'+categoryZ)){\n\t\t\tvar XHR = new XHRConnection();\n\t\t\tXHR.appendData('RemoveDisabled',categoryZ);\n\t\t\tXHR.sendAndLoad('{$page}', 'POST',x_RemoveItems{$t});\n\t\t}\n\t}\t\n\t\n\t</script>\n\t"; echo $tpl->_ENGINE_parse_body($html); }