255) { $a_length = 255; } $characters = "0123456789abcdefghijklmnopqrstuvwxyz"; $string = ""; for ($p = 0; $p < $a_length; $p++) { $string .= $characters[mt_rand(0, strlen($characters) - 1)]; } return $string; } function addLangToCurPageURL($a_languageISO2Code) { $urlNew = substr($_SERVER["REQUEST_URI"], 0, strrpos($_SERVER["REQUEST_URI"], $_SERVER["QUERY_STRING"])); $queryNew = $_SERVER["QUERY_STRING"]; if (startsWith($queryNew, "lang=")) { $queryNew = substr($queryNew, strpos($queryNew, "lang=") + strlen("lang=de")); if (startsWith($queryNew, "&")) { $queryNew = substr($queryNew, 1, strlen($queryNew)); } if (strlen($queryNew) == 0 && endsWith($urlNew, "?")) { $urlNew = substr($urlNew, 0, strlen($urlNew) - 1); } } $queryNew = addLangQS($queryNew, $a_languageISO2Code); return $urlNew. $queryNew; } function getQueryStringWithoutLanguage($serverQueryString = null) { if ($serverQueryString == null) { $serverQueryString = $_SERVER["QUERY_STRING"]; } $serverQueryString = str_replace("%26", "&", $serverQueryString); return getQueryStringWithoutStartingAttribute($serverQueryString, "lang="); } function getQueryStringWithoutStartingAttribute($serverQueryString, $a_attribute) { if ($serverQueryString != null && startsWith($serverQueryString, $a_attribute)) { $iPositionEnd = strpos($serverQueryString, "&"); if ($iPositionEnd === false) { $serverQueryString = ""; } else { $serverQueryString = substr($serverQueryString, ($iPositionEnd + 1)); } if (strlen($serverQueryString) == 0) { $serverQueryString = null; } } return $serverQueryString; } function getQueryStringWithoutJSID($a_queryString) { return getQueryStringWithoutStartingAttribute($a_queryString, "jsID="); } function addLangQS($a_queryString, $a_languageISO2Code = null, $a_urlEncode = false) { return addQueryParameter($a_queryString, 'lang', $a_languageISO2Code, "en", $a_urlEncode); } function addJSIDQS($a_queryString, $a_languageISO2Code = null) { return addQueryParameter($a_queryString, 'jsID', $a_languageISO2Code, ""); } function getQueryStringWithoutAuth($a_queryString) { return getQueryStringWithoutStartingAttribute($a_queryString, "auth="); } function addAuthQS($a_queryString, $a_languageISO2Code = null) { return addQueryParameter($a_queryString, 'auth', $a_languageISO2Code, ""); } function addQueryParameter($a_queryString, $a_parameterName, $a_languageISO2Code = null, $a_exceptionValue = "", $a_urlEncode = false) { if ($a_languageISO2Code == null && isset($_GET[$a_parameterName])) { $a_languageISO2Code = $_GET[$a_parameterName]; } if ($a_languageISO2Code && $a_languageISO2Code != null && $a_languageISO2Code !== $a_exceptionValue) { if (startsWith($a_queryString, "?")) { $a_queryString = substr($a_queryString, 1); } $strLang = $a_parameterName . '=' . $a_languageISO2Code; if (!$a_queryString || strlen($a_queryString) == 0) { $a_queryString = "?" . $strLang; } else { if ($a_urlEncode === true) { $a_queryString = $strLang . "%26" . $a_queryString; } else { $a_queryString = $strLang . "&" . $a_queryString; } } } return $a_queryString; } function startsWith($Haystack, $Needle){ if (!$Needle || !$Haystack) { return False; } // Recommended version, using strpos return indexOf($Haystack, $Needle) === 0; } function endsWith($Haystack, $Needle) { if (!$Needle || !$Haystack) { return false; } // Recommended version, using strpos $index = lastIndexOf($Haystack, $Needle); return $index >= 0 && $index === strlen($Haystack) - strlen($Needle); } function contains($Haystack, $Needle) { return indexOf($Haystack, $Needle) >= 0; } function indexOf($Haystack, $Needle) { $pos = strpos($Haystack, $Needle); if ($pos === false) { return -1; } return $pos; } function lastIndexOf($Haystack, $Needle) { $pos = strrpos($Haystack, $Needle); if ($pos === false) { return -1; } return $pos; } function isHTTPSOn() { if (isset($_SERVER["HTTPS"]) && $_SERVER["HTTPS"] === "on") { return true; } else { return false; } } function curPageURL($a_bRemoveTrailingSlash = false) { $uriRequest = $_SERVER["REQUEST_URI"]; if ($a_bRemoveTrailingSlash && endsWith($uriRequest, "/")) { $uriRequest = substr($uriRequest, 0, strlen($uriRequest) - 1); } if (startsWith($uriRequest, "/")) { return curPageDomain() . substr($uriRequest, 1); } return curPageDomain() . $uriRequest; } function curPageDomain($a_addEndString = "/", $a_bForceHTTP = false) { $pageURL = 'http'; if (!$a_bForceHTTP && isHTTPSOn()) {$pageURL .= "s";} $pageURL .= "://"; if (($_SERVER["SERVER_PORT"] == "80" && (!isset($_SERVER["HTTPS"]) || $_SERVER["HTTPS"] !== "on")) || ($_SERVER["SERVER_PORT"] == "443" && (isset($_SERVER["HTTPS"]) && $_SERVER["HTTPS"] === "on"))) { $pageURL .= $_SERVER["SERVER_NAME"] . $a_addEndString; } else { $pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"] . $a_addEndString; } return $pageURL; } function infoservices($url) { $xml = null; $default_socket_timeout = ini_get('default_socket_timeout'); ini_set('default_socket_timeout', 3); $xml=@file_get_contents("http://localhost:8080/".$url); if(!$xml) $xml=@file_get_contents("http://infoservice.jondonym.net:8080/".$url); if(!$xml) $xml=@file_get_contents("http://infoservice.inf.tu-dresden.de/".$url); if(!$xml) $xml=@file_get_contents("http://72.55.137.241/".$url); //Octavius ini_set('default_socket_timeout', $default_socket_timeout); return $xml; } function findAttribute($object, $attribute) { foreach($object->attributes() as $a => $b) { if ($a == $attribute) { return $b; } } return null; } function hashedHeaders($a_header) { static $hashedHeaders = array('host', 'user-agent', 'accept', 'accept-language','accept-encoding', 'accept-charset', 'connection', 'pragma'); if (in_array($a_header, $hashedHeaders)) { return true; } else { return false; } } function createHeaderSignature($a_bHTML = true, $a_httpSignature = null, $a_bIsImage = false) { $rawHeaders = apache_request_headers(); $rawHeadersString = ''; // general browser identifier $rawHeadersUserString = ''; // user specific string $rawHeadersUserStringTorbutton = ''; $rawHeadersStringPrint = ''; $rawHeadersUserStringPrint = ''; $rawHeadersUserStringTorbuttonPrint = ''; $breakLine = "
"; if (!$a_bHTML) { //$breakLine = " ........................................................................................ "; $breakLine = "\A "; } foreach ($rawHeaders as $rawHeader => $rawHeaderValue) { $rawHeader = strtolower($rawHeader); if (hashedHeaders($rawHeader)) { $rawHeadersString .= $rawHeader; $rawHeadersStringPrint .= $rawHeader . $breakLine; if ($rawHeader !== "pragma") { $rawHeadersUserString .= $rawHeader; $rawHeadersUserStringPrint .= $rawHeader; $rawHeadersUserStringTorbutton .= $rawHeader; $rawHeadersUserStringTorbuttonPrint .= $rawHeader; if ($rawHeader !== "host" && $rawHeader !== "connection") { if ($rawHeader !== "accept") { $rawHeadersUserString .= "=" . $rawHeaderValue; $rawHeadersUserStringPrint .= ": " . $rawHeaderValue; } if ($rawHeader === "user-agent") { $rawHeadersUserStringTorbutton .= "=" . $rawHeaderValue; $rawHeadersUserStringTorbuttonPrint .= ": " . $rawHeaderValue; } } $rawHeadersUserString .= "
"; $rawHeadersUserStringTorbutton .= "
"; $rawHeadersUserStringPrint .= $breakLine; $rawHeadersUserStringTorbuttonPrint .= $breakLine; } } } $hashHeaders = md5($rawHeadersString); $hashHeadersUser = md5($rawHeadersUserString); $hashHeadersUserTorbutton = md5($rawHeadersUserStringTorbutton); $bProxy = false; $hashHeadersBrowser = null; if (isHTTPSOn()) { if ($hashHeaders === "6cdaf3eb6e5bb154d497228c2197c715") { $hashHeadersBrowser = "Firefox"; } else if ($hashHeaders === "fa94384392e54e3f48848f6c5d614062") { $hashHeadersBrowser = "Firefox"; // Unknown browser signature (HTTPS): fa94384392e54e3f48848f6c5d614062 (Mozilla/5.0 (Windows NT 6.0; rv:2.0) Gecko/20100101 Firefox/4.0) | HTTP:4b5982f12e85f2cae309167467ebf27d | hostuser-agentacceptaccept-encodingaccept-charsetconnection // Unknown browser signature (HTTPS): fa94384392e54e3f48848f6c5d614062 (Mozilla/5.0 (X11; Linux i686; rv:2.0) Gecko/20110321 IceCat/4.0) | HTTP:fa94384392e54e3f48848f6c5d614062 | hostuser-agentacceptaccept-encodingaccept-charsetconnection // Unknown browser signature (HTTPS): fa94384392e54e3f48848f6c5d614062 (Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3) | HTTP:fa94384392e54e3f48848f6c5d614062 | hostuser-agentacceptaccept-encodingaccept-charsetconnection } else if ($hashHeaders === "ce7441c72955072b23beefe9dbb3bcfa") { $hashHeadersBrowser = "Firefox"; // Unknown browser signature: ce7441c72955072b23beefe9dbb3bcfa (Mozilla/5.0 (en-US; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2) | | hostuser-agentacceptaccept-languageaccept-encodingaccept-charsetconnectionpragma | Individual: b5e9e1e18076f19d8fbe88ec5f628e26 | Raw: host
user-agent=Mozilla/5.0 (en-US; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2
accept
accept-language=en-us
accept-encoding=gzip,deflate
accept-charset=utf-8,*
connection
pragma=no-cache
// Unknown browser signature (HTTPS): ce7441c72955072b23beefe9dbb3bcfa (Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3) | HTTP:17f89f2a5c03ce393241e597ef2e12ab | hostuser-agentacceptaccept-languageaccept-encodingaccept-charsetconnectionpragma // Unknown browser signature (HTTPS, image): ce7441c72955072b23beefe9dbb3bcfa (Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.16) Gecko/20110323 Iceweasel/3.5.16 (like Firefox/3.5.16)) | | hostuser-agentacceptaccept-languageaccept-encodingaccept-charsetconnectionpragma // Unknown browser signature: ce7441c72955072b23beefe9dbb3bcfa (Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0) Gecko/20100101 Firefox/4.0) | | hostuser-agentacceptaccept-languageaccept-encodingaccept-charsetconnectionpragma } else if ($hashHeaders === "2ca1c033ad7829d71da53b1e137b24ae") { $hashHeadersBrowser = "Chrome"; } else if ($hashHeaders === "a7d4493022c78599e69a8b4b814a76a1") { //Unknown browser signature (HTTPS, image): a7d4493022c78599e69a8b4b814a76a1 (Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_6; en-US) AppleWebKit/534.10 (KHTML, like Gecko) Chrome/8.0.552.237 Safari/534.10) | | hostconnectionacceptuser-agentaccept-encodingaccept-languageaccept-charset //Unknown browser signature: a7d4493022c78599e69a8b4b814a76a1 (Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/534.7 (KHTML, like Gecko) Iron/7.0.520.0 Chrome/7.0.520.0 Safari/534.7) | | hostconnectionacceptuser-agentaccept-encodingaccept-languageaccept-charset $hashHeadersBrowser = "Chrome"; } else if ($hashHeaders === "8ab3a24c55ad99f4e3a6e5c03cad9446") { $hashHeadersBrowser = "Firefox"; } else if (//$hashHeaders === "8ab3a24c55ad99f4e3a6e5c03cad9446" || $hashHeaders === "37e6573c5bf59952067b9fc9a274bc7c") { //Unknown browser signature (HTTPS): 37e6573c5bf59952067b9fc9a274bc7c (Mozilla/5.0 (Macintosh; U; PPC Mac OS X 10_4_11; de-de) AppleWebKit/533.19.4 (KHTML, like Gecko) Version/4.1.3 Safari/533.19.4) | HTTP:07c906d497d19ae4dc0e88bd3409c7ab | accept-languageaccept-encodinguser-agentacceptconnectionhost $hashHeadersBrowser = "Safari"; } else if ($a_bIsImage && $hashHeaders === "5d0f14f4b48fa287b74f8d3050a50868") { $hashHeadersBrowser = "Safari"; } else if ($hashHeaders === "87028a659a30ad29845dd51a1f680b90") { $hashHeadersBrowser = "Opera"; } else if (//$hashHeaders === "d8a41a973648c34c4334ba49ac0b0ec6" || // not reproducable? $hashHeaders === "84f83c14f83b5f89c8c963672fe84057") { $hashHeadersBrowser = "Internet Explorer"; } else if ($hashHeaders === "8a1799f9b6d41e937fddee138263f002") { $hashHeadersBrowser = "Konqueror"; } // Lynx is missing as it does not load CSS } else { if ($hashHeaders === "6cdaf3eb6e5bb154d497228c2197c715") { $hashHeadersBrowser = "Firefox"; } else if ($a_bIsImage && $hashHeaders === "7990316dd8af0610cfb6b2549d404b35") { $hashHeadersBrowser = "Firefox"; //Unknown browser signature (image): 7990316dd8af0610cfb6b2549d404b35 (Mozilla/5.0 (en-US; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2) | | hostuser-agentacceptaccept-languageaccept-encodingaccept-charsetpragmaconnection | Individual: 10ce18a3af986b5378ea4f195049472d | Raw: host
user-agent=Mozilla/5.0 (en-US; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2
accept
accept-language=en-us
accept-encoding=gzip,deflate
accept-charset=utf-8,*
pragma=no-cache
connection
} else if ($hashHeaders === "efca5874fceb3dc200e860b8ed41af62") { $hashHeadersBrowser = "Firefox"; // Unknown browser signature: efca5874fceb3dc200e860b8ed41af62 (Mozilla/5.0 (Windows NT 5.1; rv:2.0) Gecko/20100101 Firefox/4.0) // Unknown browser signature: efca5874fceb3dc200e860b8ed41af62 (Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; de; rv:1.9.2.16) Gecko/20110319 Firefox/3.6.16) | | user-agentacceptaccept-languageaccept-encodingaccept-charsethostconnection // Unknown browser signature: efca5874fceb3dc200e860b8ed41af62 (Mozilla/5.0 (Windows; U; Windows NT 6.1; de; rv:1.9.2.15) Gecko/20110303 Firefox/3.6.15) } else if ($hashHeaders === "ce7441c72955072b23beefe9dbb3bcfa") { $hashHeadersBrowser = "Firefox"; // Unknown browser signature (HTTPS): ce7441c72955072b23beefe9dbb3bcfa (Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3) | HTTP:17f89f2a5c03ce393241e597ef2e12ab | hostuser-agentacceptaccept-languageaccept-encodingaccept-charsetconnectionpragma // Unknown browser signature (HTTPS, image): ce7441c72955072b23beefe9dbb3bcfa (Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.16) Gecko/20110323 Iceweasel/3.5.16 (like Firefox/3.5.16)) | | hostuser-agentacceptaccept-languageaccept-encodingaccept-charsetconnectionpragma // Unknown browser signature: ce7441c72955072b23beefe9dbb3bcfa (Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0) Gecko/20100101 Firefox/4.0) | | hostuser-agentacceptaccept-languageaccept-encodingaccept-charsetconnectionpragma } else if ($hashHeaders === "6caf89bfe4f0a430a755d75273c3f371") { $hashHeadersBrowser = "Firefox"; //Unknown browser signature: 6caf89bfe4f0a430a755d75273c3f371 (Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13 ( .NET CLR 3.5.30729)) | | hostuser-agentacceptaccept-languageaccept-encodingaccept-charset //Unknown browser signature: 6caf89bfe4f0a430a755d75273c3f371 (Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.15) Gecko/20110303 Firefox/3.6.15) } else if ($hashHeaders === "b6cb3ca731e80c2c9807fa6a79ca4cb8") // with proxy { $bProxy = true; $hashHeadersBrowser = "Chrome"; } else if ($hashHeaders === "2ca1c033ad7829d71da53b1e137b24ae") { $hashHeadersBrowser = "Chrome"; } else if ($hashHeaders === "a7d4493022c78599e69a8b4b814a76a1") { //Unknown browser signature (HTTPS, image): a7d4493022c78599e69a8b4b814a76a1 (Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_6; en-US) AppleWebKit/534.10 (KHTML, like Gecko) Chrome/8.0.552.237 Safari/534.10) | | hostconnectionacceptuser-agentaccept-encodingaccept-languageaccept-charset //Unknown browser signature: a7d4493022c78599e69a8b4b814a76a1 (Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/534.7 (KHTML, like Gecko) Iron/7.0.520.0 Chrome/7.0.520.0 Safari/534.7) | | hostconnectionacceptuser-agentaccept-encodingaccept-languageaccept-charset $hashHeadersBrowser = "Chrome"; } else if ($hashHeaders === "37e6573c5bf59952067b9fc9a274bc7c") { //Unknown browser signature (HTTPS): 37e6573c5bf59952067b9fc9a274bc7c (Mozilla/5.0 (Macintosh; U; PPC Mac OS X 10_4_11; de-de) AppleWebKit/533.19.4 (KHTML, like Gecko) Version/4.1.3 Safari/533.19.4) | HTTP:07c906d497d19ae4dc0e88bd3409c7ab | accept-languageaccept-encodinguser-agentacceptconnectionhost $hashHeadersBrowser = "Safari"; } else if ($hashHeaders === "8ab3a24c55ad99f4e3a6e5c03cad9446") { //$hashHeadersBrowser = "Safari"; $hashHeadersBrowser = "Firefox"; //Unknown browser signature: 8ab3a24c55ad99f4e3a6e5c03cad9446 (Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_8; de-de) AppleWebKit/533.20.25 (KHTML, like Gecko) Version/5.0.4 Safari/533.20.27) | | hostuser-agentacceptaccept-languageaccept-encodingconnection } else if ($a_bIsImage && $hashHeaders === "0bd5c86879a2b732d3898c570407d875") { $hashHeadersBrowser = "Safari"; $bProxy = true; } else if ($a_bIsImage && $hashHeaders === "5d0f14f4b48fa287b74f8d3050a50868") { $hashHeadersBrowser = "Safari"; } else if (!$a_bIsImage && $hashHeaders === "8d25a179963c7038c5cdfafc67321413") { $hashHeadersBrowser = "Safari"; } else if ($a_bIsImage && $hashHeaders === "cf8ef8a4d5f2387d2607b502d489e38c") { $hashHeadersBrowser = "Opera"; } else if ($hashHeaders === "87028a659a30ad29845dd51a1f680b90") { $hashHeadersBrowser = "Opera"; } else if ($hashHeaders === "84f83c14f83b5f89c8c963672fe84057" || $hashHeaders === "2969ce4cc7df84755c5274fbb8a37f16" || $hashHeaders === "4ceb4461d08b24d8bb73e66b5bbe88a7") // IE 6 or 7 { $hashHeadersBrowser = "Internet Explorer"; //Unknown browser signature (HTTPS, image): 4ceb4461d08b24d8bb73e66b5bbe88a7 (Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; GTB6.6; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 1.1.4322; .NET CLR 3.5.30729; .NET CLR 3.0.30729; OfficeLiveConnector.1.5; OfficeLivePatch.1.3; .NET4.0C; BRI/2)) | | acceptaccept-languageaccept-encodinguser-agenthostconnection //Unknown browser signature: 4ceb4461d08b24d8bb73e66b5bbe88a7 (Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; GoogleT5; AskTbMP3R7/5.9.1.14019)) | | acceptaccept-languageaccept-encodinguser-agenthostconnection } else if ($a_bIsImage && $hashHeaders === "2d10186e8c836e47e48f4c152d0232cf") { $hashHeadersBrowser = "Internet Explorer"; $bProxy = true; } else if ($a_bIsImage && $hashHeaders === "8299778311e35830907796d528d61315") { $hashHeadersBrowser = "Internet Explorer"; $bProxy = true; } else if ($hashHeaders === "8a17624863a24a982b7d8b17cbee71ee") { $bProxy = true; $hashHeadersBrowser = "Konqueror"; } else if ($hashHeaders === "8a1799f9b6d41e937fddee138263f002") { $hashHeadersBrowser = "Konqueror"; } else if ($hashHeaders === "fa94384392e54e3f48848f6c5d614062") { $hashHeadersBrowser = "Firefox/Polipo"; } else if ($hashHeaders === "65d79f1b754d4d2fa88fbe8ac48dc998") { $bProxy = true; $hashHeadersBrowser = "Lynx"; } else if ($hashHeaders === "d0d8d6c0f54d7decc32771a1ce60484d") { $hashHeadersBrowser = "Lynx"; } /* Unknown browser signature: f04408d0b7e97136237d01c01ea0d6b8 (Mozilla/5.0 (en-US; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2) | | pragmahostuser-agentacceptaccept-languageaccept-encodingaccept-charsetconnection Unknown browser signature: f04408d0b7e97136237d01c01ea0d6b8 (Mozilla/5.0 (en-US; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2) pragmahostuser-agentacceptaccept-languageaccept-encodingaccept-charsetconnection Unknown browser signature: c08caf7bee9f610d4457b2261d070c0a (Mozilla/5.0 (Macintosh; Intel Mac OS X 10.5; rv:2.0) Gecko/20100101 Firefox/4.0) | | user-agenthostacceptaccept-languageaccept-charsetconnection Unknown browser signature: efca5874fceb3dc200e860b8ed41af62 (Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.2.16) Gecko/20110319 Firefox/3.6.16 (.NET CLR 3.5.30729)) | | user-agentacceptaccept-languageaccept-encodingaccept-charsethostconnection Unknown browser signature: 0c991e7cba182d38621fa4fd90bd5a20 (Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.2.16) Gecko/20110319 Firefox/3.6.16 ( .NET CLR 3.5.30729)) | | accept-encodinghostuser-agentacceptaccept-languageaccept-charsetconnection Unknown browser signature: f3aceb54108943bb043c7f5bb029ac8f (Mozilla/5.0 (Windows NT 6.0; rv:2.0) Gecko/20100101 Firefox/4.0 SmartLinksAddon) | | user-agenthostacceptaccept-encodingconnection Unknown browser signature: 269bcf977299804396323c993a6d7283 (Mozilla/5.0 (Windows NT 5.1; rv:2.0) Gecko/20100101 Firefox/4.0) | | hostconnectionuser-agentacceptaccept-languageaccept-encodingaccept-charset Unknown browser signature: 269bcf977299804396323c993a6d7283 (Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13 (.NET CLR 3.5.30729)) | | hostconnectionuser-agentacceptaccept-languageaccept-encodingaccept-charset Unknown browser signature: 28b6d4d68dd5e37787a9b10b273ddb59 (Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3) | | hostuser-agentaccept-charset Unknown browser signature (HTTPS): 20ebc95e2567e52b8460cbe2bb60fc38 (Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13) | HTTP:20ebc95e2567e52b8460cbe2bb60fc38 | hostuser-agentacceptaccept-languageaccept-charset Unknown browser signature: bb6ffeef0e305e00e90c0eed48b80ddc (Mozilla/5.0 (Windows NT 5.1; rv:2.0) Gecko/20100101 Firefox/4.0) | | hostuser-agentacceptaccept-languageaccept-charsetconnection Unknown browser signature (HTTPS): fa94384392e54e3f48848f6c5d614062 (Mozilla/5.0 (Windows NT 5.1; rv:2.0) Gecko/20100101 Firefox/4.0) | HTTP:fa94384392e54e3f48848f6c5d614062 | hostuser-agentacceptaccept-encodingaccept-charsetconnection Unknown browser signature: 4184d7110647d69c86881700febaa88a (Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.6) Gecko/20100625 Firefox/3.6.6) | | hostaccept-encodinguser-agentconnection Unknown browser signature: 9b2ef845e25dfe43e2b740c614bf6e1e (Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6; de-de) AppleWebKit/531.9 (KHTML, like Gecko) Version/4.0.3 Safari/531.9) | | hostconnectionacceptaccept-encodingaccept-languageuser-agent Unknown browser signature: dc1ef0488864aec0825315f184b20f9e (Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6; de-de) AppleWebKit/531.9 (KHTML, like Gecko) Version/4.0.3 Safari/531.9) | | hostconnectionuser-agentaccept-encodingaccept-languageaccept Unknown browser signature (HTTPS, image): a9a41e72dae9d872fc5f170995969c6d (Mozilla/5.0 (Linux; U; Android 2.2; de-de; SGH-T849 Build/TOSHIBA_FOLIO_AND_A) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1) | | hostaccept-encodingaccept-languageuser-agentacceptaccept-charset Unknown browser signature: a0471ffc8ba96abec0f41570530506e7 (Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.648.204 Safari/534.16) | | user-agentacceptaccept-encodingaccept-languageaccept-charsethostconnection Unknown browser signature: a01fd5135b20bb6a87bd40558d5999a6 (Mozilla/5.0 (compatible; Konqueror/4.4) KHTML/4.4.4 (like Gecko) SUSE) | | hostuser-agentacceptaccept-charsetconnection Unknown browser signature: 4294b0f2bff380cd9c4fe336330cea23 (Mozilla/5.0 (compatible; Konqueror/4.4) KHTML/4.4.4 (like Gecko) SUSE) | | hostuser-agentacceptaccept-charsetaccept-encodingconnection Unknown browser signature: 8cb5aeaa205fb4d07b87f70f78d33586 (Opera/9.80 (Windows NT 6.1; U; de)Presto/2.7.62 Version/11.01) | | hostacceptuser-agentaccept-charsetaccept-language Unknown browser signature: f15ad58130df346e641f961db8019691 (Opera/9.80 (Windows NT 6.1; U; en) Presto/2.2.15 Version/10.10) | | hostacceptuser-agentaccept-charset Unknown browser signature: 4294b0f2bff380cd9c4fe336330cea23 (Opera/9.80 (Windows NT 6.1; U; en) Presto/2.2.15 Version/10.10) | | hostuser-agentacceptaccept-charsetaccept-encodingconnection Unknown browser signature: 0ebed08ca011944f1d023c8866b7c3dd (Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.3; .NET4.0C; .NET4.0E)) |user-agenthostacceptaccept-languageconnection Unknown browser signature: f231e79bc8276d9ca69a20e2f46ced2d (Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0; MATP)) hostconnectionacceptaccept-languageuser-agentaccept-encoding Unknown browser signature: abd747e977071fb900c4f0519a3048fc (Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET CLR 1.1.4322; .NET4.0C; Tablet PC 2.0)) | | acceptuser-agenthost Unknown browser signature: 01a8ec31a4f1111f0bfa10e574df8183 (Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0; (webde/1.0.0.8))) | | acceptuser-agentaccept-encodingaccept-languagehost Unknown browser signature: 8f9fc8dfaa22b1858346c94ffcbb06e1 (Baiduspider+(+http://www.baidu.com/search/spider.htm)) | | hostconnectionuser-agentaccept-languageaccept-encodingaccept Unknown browser signature: 3faf6ee5ba608b878ccdb4c56a3a0a5d (Baiduspider+(+http://www.baidu.com/search/spider.htm)) | | hostaccept-languageconnectionuser-agent Unknown browser signature: b51dd00e9b85d1afbf52cb7b6ee8a23d (Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)) | | connectionpragmaacceptaccept-encodinghostuser-agent Unknown browser signature: 6caf89bfe4f0a430a755d75273c3f371 () | | hostuser-agentacceptaccept-languageaccept-encodingaccept-charset */ else if ($hashHeaders === "b920b13e819de3ada97bbdfec2227cb0" || // anonymouse // $hashHeaders === "8efdb01dab7e9db76709f22e49d62221" || // http://www.tor-proxy.net $hashHeaders === "047ffea3524c4b6e79f1ed5ad8e4f6d5") // http://www.zendproxy.com, www.webproxy.ca { $bProxy = true; $hashHeadersBrowser = "Web-Proxy"; } } // jondofox old: f568ad2cd09fa9bc88b48d1fb00a3601 $hashSignatureJonDoFoxOld = "6f27e4837c7c7174b165b5e2053c95c7"; //$hashSignatureJonDoFoxOld = "a626b23756a86cd20214b336c16fc0fa"; // jondobrowser stange on some squids! $hashSignatureJonDoFoxHTTPSOld = "6f27e4837c7c7174b165b5e2053c95c7"; //$hashSignatureJonDoFoxHTTPSOld = "a626b23756a86cd20214b336c16fc0fa"; $hashSignatureJonDoFoxImageOld = "6f27e4837c7c7174b165b5e2053c95c7"; $hashSignatureJonDoFoxImageHTTPSOld = "6f27e4837c7c7174b165b5e2053c95c7"; /* $hashSignatureJonDoFoxOld = "6f27e4837c7c7174b165b5e2053c95c7"; // jondobrowser stange on some squids! $hashSignatureJonDoFoxHTTPSOld = "6f27e4837c7c7174b165b5e2053c95c7"; $hashSignatureJonDoFoxImageOld = "6f27e4837c7c7174b165b5e2053c95c7"; $hashSignatureJonDoFoxImageHTTPSOld = "6f27e4837c7c7174b165b5e2053c95c7"; */ $hashSignatureJonDoFox = "307f4264cf87fd42a0a6b03166b51dc8"; //jdf 2 //$hashSignatureJonDoFoxHTTPS = "ec6c7fd0409623a1e1060652e1b3d199"; $hashSignatureJonDoFoxHTTPS = "0ca5455ab0e079d00d72a6451dc5301f"; $hashSignatureJonDoFoxImage = "ec6c7fd0409623a1e1060652e1b3d199"; $hashSignatureJonDoFoxImageHTTPS = "ec6c7fd0409623a1e1060652e1b3d199"; //$hashSignatureJonDoFox = "ec6c7fd0409623a1e1060652e1b3d199"; //$hashSignatureJonDoFoxHTTPS = "ec6c7fd0409623a1e1060652e1b3d199"; //$hashSignatureJonDoFoxImage = "ec6c7fd0409623a1e1060652e1b3d199"; //$hashSignatureJonDoFoxImageHTTPS = "ec6c7fd0409623a1e1060652e1b3d199"; $hashSignatureJonDoFox2nd = "b5c6fb64869cf73be714abffbcb569fd"; //$hashSignatureJonDoFox2nd = "6f27e4837c7c7174b165b5e2053c95c7"; // jdf 1 $hashSignatureJonDoFoxHTTPS2nd = "6f27e4837c7c7174b165b5e2053c95c7"; $hashSignatureJonDoFoxImage2nd = "6f27e4837c7c7174b165b5e2053c95c7"; $hashSignatureJonDoFoxImageHTTPS2nd = "6f27e4837c7c7174b165b5e2053c95c7"; // $hashSignatureTorPolipoNew = "7b8e1fc3ec25fea285ed0b34ef3fef7d"; // $hashSignatureTorNew = "7b8e1fc3ec25fea285ed0b34ef3fef7d"; // $hashSignatureTorHTTPS = "7b8e1fc3ec25fea285ed0b34ef3fef7d"; $hashSignatureTor = "ec6c7fd0409623a1e1060652e1b3d199"; $hashSignatureTorHTTPS = "ec6c7fd0409623a1e1060652e1b3d199"; $hashSignatureTorNew = "903181a2eaed032ab01cadbcae138c5e"; $hashSignatureTorHTTPSNew = "903181a2eaed032ab01cadbcae138c5e"; $hashSignatureProfile = null; $hashSignatureRecommended = $hashSignatureJonDoFox; $strProfile = "JonDoFox"; $bJonDoFox = "False"; $bTorbutton = "False"; if (1==1 || ($hashHeadersUser === $hashSignatureJonDoFox || $hashHeadersUser === $hashSignatureJonDoFox2nd || $hashHeadersUser === $hashSignatureJonDoFoxOld)) { $hashHeadersRating = 'good'; $bJonDoFox = "True"; $hashHeadersInfotext = infotext('HTTP_HEADER_SIGNATURE_GOOD',lang()); } else if (!isHTTPSOn() && $a_bIsImage && ($hashHeadersUser === $hashSignatureJonDoFoxImage || $hashHeadersUser === $hashSignatureJonDoFoxImage2nd || $hashHeadersUser === $hashSignatureJonDoFoxImageOld)) { $hashSignatureRecommended = $hashSignatureJonDoFoxImage; $hashHeadersRating = 'good'; $bJonDoFox = "True"; $hashHeadersInfotext = infotext('HTTP_HEADER_SIGNATURE_GOOD',lang()); } else if (isHTTPSOn() && $a_bIsImage && ($hashHeadersUser === $hashSignatureJonDoFoxImageHTTPS || $hashHeadersUser === $hashSignatureJonDoFoxImageHTTPS2nd || $hashHeadersUser === $hashSignatureJonDoFoxImageHTTPSOld)) { $hashSignatureRecommended = $hashSignatureJonDoFoxImageHTTPS; $hashHeadersRating = 'good'; $bJonDoFox = "True"; $hashHeadersInfotext = infotext('HTTP_HEADER_SIGNATURE_GOOD',lang()); } else if (isHTTPSOn() && ($hashHeadersUser === $hashSignatureJonDoFoxHTTPS || $hashHeadersUser === $hashSignatureJonDoFoxHTTPS2nd || $hashHeadersUser === $hashSignatureJonDoFoxHTTPSOld)) { $hashSignatureRecommended = $hashSignatureJonDoFoxHTTPS; $hashHeadersRating = 'good'; $bJonDoFox = "True"; $hashHeadersInfotext = infotext('HTTP_HEADER_SIGNATURE_GOOD',lang()); } else //if (toruse($_SERVER['REMOTE_ADDR']) || japuse($SERVER['REMOTE_ADDR']) ) { $hashSignatureRecommended = $hashSignatureTorNew; if (toruse($_SERVER['REMOTE_ADDR'])) { $strProfile = "Torbrowser"; } if (!isHTTPSOn() && $hashHeadersUser === $hashSignatureTorNew || $hashHeadersUser === $hashSignatureTor) { $hashHeadersRating = 'good'; $bTorbutton = "True"; $hashHeadersInfotext = infotext('HTTP_HEADER_SIGNATURE_GOOD',lang()); } else if (isHTTPSOn() && $hashHeadersUser === $hashSignatureTorHTTPSNew || $hashHeadersUser === $hashSignatureTorHTTPS) { $hashHeadersRating = 'good'; $bTorbutton = "True"; $hashHeadersInfotext = infotext('HTTP_HEADER_SIGNATURE_GOOD',lang()); } else { $hashHeadersRating = 'medium'; $hashHeadersInfotext = str_replace("#FULL_SIGNATURE#", $hashHeadersUser, infotext('HTTP_HEADER_SIGNATURE_MEDIUM',lang())); } } /* else { $hashHeadersRating = 'medium'; $hashHeadersInfotext = str_replace("#FULL_SIGNATURE#", $hashHeadersUser, infotext('HTTP_HEADER_SIGNATURE_MEDIUM',lang())); } */ $hashHeadersInfotext = str_replace("#PROFILE#", $strProfile, $hashHeadersInfotext); $strBoldStart = ""; $strBoldEnd = ""; if (!$a_bHTML) { $strBoldStart = "*** "; $strBoldEnd = " ***"; } $strBrowser = ""; if ($hashHeadersBrowser == null) { if (!$bProxy) { $strDetailInfo = null; if (isHTTPSOn()) { $strDetailInfo = "HTTPS"; } if ($a_bIsImage) { if ($strDetailInfo == null) { $strDetailInfo = "image"; } else { $strDetailInfo .= ", image"; } } if ($strDetailInfo != null) { $strDetailInfo = " (" . $strDetailInfo . ")"; } // error_log("Unknown browser signature" . $strDetailInfo . ": " . $hashHeaders . " (" . (isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : "null") . ")" . " | " . // ($a_httpSignature != null ? ' HTTP:' . $a_httpSignature : '') . " | " . $rawHeadersString); } $hashHeadersBrowser = ""; } else { $strBrowser = $hashHeadersBrowser; $hashHeadersBrowser = " (" . $hashHeadersBrowser . ($bProxy && $hashHeadersBrowser !== "Web-Proxy" ? " + Proxy" : "" ) . ")"; } /* if ($hashHeadersUser === 'b5e9e1e18076f19d8fbe88ec5f628e26') { error_log("Unknown browser signature" . $strDetailInfo . ": " . $hashHeaders . " (" . (isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : "null") . ")" . " | " . ($a_httpSignature != null ? ' HTTP:' . $a_httpSignature : '') . " | " . $rawHeadersString . " | Individual: " . $hashHeadersUser . " | Raw: " . $rawHeadersUserString); } */ $hashHeadersBestInfotext = infotext('HTTP_HEADER_SIGNATURE_BEST',lang()); $hashHeadersBestInfotext = str_replace("#HEADER_SIGNATURE#", $breakLine . $hashHeaders . $hashHeadersBrowser . //($a_httpSignature != null ? ' HTTP:' . $a_httpSignature : '') . $breakLine . $rawHeadersStringPrint . $breakLine, $hashHeadersBestInfotext); $hashHeadersBestInfotext = str_replace("#HEADER_SIGNATURE_INDIVIDUAL#", $breakLine . $hashHeadersUser . $breakLine . $rawHeadersUserStringPrint . $breakLine, $hashHeadersBestInfotext); $hashHeadersBestInfotext = str_replace("#HEADER_SIGNATURE_JONDOFOX#", $breakLine . $hashSignatureRecommended, $hashHeadersBestInfotext); $hashHeadersBestInfotext = str_replace("#PROFILE#", $strProfile, $hashHeadersBestInfotext); $hashHeadersBestInfotext = str_replace("#BOLD_START#", $strBoldStart, $hashHeadersBestInfotext); $hashHeadersBestInfotext = str_replace("#BOLD_END#", $strBoldEnd, $hashHeadersBestInfotext); $hashHeadersJonDoFoxInfotext = infotext('HTTP_HEADER_SIGNATURE_JONDOFOX'); $hashHeadersJonDoFoxInfotext = str_replace("#HEADER_SIGNATURE#", $breakLine . "8ab3a24c55ad99f4e3a6e5c03cad9446" . $breakLine . "host" . $breakLine . "user-agent" . $breakLine . "accept" . $breakLine . "accept-language" . $breakLine . "accept-encoding" . $breakLine . "connection" . $breakLine . $breakLine, $hashHeadersJonDoFoxInfotext); if ($bTorbutton === "True") { $hashHeadersJonDoFoxInfotext = str_replace("#HEADER_SIGNATURE_INDIVIDUAL#", $breakLine . $hashSignatureRecommended . $breakLine . "host" . $breakLine . "user-agent: Mozilla/5.0 (Windows NT 6.1; rv:52.0) Gecko/20100101 Firefox/52.0" . $breakLine . "accept" . $breakLine . "accept-language: en-us,en;q=0.5" . $breakLine . "accept-encoding: gzip, deflate" . $breakLine . "connection" . $breakLine . $breakLine, $hashHeadersJonDoFoxInfotext); } else { $hashHeadersJonDoFoxInfotext = str_replace("#HEADER_SIGNATURE_INDIVIDUAL#", $breakLine . $hashSignatureRecommended . $breakLine . "host" . $breakLine . "user-agent: Mozilla/5.0 (Windows NT 6.1; rv:45.0) Gecko/20100101 Firefox/45.0" . $breakLine . "accept" . $breakLine . "accept-language: en-us" . $breakLine . "accept-encoding: gzip, deflate" . $breakLine . "connection" . $breakLine . $breakLine, $hashHeadersJonDoFoxInfotext); } $hashHeadersJonDoFoxInfotext = str_replace("#PROFILE#", $strProfile, $hashHeadersJonDoFoxInfotext); $hashHeadersJonDoFoxInfotext = str_replace("#BOLD_START#", $strBoldStart, $hashHeadersJonDoFoxInfotext); $hashHeadersJonDoFoxInfotext = str_replace("#BOLD_END#", $strBoldEnd, $hashHeadersJonDoFoxInfotext); $hashHeadersInfotext .= utf8_encode($breakLine . $breakLine . $hashHeadersBestInfotext); $hashHeadersBestInfotext = utf8_encode($hashHeadersBestInfotext); return array($hashHeadersRating => $hashHeadersInfotext, 'RATING' => $hashHeadersRating, 'INFOTEXT' => $hashHeadersInfotext, // this should replace the above... 'HTTP_HEADER_SIGNATURE_BEST' => utf8_encode(str_replace("#PROFILE#", $strProfile, infotext('HTTP_HEADER_SIGNATURE_RECOMMENDED')) . $breakLine . $breakLine . $hashHeadersJonDoFoxInfotext), 'HTTP_HEADER_SIGNATURE_VALUE' => $hashHeaders . $hashHeadersBrowser, 'HTTP_HEADER_SIGNATURE' => $hashHeaders, 'HTTP_HEADER_SIGNATURE_INDIVIDUAL' => $hashHeadersUser, 'RECOMMENDED' => $hashSignatureRecommended, 'HTTP_HEADER_SIGNATURE_JONDOFOX' => $hashHeadersJonDoFoxInfotext, 'PROXY' => ($bProxy ? "True" : "False"), 'JONDOFOX' => $bJonDoFox, 'TORBUTTON' => $bTorbutton, 'BROWSER' => $strBrowser); } function isI2PAddress($ip) { if ($ip === "85.31.186.70" || $ip === "87.106.138.84") { return true; } return false; } function japuse($ip) { if (isset($_SERVER["HTTP_X_JONDONYM_DISTRIBUTION"]) && $_SERVER["HTTP_X_JONDONYM_DISTRIBUTION"] != null) { return 1 + intval($_SERVER["HTTP_X_JONDONYM_DISTRIBUTION"]); } $Exitxml=new SimpleXMLElement(infoservices("exitaddresses")); $IP_hosts=array(); foreach ($Exitxml->ExitAddresses as $ExitAddresses) { foreach ($ExitAddresses->ExitAddress as $ea) { $nodeValue = "". $ea; if ($ip === $nodeValue) { $distribution = findAttribute($ExitAddresses, "distribution"); if ($distribution == null) { $distribution = 7; } else { $distribution = 1 + $distribution; } return $distribution; } // $IP_hosts=array_merge($IP_hosts,array($ea)); } } // if(in_array($ip,$IP_hosts)) return true; return 0; } function toruse($ip) { $TorIps = "/var/www/tor_exitnodes.txt"; $IPTOR = explode("\n",file_get_contents($TorIps,'r')); if(count($IPTOR)>1) { if(in_array($ip,$IPTOR)) return true; } return false; } function isTest() { //if (isset($_SERVER['HTTP_ACCEPT_ENCODING']) && $_SERVER['HTTP_ACCEPT_ENCODING'] === "gzip,deflate,dummy") if (isset($_SERVER['HTTP_USER_AGENT']) && $_SERVER['HTTP_USER_AGENT'] === "test") { return true; } else { return false; } /* if (1==1) return false; $arraySignature = createHeaderSignature(); if ($arraySignature['HTTP_HEADER_SIGNATURE'] === "0c991e7cba182d38621fa4fd90bd5a20") { return true; } else { return false; } */ /* if ($arraySignature['HTTP_HEADER_SIGNATURE'] === "bb6ffeef0e305e00e90c0eed48b80ddc" || (isset($_SERVER['HTTP_USER_AGENT']) && contains($_SERVER['HTTP_USER_AGENT'], "MSIE 9.0"))) { return true; } else { return false; } */ } function createJSIDForwardingPage($a_strCurrentPage) { if (!isset($_GET["jsID"]) || $_GET["jsID"] == null || endsWith($_GET["jsID"], "abc")) { return false; } if (endsWith($_GET["jsID"], "a")) { $a_strLevel = "b"; } else if (endsWith($_GET["jsID"], "ab")) { $a_strLevel = "c"; } else { $a_strLevel = "a"; } include_once 'messages.php'; include_once 'payment.php'; $serverQueryString = getQueryStringWithoutJSID(getQueryStringWithoutLanguage()); //$serverQueryString = addLangQS("jsID=" . $_GET["jsID"] . "_#RATING#" . $a_strLevel . "&" . $serverQueryString); $serverQueryString = addLangQS("jsID=" . $_GET["jsID"] . $a_strLevel . "&" . $serverQueryString); $a_bThirdParty = false; $a_strJS = ""; $strDots = ""; if ($a_bThirdParty) { $strDots = "../"; } $strURL = (isHTTPSOn()?"https":"http") . '://' . $a_strCurrentPage; echo '' ."\n"; echo '' ."\n"; echo '' . "\n"; echo '' ."\n"; echo '' . "\n"; echo '' . "\n"; // if JavaScript is still on, we continue. Otherwise we are redirected to the start page. echo '' ."\n"; echo '' ."\n"; echo '' ."\n"; $showIPCheckPromotion = true; include($strDots . "navigationCommon.php"); echo '

'; echo infotext('JAVASCRIPT_SWITCHED_OFF', lang()) . ' ' . infotext('JAVASCRIPT_SWITCHED_OFF_LINK', lang()) . '

' . "\n"; echo '
'; return true; } function createJSTestVariable() { if (isTest()) { echo 'window.bTest = true;'; } else { echo 'window.bTest = false;'; } } ?>