function mysql_squid_builder($local = false) { $LDAP_EXTERNAL_AUTH = 0; if (function_exists("getLocalTimezone")) { @date_default_timezone_set(getLocalTimezone()); } if (!class_exists("Bs_IniHandler")) { include_once dirname(__FILE__) . "/class.ini.inc"; } if (!class_exists("sockets")) { include_once dirname(__FILE__) . "/class.sockets.inc"; } $ini = new Bs_IniHandler(); if (!isset($GLOBALS["SQUID_MEMORYCONF"]["INI_ARRAY"])) { $sock = new sockets(); $ini->loadString($sock->GET_INFO('ArticaSquidParameters')); if (isset($ini->_params)) { $GLOBALS["SQUID_MEMORYCONF"]["INI_ARRAY"] = $ini->_params; } } else { $ini->_params = $GLOBALS["SQUID_MEMORYCONF"]["INI_ARRAY"]; } if (isset($ini->_params)) { $LDAP_EXTERNAL_AUTH = intval($ini->_params["NETWORK"]["LDAP_EXTERNAL_AUTH"]); } if (!isset($GLOBALS["DEBUG_SQL"])) { $GLOBALS["DEBUG_SQL"] = false; } $EnableArticaMetaServer = intval(@file_get_contents("/etc/artica-postfix/settings/Daemons/EnableArticaMetaServer")); if ($EnableArticaMetaServer == 1) { $LDAP_EXTERNAL_AUTH = 1; } $this->report_types[1] = "{by_categories}"; $this->report_types[2] = "{by_websites}"; $this->acl_NTLM["src"] = "{src_addr}"; $this->acl_NTLM["arp"] = "{ComputerMacAddress}"; $this->acl_NTLM["dstdomain"] = "{dstdomain}"; $this->acl_NTLM["dst"] = "{dst_addr}"; $this->acl_NTLM["port"] = "{destination_port}"; $this->acl_GroupType["all"] = "{all}"; $this->acl_GroupType["src"] = "{src_addr}"; $this->acl_GroupType["srcdomain"] = "{srcdomain}"; $this->acl_GroupType["arp"] = "{ComputerMacAddress}"; $this->acl_GroupType["dstdomain"] = "{dstdomain}"; $this->acl_GroupType["dstdom_regex"] = "{dstdomain_regex}"; $this->acl_GroupType["url_regex_extensions"] = "{url_regex_extensions}"; $this->acl_GroupType["dst"] = "{dst_addr}"; $this->acl_GroupType["maxconn"] = "{acl_maxconn}"; $this->acl_GroupType["max_user_ip"] = "{acl_max_user_ip}"; $this->acl_GroupType["proxy_auth"] = "{members}"; $this->acl_GroupType["proxy_auth_ads"] = "{dynamic_activedirectory_group}"; $this->acl_GroupType["proxy_auth_statad"] = "{static_activedirectory_group}"; $this->acl_GroupType["proxy_auth_tagad"] = "{acl_tag_adgroup}"; $this->acl_GroupType["proxy_auth_multiad"] = "{multiple_active_directory_groups}"; $this->acl_GroupType["tag_categories"] = "{acl_tag_categories}"; if ($LDAP_EXTERNAL_AUTH == 1) { $this->acl_GroupType["proxy_auth_ldap"] = "{dynamic_ldap_group}"; } $this->acl_GroupType["Smartphones"] = "{smartphones}"; $this->acl_GroupType["browser"] = "{browser}"; $this->acl_GroupType["NudityScan"] = "{nudityScan}"; $this->acl_GroupType["ssl_sni"] = "{acl_ssl_sni}"; $this->acl_GroupType["time"] = "{DateTime}"; $this->acl_GroupType["ext_user"] = "******"; $this->acl_GroupType["method"] = "{connection_method}"; $this->acl_GroupType["FTP"] = "FTP {protocol}"; $this->acl_GroupType["dynamic_acls"] = "{dynamic_acls}"; $this->acl_GroupType["req_mime_type"] = "{req_mime_type}"; $this->acl_GroupType["rep_mime_type"] = "{rep_mime_type}"; $this->acl_GroupType["rep_header_filename"] = "{rep_header_filename}"; $this->acl_GroupType["url_regex"] = "{url_regex_acl2}"; $this->acl_GroupType["urlpath_regex"] = "{url_regex_acl3}"; $this->acl_GroupType["referer_regex"] = "{referer_regex}"; $this->acl_GroupType["radius_auth"] = "{radius_auth}"; $this->acl_GroupType["ad_auth"] = "{basic_ad_auth}"; $this->acl_GroupType["ldap_auth"] = "{basic_ldap_auth}"; $this->acl_GroupType["hotspot_auth"] = "{hotspot_auth}"; $this->acl_GroupType["port"] = "{destination_port}"; $this->acl_GroupType["myportname"] = "{local_proxy_port}"; $this->acl_GroupType["clt_conn_tag"] = "{statistics_virtual_group}"; $this->acl_GroupType["categories"] = "{artica_categories}"; $this->acl_GroupType["teamviewer"] = "{macro}: TeamViewer"; $this->acl_GroupType["whatsapp"] = "{macro}: whatsapp"; $this->acl_GroupType["skype"] = "{macro}: Skype"; $this->acl_GroupType["youtube"] = "{macro}: Youtube"; $this->acl_GroupType["office365"] = "{macro}: Office 365"; $this->acl_GroupType["quota_time"] = "{quota_time}"; $this->acl_GroupType["quota_size"] = "{quota_size}"; $this->acl_GroupType["google"] = "{macro}: Google {websites}"; $this->acl_GroupType["google_ssl"] = "{macro}: Google SSL {websites}"; $this->acl_GroupType["AntiTrack"] = "{macro}: {ads_and_trackers}"; $this->acl_GroupType["dropbox"] = "{macro}: DropBox networks"; $this->acl_ARRAY_NO_ITEM["clt_conn_tag"] = true; $this->acl_ARRAY_NO_ITEM["FTP"] = true; $this->acl_ARRAY_NO_ITEM["proxy_auth_ads"] = true; $this->acl_ARRAY_NO_ITEM["proxy_auth_tagad"] = true; $this->acl_ARRAY_NO_ITEM["proxy_auth_statad"] = true; $this->acl_ARRAY_NO_ITEM["NudityScan"] = true; $this->acl_ARRAY_NO_ITEM["all"] = true; $this->acl_ARRAY_NO_ITEM["dynamic_acls"] = true; $this->acl_ARRAY_NO_ITEM["categories"] = true; $this->acl_ARRAY_NO_ITEM["radius_auth"] = true; $this->acl_ARRAY_NO_ITEM["ad_auth"] = true; $this->acl_ARRAY_NO_ITEM["ldap_auth"] = true; $this->acl_ARRAY_NO_ITEM["hotspot_auth"] = true; $this->acl_ARRAY_NO_ITEM["AntiTrack"] = true; $this->acl_ARRAY_NO_ITEM["teamviewer"] = true; $this->acl_ARRAY_NO_ITEM["whatsapp"] = true; $this->acl_ARRAY_NO_ITEM["office365"] = true; $this->acl_ARRAY_NO_ITEM["skype"] = true; $this->acl_ARRAY_NO_ITEM["youtube"] = true; $this->acl_ARRAY_NO_ITEM["google"] = true; $this->acl_ARRAY_NO_ITEM["dropbox"] = true; $this->acl_ARRAY_NO_ITEM["google_ssl"] = true; $this->acl_ARRAY_NO_ITEM["proxy_auth_ldap"] = true; $this->acl_ARRAY_NO_ITEM["Smartphones"] = true; $this->acl_GroupType_WPAD["all"] = "{all}"; $this->acl_GroupType_WPAD["src"] = "{ipsrc}"; $this->acl_GroupType_WPAD["srcdomain"] = "{srcdomain}"; $this->acl_GroupType_WPAD["dstdomain"] = "{dstdomain}"; $this->acl_GroupType_WPAD["dst"] = "{dst}"; $this->acl_GroupType_WPAD["browser"] = "{browser}"; $this->acl_GroupType_WPAD["time"] = "{DateTime}"; $this->acl_GroupType_WPAD["port"] = "{destination_port}"; $this->acl_GroupType_iptables["src"] = "{addr}"; $this->acl_GroupType_iptables["dst"] = "{dst}"; $this->acl_GroupType_iptables["arp"] = "{ComputerMacAddress}"; $this->acl_GroupType_iptables["port"] = "{destination_port}"; $this->acl_GroupType_iptables["teamviewer"] = "{macro}: TeamViewer {networks}"; $this->acl_GroupType_iptables["whatsapp"] = "{macro}: whatsapp {networks}"; $this->acl_GroupType_iptables["office365"] = "{macro}: Office365 {networks}"; $this->acl_GroupType_iptables["skype"] = "{macro}: Skype {networks}"; $this->acl_GroupType_iptables["youtube"] = "{macro}: YouTube {networks}"; $this->acl_GroupType_iptables["google"] = "{macro}: Google {networks}"; $this->acl_GroupType_iptables["google_ssl"] = "{macro}: Google SSL {networks}"; $this->acl_GroupType_iptables["dropbox"] = "{macro}: DropBox {networks}"; $this->acl_GroupType_Firewall_in["src"] = "{addr}"; $this->acl_GroupType_Firewall_in["arp"] = "{ComputerMacAddress}"; $this->acl_GroupType_Firewall_out["dst"] = "{dst}"; $this->acl_GroupType_Firewall_out["teamviewer"] = "TeamViewer - {macro}"; $this->acl_GroupType_Firewall_out["whatsapp"] = "whatsapp - {macro}"; $this->acl_GroupType_Firewall_out["office365"] = "office 365 - {macro}"; $this->acl_GroupType_Firewall_out["skype"] = "Skype - {macro}"; $this->acl_GroupType_Firewall_out["youtube"] = "YouTube - {macro}"; $this->acl_GroupType_Firewall_out["google"] = "Google - {macro}"; $this->acl_GroupType_Firewall_port["port"] = "{destination_port}"; $this->acl_GroupTypeDynamic[0] = "{mac}"; $this->acl_GroupTypeDynamic[1] = "{ipaddr}"; $this->acl_GroupTypeDynamic[3] = "{hostname}"; $this->acl_GroupTypeDynamic[2] = "{member}"; $this->acl_GroupTypeDynamic[4] = "{webserver}"; $this->AVAILABLE_METHOD["GET"] = true; $this->AVAILABLE_METHOD["PUT"] = true; $this->AVAILABLE_METHOD["POST"] = true; $this->AVAILABLE_METHOD["HEAD"] = true; $this->AVAILABLE_METHOD["CONNECT"] = true; $this->AVAILABLE_METHOD["TRACE"] = true; $this->AVAILABLE_METHOD["OPTIONS"] = true; $this->AVAILABLE_METHOD["DELETE"] = true; $this->AVAILABLE_METHOD["PROPFIND"] = true; $this->AVAILABLE_METHOD["PROPPATCH"] = true; $this->AVAILABLE_METHOD["MKCOL"] = true; $this->AVAILABLE_METHOD["COPY"] = true; $this->AVAILABLE_METHOD["MOVE"] = true; $this->AVAILABLE_METHOD["LOCK"] = true; $this->AVAILABLE_METHOD["UNLOCK"] = true; $this->AVAILABLE_METHOD["BMOVE"] = true; $this->AVAILABLE_METHOD["BDELETE"] = true; $this->AVAILABLE_METHOD["BPROFIND"] = true; $this->AVAILABLE_METHOD["PUT"] = true; $this->AVAILABLE_METHOD["REPORT"] = true; $this->AVAILABLE_METHOD["OPTIONS"] = true; $this->AVAILABLE_METHOD["PROPFIND"] = true; $this->AVAILABLE_METHOD["TUNNEL"] = true; $this->AVAILABLE_METHOD["PROPFIND"] = true; $this->AVAILABLE_METHOD["PROPPATCH"] = true; $this->AVAILABLE_METHOD["MKCOL"] = true; $this->AVAILABLE_METHOD["COPY"] = true; $this->AVAILABLE_METHOD["MOVE"] = true; $this->AVAILABLE_METHOD["LOCK"] = true; $this->AVAILABLE_METHOD["UNLOCK"] = true; $this->AVAILABLE_METHOD["MKDIR"] = true; $this->AVAILABLE_METHOD["INDEX"] = true; $this->AVAILABLE_METHOD["RMDIR"] = true; $this->AVAILABLE_METHOD["LINK"] = true; $this->AVAILABLE_METHOD["UNLINK"] = true; $this->AVAILABLE_METHOD["PATCH"] = true; $this->AVAILABLE_METHOD["BCOPY"] = true; $this->AVAILABLE_METHOD["BDELETE"] = true; $this->AVAILABLE_METHOD["BMOVE"] = true; $this->AVAILABLE_METHOD["BPROPPATCH"] = true; $this->AVAILABLE_METHOD["MKCO"] = true; $this->AVAILABLE_METHOD["POLL"] = true; $this->AVAILABLE_METHOD["SEARCH"] = true; $this->AVAILABLE_METHOD["SUBSCRIBE"] = true; $this->PROXY_PAC_TYPES[null] = "{select}"; $this->PROXY_PAC_TYPES["shExpMatch"] = "{shExpMatch2}"; $this->PROXY_PAC_TYPES["shExpMatchRegex"] = "{shExpMatchRegex}"; $this->PROXY_PAC_TYPES["isInNetMyIP"] = "{isInNetMyIP}"; $this->PROXY_PAC_TYPES["isInNet"] = "{isInNet2}"; $this->PROXY_PAC_TYPES_EXPLAIN["shExpMatch"] = "{shExpMatch2_explain}"; $this->PROXY_PAC_TYPES_EXPLAIN["shExpMatchRegex"] = "{shExpMatchRegex_explain}"; $this->PROXY_PAC_TYPES_EXPLAIN["isInNetMyIP"] = "{isInNetMyIP_explain}"; $this->PROXY_PAC_TYPES_EXPLAIN["isInNet"] = "{isInNet2_explain}"; $this->CACHE_AGES[0] = "{none}"; $this->CACHE_AGES[30] = "30 {minutes}"; $this->CACHE_AGES[60] = "1 {hour}"; $this->CACHE_AGES[120] = "2 {hours}"; $this->CACHE_AGES[360] = "6 {hours}"; $this->CACHE_AGES[720] = "12 {hours}"; $this->CACHE_AGES[1440] = "1 {day}"; $this->CACHE_AGES[2880] = "2 {days}"; $this->CACHE_AGES[4320] = "3 {days}"; $this->CACHE_AGES[10080] = "1 {week}"; $this->CACHE_AGES[20160] = "2 {weeks}"; $this->CACHE_AGES[43200] = "1 {month}"; $this->CACHE_AGES[525600] = "1 {year}"; $this->CACHES_RULES_TYPES[1] = "{domains}"; $this->CACHES_RULES_TYPES[2] = "{extensions}"; $this->CACHES_RULES_TYPES[3] = "{shExpMatchRegex}"; if ($local == true) { $this->squidEnableRemoteStatistics = 0; $this->EnableSquidRemoteMySQL = 0; } $this->PrepareMySQLClass(); if (!$this->DATABASE_EXISTS("squidlogs")) { if ($GLOBALS["VERBOSE"]) { echo __FUNCTION__ . "::" . __LINE__ . ":: Patching tables -> squidlogs...\n"; } $this->CREATE_DATABASE("squidlogs"); $this->CheckTables(); } $this->fill_task_array(); $this->fill_tasks_disabled(); if (!$this->TestingConnection()) { if ($GLOBALS["VERBOSE"]) { echo __FUNCTION__ . "::" . __LINE__ . ":: TestingConnection -> FAILED Stamp MySQL to FAILED\n"; } $this->MysqlFailed = true; } }
function Save($_config, $_resolution, $_color, $_timezone, $_lat, $_long, $_countryiso2, $_city, $_region, $_geotimezone, $_isp, $_geosspan, $_grid, $_js = true, $_fromCookie = false) { global $STATS, $COUNTRIES, $COUNTRY_ALIASES; if (!$this->FirstCall) { $this->KeepAlive(); } else { if (!isnull(getCookieValue("visits")) && $this->Visits == 1) { $this->Visits = getCookieValue("visits") + 1; } setCookieValue("visits", $this->Visits); if (!isnull(getCookieValue("last_visit"))) { $this->VisitLast = getCookieValue("last_visit"); } setCookieValue("last_visit", time()); $this->IP = getIP(); $this->SystemInfo = !empty($_SERVER["HTTP_USER_AGENT"]) ? $_SERVER["HTTP_USER_AGENT"] : ""; $localization = getBrowserLocalization(); $this->Language = $localization[0]; $this->GeoCountryISO2 = $localization[1]; $this->Resolution = !empty($_resolution) && count($_resolution) == 2 && !empty($_resolution[0]) && !empty($_resolution[1]) ? $_resolution[0] . " x " . $_resolution[1] : ""; $this->Resolution .= !empty($_color) ? " (" . $_color . " Bit)" : ""; $this->GeoTimezoneOffset = getLocalTimezone($_timezone); $this->GeoResult = 0; if (!empty($_geosspan)) { createSSpanFile($_geosspan); } if (!empty($_config["gl_pr_ngl"]) && $_js) { if (!empty($_lat) && base64_decode($_lat) > -180) { setCookieValue(GEO_LATITUDE, $this->GeoLatitude = base64_decode($_lat)); setCookieValue(GEO_LONGITUDE, $this->GeoLongitude = base64_decode($_long)); setCookieValue(GEO_COUNTRY_ISO_2, $this->GeoCountryISO2 = base64_decode($_countryiso2)); setCookieValue(GEO_CITY, $this->GeoCity = base64_decode($_city)); setCookieValue(GEO_REGION, $this->GeoRegion = base64_decode($_region)); setCookieValue(GEO_TIMEZONE, $this->GeoTimezoneOffset = base64_decode($_geotimezone)); setCookieValue(GEO_ISP, $this->GeoISP = utf8_decode(base64_decode($_isp))); setCookieValue("geo_data", time()); } else { if (isset($_lat) && !empty($_lat)) { $this->GeoLatitude = base64_decode($_lat); $this->GeoLongitude = base64_decode($_long); } else { if (!isnull(getCookieValue("geo_data")) && !isnull(getCookieValue(GEO_LATITUDE))) { $this->GeoLatitude = getCookieValue(GEO_LATITUDE); $this->GeoLongitude = getCookieValue(GEO_LONGITUDE); $this->GeoCountryISO2 = getCookieValue(GEO_COUNTRY_ISO_2); $this->GeoCity = getCookieValue(GEO_CITY); $this->GeoRegion = getCookieValue(GEO_REGION); $this->GeoTimezoneOffset = getCookieValue(GEO_TIMEZONE); $this->GeoISP = getCookieValue(GEO_ISP); $_fromCookie = true; } } } removeSSpanFile(false); if ($_fromCookie) { $this->GeoResultId = 6; } else { if (!isnull($span = getSpanValue())) { if ($span > time() + CONNECTION_ERROR_SPAN) { $this->GeoResultId = 5; } else { $this->GeoResultId = 4; } } else { if (base64_decode($_lat) == -777) { $this->GeoResultId = 5; } else { if (base64_decode($_lat) == -522) { $this->GeoResultId = 2; } else { if ($_grid != 4) { $this->GeoResultId = 3; } else { $this->GeoResultId = $_grid; } } } } } } else { $this->GeoResultId = 7; } initData(false, false, false, false, false, false, true); if (isset($COUNTRY_ALIASES[$this->GeoCountryISO2])) { $this->GeoCountryISO2 = $COUNTRY_ALIASES[$this->GeoCountryISO2]; } else { if (!isset($COUNTRIES[$this->GeoCountryISO2]) && DEBUG_MODE) { logit($this->GeoCountryISO2, LIVEZILLA_PATH . "_log/unknown_countries.txt"); } } $detector = new DeviceDetector(); $detector->DetectBrowser(); if ($detector->AgentType == AGENT_TYPE_BROWSER || $detector->AgentType == AGENT_TYPE_UNKNOWN) { $detector->DetectOperatingSystem(); if (DEBUG_MODE && !empty($_SERVER["HTTP_USER_AGENT"])) { if ($detector->OperatingSystemUnknown) { logit("OS UNKNOWN: " . $_SERVER["HTTP_USER_AGENT"], LIVEZILLA_PATH . "_log/unknown_os.txt"); } else { if ($detector->AgentType == AGENT_TYPE_UNKNOWN) { logit("AGENT UNKNOWN: " . $_SERVER["HTTP_USER_AGENT"], LIVEZILLA_PATH . "_log/unknown_ag.txt"); } } } $bid = $this->GetBrowserId($detector->Browser, $detector->AgentType); $oid = $this->GetOSId($detector->OperatingSystem); $row = $this->CreateSignature(); if (is_array($row) && $row["id"] != $this->UserId) { $this->UserId = $row["id"]; $this->SignatureMismatch = true; } else { queryDB(true, "INSERT INTO `" . DB_PREFIX . DATABASE_VISITORS . "` (`id`, `entrance`,`last_active`, `host`,`ip`,`system`,`browser`, `visits`,`visit_id`,`visit_last`,`resolution`, `language`, `country`, `city`, `region`, `isp`, `timezone`, `latitude`, `longitude`, `geo_result`, `js`, `signature`) VALUES ('" . @mysql_real_escape_string($this->UserId) . "', '" . @mysql_real_escape_string(time()) . "','" . @mysql_real_escape_string(time()) . "', '" . @mysql_real_escape_string($this->Host) . "', '" . @mysql_real_escape_string($this->IP) . "', '" . @mysql_real_escape_string($oid) . "','" . @mysql_real_escape_string($bid) . "', '" . @mysql_real_escape_string($this->Visits) . "', '" . @mysql_real_escape_string($this->VisitId) . "','" . @mysql_real_escape_string($this->VisitLast) . "', '" . @mysql_real_escape_string(getValueId(DATABASE_VISITOR_DATA_RESOLUTIONS, "resolution", $this->Resolution, false, 32)) . "', '" . @mysql_real_escape_string(substr(strtoupper($this->Language), 0, 5)) . "','" . @mysql_real_escape_string($this->GeoCountryISO2) . "', '" . @mysql_real_escape_string(getValueId(DATABASE_VISITOR_DATA_CITIES, "city", $this->GeoCity, false)) . "', '" . @mysql_real_escape_string(getValueId(DATABASE_VISITOR_DATA_REGIONS, "region", $this->GeoRegion, false)) . "', '" . @mysql_real_escape_string(getValueId(DATABASE_VISITOR_DATA_ISPS, "isp", utf8_encode($this->GeoISP), false)) . "', '" . @mysql_real_escape_string($this->GeoTimezoneOffset) . "', '" . @mysql_real_escape_string($this->GeoLatitude) . "', '" . @mysql_real_escape_string($this->GeoLongitude) . "', '" . @mysql_real_escape_string($this->GeoResultId) . "', '" . @mysql_real_escape_string($_js ? 1 : 0) . "', '" . @mysql_real_escape_string($this->Signature) . "');"); if (mysql_affected_rows() == 1) { queryDB(true, "UPDATE `" . DB_PREFIX . DATABASE_VISITORS . "` SET `visit_latest`=0 WHERE `id`='" . @mysql_real_escape_string($this->UserId) . "' AND `visit_id`!='" . @mysql_real_escape_string($this->VisitId) . "';"); } } } else { if (STATS_ACTIVE) { $this->IsCrawler = true; $STATS->ProcessAction(ST_ACTION_LOG_CRAWLER_ACCESS, array($this->GetCrawlerId($detector->Browser), null)); } } } }
function setup_2() { if ($GLOBALS["VERBOSE"]) { echo "<span style='color:#d32d2d'>[" . __LINE__ . "] setup_2()</span><br>\n"; } $GLOBALS["DEBUG_TEMPLATE"] = true; include_once dirname(__FILE__) . "/ressources/class.langages.inc"; if ($GLOBALS["VERBOSE"]) { echo "<span style='color:#d32d2d'>[" . __LINE__ . "] articaLang()</span><br>\n"; } $langAutodetect = new articaLang(); $DetectedLanguage = $langAutodetect->get_languages(); $GLOBALS["FIXED_LANGUAGE"] = $DetectedLanguage; $savedsettings = unserialize(base64_decode($_GET["savedsettings"])); $setup_proxy = 0; $tpl = new templates(); $page = CurrentPageName(); $sock = new sockets(); $users = new usersMenus(); if ($GLOBALS["VERBOSE"]) { echo "<span style='color:#d32d2d'>[" . __LINE__ . "] OK</span><br>\n"; } $netbiosname_field = $tpl->javascript_parse_text("{netbiosname}"); $domain_field = $tpl->javascript_parse_text("{domain}"); if (count($savedsettings) < 3) { if ($GLOBALS["VERBOSE"]) { echo "<span style='color:#d32d2d'>[" . __LINE__ . "] network.php?fqdn=yes</span><br>\n"; } $hostname = base64_decode($sock->getFrameWork("network.php?fqdn=yes")); if ($hostname == null) { $users = new usersMenus(); $hostname = $users->fqdn; } $arrayNameServers = GetNamesServers(); if (strpos($hostname, '.') > 0) { $Thostname = explode(".", $hostname); $netbiosname = $Thostname[0]; unset($Thostname[0]); $domainname = @implode(".", $Thostname); } else { $netbiosname = $hostname; } if (preg_match("#[A-Za-z]+\\s+[A-Za-z]+#", $netbiosname)) { $netbiosname = null; } } else { $netbiosname = $savedsettings["netbiosname"]; $domainname = $savedsettings["domain"]; $arrayNameServers[0] = $savedsettings["DNS1"]; $arrayNameServers[1] = $savedsettings["DNS2"]; } if ($netbiosname == null) { $hostname = base64_decode($sock->getFrameWork("network.php?fqdn=yes")); if ($hostname == null) { $users = new usersMenus(); $hostname = $users->fqdn; } if (strpos($hostname, '.') > 0) { $Thostname = explode(".", $hostname); $netbiosname = $Thostname[0]; unset($Thostname[0]); $domainname = @implode(".", $Thostname); } else { $netbiosname = $hostname; } } if ($arrayNameServers[0] == null) { $arrayNameServers = GetNamesServers(); } $SetupAD = 0; if ($users->SQUID_INSTALLED) { if ($users->SAMBA_INSTALLED) { $SetupAD = 1; } } if ($users->SQUID_INSTALLED) { $setup_proxy = 1; if ($users->SQUID_REVERSE_APPLIANCE) { $setup_proxy = 0; $proxy = "<input type='hidden' id='proxy_listen_port' value='80' name='proxy_listen_port'>"; } } $dhcpd = null; $SERVICES_TITLE = null; //FIRST_WIZARD_NIC2 -> fini -> demande de reboot $t = time(); $IPADDR = $savedsettings["IPADDR"]; $NETMASK = $savedsettings["NETMASK"]; $GATEWAY = $savedsettings["GATEWAY"]; $metric = $savedsettings["metric"]; $BROADCAST = $savedsettings["BROADCAST"]; $KEEPNET = $savedsettings["KEEPNET"]; $NIC = $savedsettings["NIC"]; $VPS_COMPATIBLE = $savedsettings["VPS_COMPATIBLE"]; $nic = new system_nic("eth0"); if ($IPADDR == null) { $IPADDR = $nic->IPADDR; } if ($NETMASK == null) { $NETMASK = $nic->NETMASK; } if ($GATEWAY == null) { $GATEWAY = $nic->GATEWAY; } if ($BROADCAST == null) { $BROADCAST = $nic->BROADCAST; } if ($metric == null) { $metric = $nic->metric; } if (!is_numeric($metric)) { $metric = 100; } if ($metric < 2) { $metric = 100; } $DISABLED = false; if (trim($arrayNameServers[1]) == null) { $arrayNameServers[1] = "8.8.8.8"; } if (!is_numeric($KEEPNET)) { $KEEPNET = 0; } $NICS = new networking(); $Local_interfaces = $NICS->Local_interfaces(true); if (count($Local_interfaces) == 0) { $error = FATAL_ERROR_SHOW_128("{unable_to_retreive_network_information_refresh}"); } $timezone = timezonearray(); for ($i = 0; $i < count($timezone); $i++) { $arrayTime[$timezone[$i]] = $timezone[$i]; } $timezone_def = getLocalTimezone(); $FORM = "{$error}\n\t<div style='width:98%' class=form>\n\t<table style='width:100%'>\n\t<tr>\n\t\t<td colspan=2 style='font-size:50px;'><div style='margin-bottom:35px'>{serveretdom}</div></td>\n\t</tr>\n\t<tr>\n\t\t<td class=legend style='font-size:25px;vertical-align:top' nowrap>{timezone}:</td>\n\t\t<td valign='top'>" . Field_array_Hash($arrayTime, "timezones", $timezone_def, null, null, "style:font-size:25px;padding:3px") . "</td>\n\t</tr>\t\t\t\n\t<tr>\n\t\t<td class=legend style='font-size:25px' nowrap>{netbiosname}:</td>\n\t\t<td>" . Field_text("hostname_netbios", $netbiosname, "font-size:25px;width:220px", null, null, null, false, "ChangeQuickHostnameCheck(event)") . "</td>\n\t</tr>\n\t</tr>\n\t\t<td class=legend style='font-size:25px' nowrap>{DomainOfThisserver}:</td>\n\t\t<td>" . Field_text("hostname_domain", $domainname, "font-size:25px;width:220px", null, null, null, false, "ChangeQuickHostnameCheck(event)") . "</td>\n\t</tr>\n\t<tr>\n\t\t<td colspan=2 style='font-size:50px;padding-top:50px'>{network}</td>\n\t</tr>\t\t\t\t\n\t<tr>\n\t\t<td colspan=2 style='font-size:18px;font-weight:bolder'><div style='margin-bottom:35px'>{network_settings_will_be_applied_after_reboot}</div></td>\n\t</tr>\n\t\t<tr>\n\t\t\t<td class=legend style='font-size:25px' nowrap>{keep_current_settings}:</td>\n\t\t\t<td>" . Field_checkbox("KEEPNET", 1, $KEEPNET, 'KeepNetCheck()') . "</td>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td class=legend style='font-size:25px' nowrap>{VPS_COMPATIBLE}:</td>\n\t\t\t<td>" . Field_checkbox("VPS_COMPATIBLE", 1, $VPS_COMPATIBLE, '') . "</td>\n\t\t</tr>\n\t\t\t\t\t\n\t\t<tr>\n\t\t\t<td class=legend style='font-size:25px' nowrap>{network_interface}:</td>\n\t\t\t<td>" . Field_array_Hash($Local_interfaces, "NIC", "{$NIC}", "ChangeWizardNetInterfaces()", null, 0, "padding:3px;font-size:25px") . "</td>\n\t\t</tr>\n\t</table>\n\t<br>\n\t<span id='INTERFACES_OBJECTS'>\t\n\t<table style='width:100%'>\t\t\t\t\t\t\t\n\t\t<tr>\n\t\t\t<td class=legend style='font-size:25px' nowrap>{tcp_address}:</td>\n\t\t\t<td>" . field_ipv4("IPADDR", $IPADDR, 'padding:3px;font-size:25px', null, null, null, false, null, $DISABLED) . "</td>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td class=legend style='font-size:25px'>{netmask}:</td>\n\t\t\t<td>" . field_ipv4("NETMASK", $NETMASK, 'padding:3px;font-size:25px', null, null, null, false, null, $DISABLED) . "</td>\n\t\t</tr>\n\t\t\t\n\t\t<tr>\n\t\t\t<td class=legend style='font-size:25px'>{gateway}:</td>\n\t\t\t<td>" . field_ipv4("GATEWAY", $GATEWAY, 'padding:3px;font-size:25px', null, null, null, false, null, $DISABLED) . "</td>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td class=legend style='font-size:25px'>{metric}:</td>\n\t\t\t<td>" . field_text("metric-{$t}", $metric, 'padding:3px;font-size:25px;width:90px', null, null, null, false, null, $DISABLED) . "</td>\n\t\t</tr>\t\t\t\t\t\n\t\t<tr>\n\t\t\t<td class=legend style='font-size:25px'>{broadcast}:</td>\n\t\t\t<td>" . field_ipv4("BROADCAST", $BROADCAST, 'padding:3px;font-size:25px', null, null, null, false, null, $DISABLED) . "</td>\n\t\t</tr>\n\t\t</TABLE>\n\t</SPAN>\n\t<br>\n\t<table style='width:100%'>\t\n\t<tr>\n\t\t<td colspan=2 style='font-size:50px;'><div style='margin-bottom:35px'>DNS</div></td>\n\t</tr>\t\t\t\t\t\n\t<tr>\n\t\t<td class=legend style='font-size:25px' nowrap>{primary_dns}:</td>\n\t\t<td>" . field_ipv4("DNS1", $arrayNameServers[0], "padding:3px;font-size:25px") . "</td>\n\t</tr>\n\t<tr>\n\t\t<td class=legend style='font-size:25px' nowrap>{secondary_dns}:</td>\n\t\t<td>" . field_ipv4("DNS2", $arrayNameServers[1], "padding:3px;font-size:25px") . "</td>\n\t</tr>\t\n\t<tr>\n\t\t<td colspan=2 style='font-size:16px;font-weight:bolder'> </td>\n\t</tr>\t\n\t<tr>\n\t\t<td colspan=2 style='font-size:25px;font-weight:bolder'><div style='text-align:right'><hr>" . button("{next}", "ChangeQuickHostname()", "30px") . "</div></td>\n\t</tr>\n\t</table>\n\t</div>\n\t\n\t<script>\n\t\tvar X_ChangeQuickHostname= function (obj) {\n\t\t\tvar results=obj.responseText;\n\t\t\tUnlockPage();\n\t\t\tvar setup_proxy={$setup_proxy};\n\t\t\tif(setup_proxy==1){\n\t\t\t\tLoadAjax('setup-content','{$page}?setup-proxy-type=yes&savedsettings='+results)\n\t\t\t\treturn;\n\t\t\t}\t\t\t\n\t\t\t\n\t\t\tvar SetupAD={$SetupAD};\n\t\t\tif(SetupAD==1){\n\t\t\t\tLoadAjax('setup-content','{$page}?setup-active-directory=yes&savedsettings='+results)\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t\tLoadAjax('setup-content','{$page}?setup-3=yes&savedsettings='+results)\n\t\t\t}\n\t\t\t\n\t\tfunction ChangeQuickHostnameCheck(e){\n\t\t\tif(checkEnter(e)){ChangeQuickHostname();}\n\t\t}\n\t\t\n\t\tfunction ChangeWizardNetInterfaces(){\n\t\t\tvar nic=document.getElementById('NIC').value;\n\t\t\tLoadAjax('INTERFACES_OBJECTS','{$page}?setup-nic=yes&t={$t}&NIC='+nic)\n\t\t\n\t\t}\n\t\t\n\t\tfunction KeepNetCheck(){\n\t\t\tdocument.getElementById('NIC').disabled=false;\n\t\t\tdocument.getElementById('hostname_netbios').disabled=false;\n\t\t\tdocument.getElementById('hostname_domain').disabled=false;\n\t\t\tdocument.getElementById('IPADDR').disabled=false;\n\t\t\tdocument.getElementById('NETMASK').disabled=false;\n\t\t\tdocument.getElementById('GATEWAY').disabled=false;\n\t\t\tdocument.getElementById('BROADCAST').disabled=false;\n\t\t\tdocument.getElementById('metric-{$t}').disabled=false;\t\n\t\t\tdocument.getElementById('DNS1').disabled=false;\n\t\t\tdocument.getElementById('DNS2').disabled=false;\n\t\t\tdocument.getElementById('VPS_COMPATIBLE').disabled=false;\n\t\t\t\n\t\t\t\n\t\t\tif(document.getElementById('KEEPNET').checked){\n\t\t\t\tdocument.getElementById('NIC').disabled=true;\n\t\t\t\tdocument.getElementById('VPS_COMPATIBLE').disabled=true;\n\t\t\t\tdocument.getElementById('IPADDR').disabled=true;\n\t\t\t\tdocument.getElementById('NETMASK').disabled=true;\n\t\t\t\tdocument.getElementById('GATEWAY').disabled=true;\n\t\t\t\tdocument.getElementById('BROADCAST').disabled=true;\n\t\t\t\tdocument.getElementById('metric-{$t}').disabled=true;\t\n\t\t\t\tdocument.getElementById('DNS1').disabled=true;\n\t\t\t\tdocument.getElementById('DNS2').disabled=true;\n\t\t\t\tdocument.getElementById('hostname_netbios').disabled=true;\n\t\t\t\tdocument.getElementById('hostname_domain').disabled=true;\t\t\t\t\n\t\t\t\n\t\t\t}\n\t\t\n\t\t}\n\n\t\t\n\t\tfunction ChangeQuickHostname(){\n\t\t\tKEEPNET=0;\n\t\t\tVPS_COMPATIBLE=0;\n\t\t\tif(document.getElementById('KEEPNET').checked){KEEPNET=1;}\n\t\t\tif(document.getElementById('VPS_COMPATIBLE').checked){VPS_COMPATIBLE=1;}\n\t\t\tvar XHR = new XHRConnection();\n\t\t\tvar netbios=document.getElementById('hostname_netbios').value;\n\t\t\tvar dom=document.getElementById('hostname_domain').value;\n\t\t\tif(KEEPNET==0){\n\t\t\t\tif(netbios.length==0){alert('{$netbiosname_field} (Null!)');return;}\n\t\t\t\tif(dom.length==0){alert('{$domain_field} (Null!)');return;}\n\t\t\t\tif(dom=='localhost.localdomain'){alert('localhost.localdomain wrong domain...');return;}\n\t\t\t}\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\tif(document.getElementById('proxy_listen_port')){\n\t\t\t\tXHR.appendData('proxy_listen_port',document.getElementById('proxy_listen_port').value);\n\t\t\t}\n\t\t\tif(document.getElementById('EnablePDNS')){\n\t\t\t\tvar EnablePDNS=0;\n\t\t\t\tif(document.getElementById('EnablePDNS').checked){EnablePDNS=1;}\n\t\t\t\tXHR.appendData('EnablePDNS',EnablePDNS);\n\t\t\t}\n\n\t\t\tif(document.getElementById('EnableFreeRadius')){\n\t\t\t\tvar EnableFreeRadius=0;\n\t\t\t\tif(document.getElementById('EnableFreeRadius').checked){EnableFreeRadius=1;}\n\t\t\t\tXHR.appendData('EnableFreeRadius',EnableFreeRadius);\n\t\t\t}\n\n\t\t\tif(document.getElementById('EnableDHCPServer')){\n\t\t\t\tXHR.appendData('EnableDHCPServer',document.getElementById('EnableDHCPServer').value);\n\t\t\t}\n\t\t\t\n\n\n\t\t\tif(document.getElementById('EnableWebFiltering')){\n\t\t\t\tXHR.appendData('EnableWebFiltering',document.getElementById('EnableWebFiltering').value);\n\t\t\t}\n\n\t\t\tif(document.getElementById('AsCategoriesAppliance')){\n\t\t\t\tXHR.appendData('AsCategoriesAppliance',document.getElementById('AsCategoriesAppliance').value);\n\t\t\t}\t\t\t\n\t\t\t\n\n\t\t\tif(document.getElementById('timezones')){\n\t\t\t\tXHR.appendData('timezones',document.getElementById('timezones').value);\n\t\t\t}\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\tXHR.appendData('KEEPNET',KEEPNET);\n\t\t\t\n\t\t\tif(KEEPNET==0){ \n\t\t\t\tXHR.appendData('VPS_COMPATIBLE',VPS_COMPATIBLE);\n\t\t\t\tXHR.appendData('NIC',document.getElementById('NIC').value);\n\t\t\t\tXHR.appendData('IPADDR',document.getElementById('IPADDR').value);\n\t\t\t\tXHR.appendData('NETMASK',document.getElementById('NETMASK').value); \n\t\t\t\tXHR.appendData('GATEWAY',document.getElementById('GATEWAY').value);\n\t\t\t\tXHR.appendData('BROADCAST',document.getElementById('BROADCAST').value);\n\t\t\t\tXHR.appendData('metric',document.getElementById('metric-{$t}').value); \n\t\t\t\tXHR.appendData('DNS1',document.getElementById('DNS1').value);\n\t\t\t\tXHR.appendData('DNS2',document.getElementById('DNS2').value);\n\t\t\t\tXHR.appendData('netbiosname',netbios);\n\t\t\t\tXHR.appendData('domain',dom);\n\t\t\t}\n\t\t\t\n\t\t\tXHR.appendData('savedsettings','{$_GET["savedsettings"]}');\n\t\t\tAnimateDiv('setup-content');\n\t\t\tLockPage();\n\t\t\tXHR.sendAndLoad('{$page}', 'POST',X_ChangeQuickHostname);\n\t\t\t\n\t\t}\n\t\tKeepNetCheck();\n\t\tdocument.getElementById('content').style.height='1250px';\n\t</script>\n\t\n\t"; $html = "\n\t<div style='font-size:35px;font-weight:bolder;margin-bottom:10px'>{squid_net_simple}</div>\n\t{$FORM}\n\t\n\t\n\t"; echo $tpl->_ENGINE_parse_body($html); }
<?php /* script: Ajax availability calendar author: Chris Bolson file: functions.inc.php use: common functions for all pages mod: 2012-03-08 */ // set local time for newer php installations that require it (function at bottom of page) date_default_timezone_set(getLocalTimezone()); // create calendar for given month function draw_cal($id_item, $month, $year, $manage_type = "avail") { global $lang; $month = sprintf("%02s", $month); // define vars $today_timestamp = mktime(0, 0, 0, date('m'), date('d'), date('Y')); # current timestamp - used to check if date is in past $this_month = getDate(mktime(0, 0, 0, $month, 1, $year)); # convert month to timestamp $first_week_day = $this_month["wday"]; # define first weekday (0-6) $days_in_this_month = cal_days_in_month(CAL_GREGORIAN, $month, $year); # define number of days in week $day_counter_tot = 0; # count total number of days showin INCLUDING previous and next months - use to get 6th row of dates // get num days in previous month - used to add dates to "empty" cells $month_last = $month - 1; $year_last = $year;
function mysql_squid_builder($local = false) { if (function_exists("getLocalTimezone")) { @date_default_timezone_set(getLocalTimezone()); } if (!isset($GLOBALS["DEBUG_SQL"])) { $GLOBALS["DEBUG_SQL"] = false; } $this->report_types[1] = "{by_categories}"; $this->report_types[2] = "{by_websites}"; $this->acl_GroupType["all"] = "{all}"; $this->acl_GroupType["src"] = "{src_addr}"; $this->acl_GroupType["srcdomain"] = "{srcdomain}"; $this->acl_GroupType["arp"] = "{ComputerMacAddress}"; $this->acl_GroupType["dstdomain"] = "{dstdomain}"; $this->acl_GroupType["dstdom_regex"] = "{dstdomain_regex}"; $this->acl_GroupType["url_regex_extensions"] = "{url_regex_extensions}"; $this->acl_GroupType["dst"] = "{dst_addr}"; $this->acl_GroupType["maxconn"] = "{acl_maxconn}"; $this->acl_GroupType["max_user_ip"] = "{acl_max_user_ip}"; $this->acl_GroupType["proxy_auth"] = "{members}"; $this->acl_GroupType["proxy_auth_ads"] = "{dynamic_activedirectory_group}"; $this->acl_GroupType["proxy_auth_statad"] = "{static_activedirectory_group}"; $this->acl_GroupType["browser"] = "{browser}"; $this->acl_GroupType["NudityScan"] = "{nudityScan}"; $this->acl_GroupType["time"] = "{DateTime}"; $this->acl_GroupType["ext_user"] = "******"; $this->acl_GroupType["method"] = "{connection_method}"; $this->acl_GroupType["dynamic_acls"] = "{dynamic_acls}"; $this->acl_GroupType["req_mime_type"] = "{req_mime_type}"; $this->acl_GroupType["rep_mime_type"] = "{rep_mime_type}"; $this->acl_GroupType["url_regex"] = "{url_regex_acl2}"; $this->acl_GroupType["urlpath_regex"] = "{url_regex_acl3}"; $this->acl_GroupType["referer_regex"] = "{referer_regex}"; $this->acl_GroupType["radius_auth"] = "{radius_auth}"; $this->acl_GroupType["ad_auth"] = "{basic_ad_auth}"; $this->acl_GroupType["ldap_auth"] = "{basic_ldap_auth}"; $this->acl_GroupType["hotspot_auth"] = "{hotspot_auth}"; $this->acl_GroupType["port"] = "{destination_port}"; $this->acl_GroupType["categories"] = "{artica_categories}"; $this->acl_GroupType["teamviewer"] = "{macro}: TeamViewer"; $this->acl_GroupType["quota_time"] = "{quota_time}"; $this->acl_GroupType["quota_size"] = "{quota_size}"; $this->acl_GroupType["google"] = "{macro}: Google {websites}"; $this->acl_GroupType["google_ssl"] = "{macro}: Google SSL {websites}"; $this->acl_ARRAY_NO_ITEM["proxy_auth_ads"] = true; $this->acl_ARRAY_NO_ITEM["proxy_auth_statad"] = true; $this->acl_ARRAY_NO_ITEM["NudityScan"] = true; $this->acl_ARRAY_NO_ITEM["all"] = true; $this->acl_ARRAY_NO_ITEM["dynamic_acls"] = true; $this->acl_ARRAY_NO_ITEM["categories"] = true; $this->acl_ARRAY_NO_ITEM["radius_auth"] = true; $this->acl_ARRAY_NO_ITEM["ad_auth"] = true; $this->acl_ARRAY_NO_ITEM["ldap_auth"] = true; $this->acl_ARRAY_NO_ITEM["hotspot_auth"] = true; $this->acl_ARRAY_NO_ITEM["teamviewer"] = true; $this->acl_ARRAY_NO_ITEM["google"] = true; $this->acl_ARRAY_NO_ITEM["google_ssl"] = true; $this->acl_GroupType_WPAD["all"] = "{all}"; $this->acl_GroupType_WPAD["src"] = "{ipsrc}"; $this->acl_GroupType_WPAD["srcdomain"] = "{srcdomain}"; $this->acl_GroupType_WPAD["dstdomain"] = "{dstdomain}"; $this->acl_GroupType_WPAD["dst"] = "{dst}"; $this->acl_GroupType_WPAD["browser"] = "{browser}"; $this->acl_GroupType_WPAD["time"] = "{DateTime}"; $this->acl_GroupType_WPAD["port"] = "{destination_port}"; $this->acl_GroupType_iptables["src"] = "{addr}"; $this->acl_GroupType_iptables["dst"] = "{dst}"; $this->acl_GroupType_iptables["arp"] = "{ComputerMacAddress}"; $this->acl_GroupType_iptables["port"] = "{destination_port}"; $this->acl_GroupType_Firewall_in["src"] = "{addr}"; $this->acl_GroupType_Firewall_in["arp"] = "{ComputerMacAddress}"; $this->acl_GroupType_Firewall_out["dst"] = "{dst}"; $this->acl_GroupType_Firewall_out["teamviewer"] = "TeamViewer - {macro}"; $this->acl_GroupType_Firewall_out["google"] = "Google - {macro}"; $this->acl_GroupType_Firewall_port["port"] = "{destination_port}"; $this->acl_GroupTypeDynamic[0] = "{mac}"; $this->acl_GroupTypeDynamic[1] = "{ipaddr}"; $this->acl_GroupTypeDynamic[3] = "{hostname}"; $this->acl_GroupTypeDynamic[2] = "{member}"; $this->acl_GroupTypeDynamic[4] = "{webserver}"; $this->AVAILABLE_METHOD["GET"] = true; $this->AVAILABLE_METHOD["PUT"] = true; $this->AVAILABLE_METHOD["POST"] = true; $this->AVAILABLE_METHOD["HEAD"] = true; $this->AVAILABLE_METHOD["CONNECT"] = true; $this->AVAILABLE_METHOD["TRACE"] = true; $this->AVAILABLE_METHOD["OPTIONS"] = true; $this->AVAILABLE_METHOD["DELETE"] = true; $this->AVAILABLE_METHOD["PROPFIND"] = true; $this->AVAILABLE_METHOD["PROPPATCH"] = true; $this->AVAILABLE_METHOD["MKCOL"] = true; $this->AVAILABLE_METHOD["COPY"] = true; $this->AVAILABLE_METHOD["MOVE"] = true; $this->AVAILABLE_METHOD["LOCK"] = true; $this->AVAILABLE_METHOD["UNLOCK"] = true; $this->AVAILABLE_METHOD["BMOVE"] = true; $this->AVAILABLE_METHOD["BDELETE"] = true; $this->AVAILABLE_METHOD["BPROFIND"] = true; $this->PROXY_PAC_TYPES[null] = "{select}"; $this->PROXY_PAC_TYPES["shExpMatch"] = "{shExpMatch2}"; $this->PROXY_PAC_TYPES["shExpMatchRegex"] = "{shExpMatchRegex}"; $this->PROXY_PAC_TYPES["isInNetMyIP"] = "{isInNetMyIP}"; $this->PROXY_PAC_TYPES["isInNet"] = "{isInNet2}"; $this->PROXY_PAC_TYPES_EXPLAIN["shExpMatch"] = "{shExpMatch2_explain}"; $this->PROXY_PAC_TYPES_EXPLAIN["shExpMatchRegex"] = "{shExpMatchRegex_explain}"; $this->PROXY_PAC_TYPES_EXPLAIN["isInNetMyIP"] = "{isInNetMyIP_explain}"; $this->PROXY_PAC_TYPES_EXPLAIN["isInNet"] = "{isInNet2_explain}"; $this->CACHE_AGES[0] = "{none}"; $this->CACHE_AGES[30] = "30 {minutes}"; $this->CACHE_AGES[60] = "1 {hour}"; $this->CACHE_AGES[120] = "2 {hours}"; $this->CACHE_AGES[360] = "6 {hours}"; $this->CACHE_AGES[720] = "12 {hours}"; $this->CACHE_AGES[1440] = "1 {day}"; $this->CACHE_AGES[2880] = "2 {days}"; $this->CACHE_AGES[4320] = "3 {days}"; $this->CACHE_AGES[10080] = "1 {week}"; $this->CACHE_AGES[20160] = "2 {weeks}"; $this->CACHE_AGES[43200] = "1 {month}"; $this->CACHE_AGES[525600] = "1 {year}"; $this->CACHES_RULES_TYPES[1] = "{domains}"; $this->CACHES_RULES_TYPES[2] = "{extensions}"; $this->CACHES_RULES_TYPES[3] = "{shExpMatchRegex}"; if ($local == true) { $this->squidEnableRemoteStatistics = 0; $this->EnableSquidRemoteMySQL = 0; } $this->PrepareMySQLClass(); if (!$this->DATABASE_EXISTS("squidlogs")) { if ($GLOBALS["VERBOSE"]) { echo __FUNCTION__ . "::" . __LINE__ . ":: Patching tables -> squidlogs...\n"; } $this->CREATE_DATABASE("squidlogs"); $this->CheckTables(); } $this->fill_task_array(); $this->fill_tasks_disabled(); if (!$this->TestingConnection()) { if ($GLOBALS["VERBOSE"]) { echo __FUNCTION__ . "::" . __LINE__ . ":: TestingConnection -> FAILED Stamp MySQL to FAILED\n"; } $this->MysqlFailed = true; } }
function createStaticFile($_externalUser, $_resolution, $_color, $_timezone, $_lat, $_long, $_countryiso2, $_city, $_region, $_geotimezone, $_isp, $_geosspan, $_grid, $_fromCookie = false) { global $CONFIG; if (isnull(getCookieValue("userid"))) { setCookieValue("visits", $_externalUser->ExternalStatic->Visits = 1); } else { if (!isnull(getCookieValue("userid"))) { setCookieValue("visits", $_externalUser->ExternalStatic->Visits = getCookieValue("visits") + 1); } } $_externalUser->ExternalStatic->IP = getIP(); $_externalUser->ExternalStatic->Host = getHost(); $_externalUser->ExternalStatic->SystemInfo = !isnull($userAgent = getServerParam("HTTP_USER_AGENT")) ? $userAgent : ""; $_externalUser->ExternalStatic->Language = !isnull($acceptLanguage = getServerParam("HTTP_ACCEPT_LANGUAGE")) ? $acceptLanguage : ""; if (strlen($_externalUser->ExternalStatic->Language) > 8 || strpos($_externalUser->ExternalStatic->Language, ";") !== false) { $parts = explode(";", $_externalUser->ExternalStatic->Language); if (count($parts) > 0) { $_externalUser->ExternalStatic->Language = $parts[0]; } else { $_externalUser->ExternalStatic->Language = substr($_externalUser->ExternalStatic->Language, 0, 8); } } $_externalUser->ExternalStatic->Resolution = is_array($_resolution) && count($_resolution) == 2 ? $_resolution[0] . " x " . $_resolution[1] : ""; $_externalUser->ExternalStatic->Resolution .= !isnull($_color) ? " (" . $_color . " Bit)" : ""; $_externalUser->ExternalStatic->GeoTimezoneOffset = getLocalTimezone($_timezone); if (!isnull($_geosspan)) { createSSpanFile($_geosspan); } if (!isnull($CONFIG["wcl_geo_tracking"])) { if (!isnull($_lat) && base64_decode($_lat) > -180) { setCookieValue(GEO_LATITUDE, $_externalUser->ExternalStatic->GeoLatitude = base64_decode($_lat)); setCookieValue(GEO_LONGITUDE, $_externalUser->ExternalStatic->GeoLongitude = base64_decode($_long)); setCookieValue(GEO_COUNTRY_ISO_2, $_externalUser->ExternalStatic->GeoCountryISO2 = base64_decode($_countryiso2)); setCookieValue(GEO_CITY, $_externalUser->ExternalStatic->GeoCity = base64_decode($_city)); setCookieValue(GEO_REGION, $_externalUser->ExternalStatic->GeoRegion = base64_decode($_region)); setCookieValue(GEO_TIMEZONE, $_externalUser->ExternalStatic->GeoTimezoneOffset = base64_decode($_geotimezone)); setCookieValue(GEO_ISP, $_externalUser->ExternalStatic->GeoISP = base64_decode($_isp)); setCookieValue("geo_data", time()); } else { if (isset($_lat)) { $_externalUser->ExternalStatic->GeoLatitude = base64_decode($_lat); $_externalUser->ExternalStatic->GeoLongitude = base64_decode($_long); } else { if (!isnull(getCookieValue("geo_data"))) { $_externalUser->ExternalStatic->GeoLatitude = getCookieValue(GEO_LATITUDE); $_externalUser->ExternalStatic->GeoLongitude = getCookieValue(GEO_LONGITUDE); $_externalUser->ExternalStatic->GeoCountryISO2 = getCookieValue(GEO_COUNTRY_ISO_2); $_externalUser->ExternalStatic->GeoCity = getCookieValue(GEO_CITY); $_externalUser->ExternalStatic->GeoRegion = getCookieValue(GEO_REGION); $_externalUser->ExternalStatic->GeoTimezoneOffset = getCookieValue(GEO_TIMEZONE); $_externalUser->ExternalStatic->GeoISP = getCookieValue(GEO_ISP); $_fromCookie = true; } } } removeSSpanFile(false); if ($_fromCookie) { $_externalUser->ExternalStatic->GeoResultId = 6; } else { if (isSSpanFile()) { if (@filemtime(FILE_SERVER_GEO_SSPAN) > time() + CONNECTION_ERROR_SPAN) { $_externalUser->ExternalStatic->GeoResultId = 5; } else { $_externalUser->ExternalStatic->GeoResultId = 4; } } else { if (base64_decode($_lat) == -777) { $_externalUser->ExternalStatic->GeoResultId = 5; } else { if (base64_decode($_lat) == -522) { $_externalUser->ExternalStatic->GeoResultId = 2; } else { if ($_grid != 4) { $_externalUser->ExternalStatic->GeoResultId = 3; } else { $_externalUser->ExternalStatic->GeoResultId = $_grid; } } } } } if (strlen($_externalUser->ExternalStatic->Language) == 2 && !isnull(GEO_COUNTRY_ISO_2)) { $_externalUser->ExternalStatic->Language .= "-" . $_externalUser->ExternalStatic->GeoCountryISO2; } } $_externalUser->ExternalStatic->Save(); }