decrypt($_COOKIE['session']); } if (isset($LoginCookie)) { list($SessionID, $UserID) = explode("|~|", $Enc->decrypt($LoginCookie)); if (!$UserID || !$SessionID) { die('Not logged in!'); } if (!$Enabled = $Cache->get_value("enabled_$UserID")) { require(SERVER_ROOT.'/classes/mysql.class.php'); //Require the database wrapper $DB = NEW DB_MYSQL; //Load the database wrapper $DB->query(" SELECT Enabled FROM users_main WHERE ID = '$UserID'"); list($Enabled) = $DB->next_record(); $Cache->cache_value("enabled_$UserID", $Enabled, 0); } } else { die('Not logged in!'); } function error($Error) { die($Error); } function is_number($Str) { if ($Str < 0) { return false; } // We're converting input to a int, then string and comparing to original return ($Str == strval(intval($Str)) ? true : false); } function display_str($Str) { if ($Str != '') { $Str = make_utf8($Str); $Str = mb_convert_encoding($Str, 'HTML-ENTITIES', 'UTF-8'); $Str = preg_replace("/&(?![A-Za-z]{0,4}\w{2,3};|#[0-9]{2,5};)/m", '&', $Str); $Replace = array( "'",'"',"<",">", '€','‚','ƒ','„','…','†','‡','ˆ','‰','Š','‹','Œ','Ž','‘','’','“','”','•','–','—','˜','™','š','›','œ','ž','Ÿ' ); $With = array( ''','"','<','>', '€','‚','ƒ','„','…','†','‡','ˆ','‰','Š','‹','Œ','Ž','‘','’','“','”','•','–','—','˜','™','š','›','œ','ž','Ÿ' ); $Str = str_replace($Replace, $With, $Str); } return $Str; } function make_utf8($Str) { if ($Str != '') { if (is_utf8($Str)) { $Encoding = 'UTF-8'; } if (empty($Encoding)) { $Encoding = mb_detect_encoding($Str, 'UTF-8, ISO-8859-1'); } if (empty($Encoding)) { $Encoding = 'ISO-8859-1'; } if ($Encoding == 'UTF-8') { return $Str; } else { return @mb_convert_encoding($Str, 'UTF-8', $Encoding); } } } function is_utf8($Str) { return preg_match('%^(?: [\x09\x0A\x0D\x20-\x7E] // ASCII | [\xC2-\xDF][\x80-\xBF] // non-overlong 2-byte | \xE0[\xA0-\xBF][\x80-\xBF] // excluding overlongs | [\xE1-\xEC\xEE\xEF][\x80-\xBF]{2} // straight 3-byte | \xED[\x80-\x9F][\x80-\xBF] // excluding surrogates | \xF0[\x90-\xBF][\x80-\xBF]{2} // planes 1-3 | [\xF1-\xF3][\x80-\xBF]{3} // planes 4-15 | \xF4[\x80-\x8F][\x80-\xBF]{2} // plane 16 )*$%xs', $Str ); } function display_array($Array, $DontEscape = array()) { foreach ($Array as $Key => $Val) { if (!in_array($Key, $DontEscape)) { $Array[$Key] = display_str($Val); } } return $Array; } function make_secret($Length = 32) { $Secret = ''; $Chars = 'abcdefghijklmnopqrstuvwxyz0123456789'; for ($i = 0; $i < $Length; $i++) { $Rand = mt_rand(0, strlen($Chars) - 1); $Secret .= substr($Chars, $Rand, 1); } return str_shuffle($Secret); } // Send a message to an IRC bot listening on SOCKET_LISTEN_PORT function send_irc($Raw) { $IRCSocket = fsockopen(SOCKET_LISTEN_ADDRESS, SOCKET_LISTEN_PORT); $Raw = str_replace(array("\n", "\r"), '', $Raw); fwrite($IRCSocket, $Raw); fclose($IRCSocket); }