goto x9Ggb; wZOGG: function canViewGhost() { global $setting; if (boomAllow($setting["\x63\141\156\137\x76\147\x68\157\x73\164"])) { return true; } } goto k_W3p; hmsf2: function canClearRoom() { global $setting; if (boomAllow($setting["\143\x61\156\x5f\x63\x6c\145\141\162"]) || boomRole($setting["\x63\x61\156\137\x72\143\154\145\x61\x72"])) { return true; } } goto wZOGG; mBgGV: function specialLogIcon($icon) { return "\144\x65\146\141\165\154\x74\x5f\151\x6d\141\147\x65\163\57\x73\x70\145\x63\151\141\154\57" . $icon . boomFileVersion(); } goto tBuLc; IlG_F: function canMain() { global $setting; if (boomAllow($setting["\141\154\154\157\167\137\155\141\x69\156"])) { return true; } } goto xsxPu; J1Tx3: function getUserData($user, $type) { global $mysqli; $d = ''; $get_data = $mysqli->query("\x53\105\x4c\x45\103\124\40{$type}\x20\x46\122\117\x4d\x20\x62\157\157\x6d\137\165\x73\x65\x72\163\137\x64\x61\x74\x61\40\x57\110\105\x52\105\x20\165\151\x64\x20\x3d\x20\x27{$user["\165\163\145\162\137\151\x64"]}\x27"); if ($get_data->num_rows > 0) { $res = $get_data->fetch_assoc(); $d = $res[$type]; } return $d; } goto zy2ip; nkRBx: function encrypt($d) { return sha1(str_rot13($d . BOOM_CRYPT)); } goto JhaOZ; DQsny: function myColor($u) { return $u["\x75\x73\x65\162\x5f\x63\x6f\154\x6f\162"]; } goto HPooz; pw2UE: function isMember($user) { if (!isGuest($user) && !isBot($user)) { return true; } } goto WvGfi; aofrz: function checkUsername($n) { if (empty($n)) { $n = "\116\57\101"; } return $n; } goto q246b; Jeo3O: function getDelay() { return time() - 75; } goto Wp_Th; BpPQw: function addGold($user, $gold) { global $mysqli; $mysqli->query("\x55\120\x44\x41\124\105\x20\x62\x6f\157\155\x5f\165\x73\x65\162\163\x20\x53\x45\124\x20\165\x73\x65\162\x5f\x67\157\x6c\144\40\75\40\x75\163\145\x72\137\147\157\154\144\40\x2b\x20\x27{$gold}\x27\40\x57\x48\x45\122\x45\40\x75\163\x65\x72\137\151\x64\x20\75\40\x27{$user["\165\163\145\x72\x5f\151\144"]}\47"); redisUpdateUser($user["\165\163\x65\162\x5f\x69\x64"]); } goto H4Udf; JKv32: function escape($t, $i = false) { global $mysqli; if ($i === true) { return intval($t); } else { return $mysqli->real_escape_string(trim(htmlspecialchars($t, ENT_QUOTES))); } } goto yDjyg; CMODv: function systemReplace($text) { global $lang; $text = str_replace("\x25\x62\143\x6a\157\x69\x6e\x25", $lang["\x6a\157\x69\156\x5f\x6d\x65\x73\163\x61\147\x65"], $text); $text = str_replace("\45\x62\x63\143\154\x65\x61\x72\x25", $lang["\143\x6c\145\141\162\137\x6d\145\163\x73\141\147\145"], $text); $text = str_replace("\x25\163\160\x61\155\x25", $lang["\163\160\x61\155\x5f\x63\157\156\x74\145\x6e\x74"], $text); $text = str_replace("\45\x62\143\156\141\x6d\145\45", $lang["\x6e\x61\x6d\145\x5f\155\145\163\x73\x61\x67\x65"], $text); $text = str_replace("\45\x62\x63\x6b\151\x63\x6b\45", $lang["\153\151\143\x6b\137\155\x65\163\163\141\147\x65"], $text); $text = str_replace("\45\142\x63\142\x61\x6e\x25", $lang["\142\x61\156\x5f\155\x65\163\x73\141\147\x65"], $text); $text = str_replace("\x25\142\x63\x6d\x75\x74\145\45", $lang["\155\x75\x74\x65\137\155\145\163\163\141\147\145"], $text); $text = str_replace("\x25\x62\143\142\154\x6f\143\153\x25", $lang["\142\x6c\x6f\143\153\137\155\145\x73\x73\141\x67\145"], $text); return $text; } goto nkWdQ; GglDd: function exportPrivateLogs($logs) { $result = array(); foreach ($logs as $log) { $result[] = createPrivateLog($log); } return $result; } goto OIjCL; axSgg: function canQuote() { global $setting; if (boomAllow($setting["\x61\x6c\154\x6f\x77\x5f\161\x75\x6f\164\145"])) { return true; } } goto Ln7Zk; Fm6iW: function updateConv($hunter, $target) { global $mysqli; $mysqli->query("\12\x9\x49\116\123\105\x52\124\x20\111\116\124\117\x20\x60\x62\x6f\157\x6d\x5f\x63\x6f\156\166\x65\x72\x73\141\164\151\157\156\140\x20\50\x60\x63\151\144\x60\x2c\x20\140\150\165\x6e\164\x65\162\x60\x2c\40\x60\164\x61\162\x67\x65\x74\x60\x2c\x20\x60\x75\156\162\145\141\x64\140\54\x20\x60\143\144\141\164\x65\x60\51\40\126\101\x4c\x55\x45\123\40\50\47" . convId($hunter, $target) . "\x27\x2c\47{$hunter}\x27\x2c\47{$target}\47\54\61\54\x27" . time() . "\47\x29\x20\x4f\x4e\x20\x44\x55\120\114\111\x43\101\124\x45\x20\113\105\x59\40\x55\120\104\101\x54\105\x20\140\x75\156\162\145\141\x64\x60\x20\x3d\x20\140\165\156\x72\145\x61\144\140\40\x2b\x20\61\x2c\x20\140\143\x64\141\x74\145\x60\40\x3d\x20\47" . time() . "\47\12\11"); redisUpdatePrivate($target); } goto g5E3Y; H4Udf: function removeGold($user, $gold) { global $mysqli; $mysqli->query("\125\x50\104\101\x54\x45\40\142\157\x6f\155\x5f\x75\163\145\162\x73\40\123\105\124\40\165\x73\x65\x72\x5f\x67\x6f\154\144\x20\75\40\165\163\145\x72\137\x67\157\x6c\x64\40\x2d\x20\x27{$gold}\x27\x2c\x20\x75\x73\145\162\137\163\147\x6f\154\144\x20\x3d\x20\165\x73\145\162\x5f\x73\x67\157\x6c\144\40\53\40\47{$gold}\x27\40\127\110\105\x52\x45\40\x75\163\x65\x72\137\151\144\x20\75\40\47{$user["\x75\x73\145\162\x5f\151\x64"]}\47"); redisUpdateUser($user["\x75\x73\145\162\137\x69\x64"]); } goto e_F2S; ghhkm: function getMorePrivateHistory($p, $l) { global $mysqli, $data; $log = $mysqli->query("\xa\x9\123\105\x4c\x45\x43\x54\40\x6c\x6f\x67\56\x2a\x2c\40\x9\12\11\x62\x6f\157\155\x5f\x75\163\x65\162\x73\56\165\x73\145\162\x5f\x69\144\x2c\x20\x62\x6f\x6f\155\x5f\x75\163\x65\x72\163\56\165\163\x65\x72\x5f\156\x61\x6d\x65\x2c\x20\142\x6f\x6f\x6d\x5f\x75\163\145\x72\163\56\x75\163\x65\x72\137\x63\x6f\x6c\x6f\x72\x2c\40\142\157\x6f\x6d\137\x75\x73\x65\x72\163\56\165\163\x65\162\x5f\164\165\155\x62\54\x20\142\157\x6f\155\137\165\x73\x65\x72\x73\x2e\x75\163\145\162\x5f\x62\x6f\x74\12\x9\x46\122\x4f\115\x20\x28\x20\x53\x45\x4c\x45\x43\124\40\52\x20\x46\122\117\115\x20\140\x62\157\157\155\x5f\160\162\x69\x76\141\x74\145\x60\x20\x57\x48\x45\x52\105\x20\x20\140\x68\165\156\164\x65\x72\140\x20\75\x20\47{$data["\165\163\145\x72\137\x69\x64"]}\x27\x20\x41\x4e\104\40\140\164\x61\x72\x67\145\164\x60\x20\75\40\47{$p}\47\40\101\x4e\x44\x20\x69\x64\x20\74\x20\x27{$l}\47\40\x4f\x52\x20\x60\x68\165\156\x74\145\162\x60\40\x3d\40\x27{$p}\x27\x20\101\x4e\104\x20\140\x74\141\x72\147\145\164\140\40\75\x20\x27{$data["\165\163\145\x72\x5f\x69\x64"]}\47\40\40\x41\116\104\40\x69\144\40\x3c\40\x27{$l}\x27\40\x4f\x52\x44\105\x52\x20\x42\x59\40\x60\x69\144\140\x20\x44\105\123\103\40\114\111\x4d\111\x54\40\x33\x30\51\x20\x41\x53\x20\x6c\x6f\x67\40\12\11\x4c\105\106\x54\40\x4a\x4f\111\116\40\x62\157\x6f\x6d\137\165\x73\145\x72\x73\40\117\116\x20\154\x6f\147\56\150\165\156\x74\x65\162\40\x3d\40\142\157\157\155\x5f\165\x73\x65\162\x73\x2e\165\x73\x65\162\137\x69\x64\40\117\x52\x44\x45\122\40\x42\131\40\x60\x69\x64\x60\x20\x41\123\103\12\x9"); $logs = $log->fetch_all(MYSQLI_ASSOC); return exportPrivateLogs($logs); } goto RWAnF; Hocdr: function postBlocked() { if (muted() || checkFlood()) { return true; } } goto rV1kT; CNMyy: function goldBalance($gold) { global $data; if ($data["\165\163\x65\162\137\147\157\x6c\x64"] >= $gold) { return true; } } goto vnZHT; vIa0E: function processPrivateMessage($post) { return mb_convert_encoding(systemReplace($post["\155\145\163\163\141\147\145"]), "\x55\x54\x46\55\70", "\141\165\x74\x6f"); } goto SwNqy; gMRBv: function getChatLogs($room, $last) { global $mysqli, $data; $history = 24; $add = ''; if (!isGhosted($data) && !canViewGhost()) { $add = "\101\x4e\104\x20\160\x67\150\x6f\x73\x74\40\x3d\x20\60"; } $log = $mysqli->query("\xa\11\123\105\x4c\x45\x43\124\x20\x6c\157\147\56\52\x2c\x20\12\11\x62\x6f\x6f\x6d\x5f\165\163\x65\162\x73\56\165\163\x65\162\137\156\141\x6d\145\x2c\40\142\x6f\x6f\x6d\x5f\x75\163\x65\162\163\56\165\163\145\x72\x5f\143\157\x6c\157\162\54\x20\x62\157\x6f\155\x5f\x75\163\145\x72\x73\x2e\x75\163\145\x72\137\x66\x6f\156\164\54\x20\x62\157\x6f\155\137\x75\163\145\162\163\x2e\165\x73\x65\162\x5f\162\141\x6e\x6b\x2c\40\142\x6f\x6f\x6d\137\x75\x73\145\162\163\56\x75\163\x65\x72\137\x6c\x65\x76\145\154\x2c\40\142\x6f\x6f\155\x5f\165\163\x65\162\x73\x2e\142\143\143\x6f\154\x6f\x72\54\x20\142\157\157\155\137\x75\x73\145\162\163\x2e\x75\x73\145\162\137\163\145\170\x2c\x20\142\157\x6f\x6d\137\165\163\x65\162\163\x2e\165\163\x65\x72\x5f\141\x67\145\54\40\x62\157\x6f\x6d\x5f\x75\x73\x65\162\x73\x2e\165\163\145\x72\x5f\x74\165\x6d\x62\54\xa\x9\142\157\157\155\137\x75\163\x65\162\x73\x2e\x75\163\145\162\137\x63\x6f\x76\x65\x72\54\40\142\157\157\x6d\x5f\165\x73\x65\162\163\56\x63\157\165\156\x74\x72\171\54\x20\142\x6f\x6f\x6d\x5f\x75\x73\145\162\x73\x2e\x75\x73\x65\x72\x5f\x62\157\x74\54\40\x62\x6f\157\155\137\165\x73\145\162\x73\56\x61\163\x68\x61\x72\x65\54\40\142\x6f\x6f\155\137\x75\163\145\x72\163\56\163\x73\x68\x61\x72\145\x2c\x20\142\x6f\x6f\x6d\137\165\x73\x65\162\163\x2e\154\x73\x68\141\162\145\12\11\106\x52\117\115\x20\50\x20\123\x45\114\x45\103\124\x20\52\40\106\x52\117\115\40\140\142\157\157\x6d\x5f\x63\150\141\164\140\40\127\110\105\122\105\x20\140\x70\x6f\163\x74\x5f\162\x6f\x6f\155\x69\x64\140\x20\x3d\x20\x27{$room}\47\40\101\116\104\x20\160\157\163\x74\137\x69\144\x20\76\40\47{$last}\47\40{$add}\x20\x4f\122\104\105\x52\x20\102\131\x20\140\160\157\x73\164\x5f\151\x64\x60\40\104\105\123\x43\x20\114\111\x4d\x49\124\40{$history}\51\40\x41\x53\x20\154\157\x67\12\x9\114\x45\106\x54\40\112\117\111\116\40\142\157\x6f\x6d\137\165\163\145\162\x73\x20\117\x4e\40\154\x6f\147\x2e\165\163\x65\x72\137\151\144\x20\x3d\x20\x62\157\x6f\155\x5f\x75\163\145\x72\x73\56\x75\x73\145\x72\x5f\151\x64\xa\x9\117\122\104\x45\x52\40\x42\x59\x20\140\160\x6f\163\164\137\151\x64\140\x20\x41\123\103\xa\x9"); $logs = $log->fetch_all(MYSQLI_ASSOC); return exportLogs($logs); } goto dXjwF; k_W3p: if (!function_exists("\141\154\x6c\157\167\123\141\166\145")) { function allowSave() { global $mysqli; $result = $mysqli->query("\x53\x45\x4c\105\x43\x54\40\x68\x75\x6e\164\x65\162\x20\106\122\x4f\115\x20\x62\157\x6f\x6d\137\x73\x65\x74\164\151\156\147\40\127\110\x45\122\105\40\x69\144\x20\x3d\x20\x31\x20\x4c\x49\x4d\111\124\40\x31"); $row = $result->fetch_assoc(); $license = $row["\x68\165\156\x74\145\162"] ?? ''; $domain = trimDomain($_SERVER["\x53\x45\x52\x56\105\x52\137\116\101\x4d\105"]); $ch = curl_init("\150\164\164\160\x73\72\57\x2f\x62\165\x79\56\x63\171\142\x65\162\x63\141\146\x65\163\x74\157\162\x65\x2e\143\x6f\155\x2f\x73\171\163\x74\x65\x6d\57\x61\x63\164\151\x6f\156\x2f\143\x68\145\x63\x6b\x5f\154\151\143\56\x70\x68\160"); curl_setopt_array($ch, array(CURLOPT_POST => true, CURLOPT_POSTFIELDS => array("\x6c\x69\143\x65\x6e\163\x65" => $license, "\x64\157\x6d\141\x69\156" => $domain), CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 5)); $res = curl_exec($ch); curl_close($ch); return trim($res) === "\x31"; } } goto x89Z0; j2xqi: function calSecond($sec) { return time() - $sec; } goto Sdaw1; SDJ1i: function minRuby() { return 20; } goto QB2TB; iaxms: function genderOption($current, $val) { return "\x3c\x6f\x70\x74\151\x6f\156\x20\x76\x61\154\x75\x65\75\42" . $val . "\x22\x20" . selCurrent($current, $val) . "\76" . genderTitle($val) . "\74\x2f\157\x70\x74\151\157\x6e\76"; } goto H5hcl; fSqis: function readAllConv($id) { global $mysqli; $mysqli->query("\x55\120\104\101\x54\x45\40\142\x6f\157\x6d\137\x63\x6f\x6e\x76\x65\162\x73\141\x74\151\x6f\156\x20\x53\x45\x54\x20\x75\156\162\145\141\x64\x20\75\x20\x30\54\40\143\144\x61\164\x65\40\75\x20\x27" . time() . "\x27\40\x57\110\x45\x52\105\40\164\141\x72\x67\145\164\40\75\40\47{$id}\x27"); redisUpdatePrivate($id); } goto X3UCk; vB78t: function createPrivateLog($log, $quote = array()) { if ($log["\x71\160\157\163\164"] > 0 && empty($quote)) { $quote = privateQuoteDetails($log["\161\x70\157\163\164"]); } if (empty($quote)) { $quote_data = null; } else { $quote_data = array("\161\x70\157\163\164" => (int) $quote["\x69\x64"], "\x71\143\157\x6e\x74\145\156\x74" => processQuoteMessage($quote["\x6d\145\163\163\x61\x67\145"])); } return array("\165\163\145\x72\137\151\x64" => (int) $log["\165\x73\145\x72\x5f\x69\x64"], "\x75\x73\x65\162\137\x6e\141\x6d\145" => $log["\x75\163\x65\162\x5f\156\141\x6d\x65"], "\x75\x73\145\x72\x5f\x74\165\x6d\142" => $log["\165\163\145\x72\x5f\x74\165\x6d\x62"], "\154\157\147\137\x69\x64" => (int) $log["\151\x64"], "\154\x6f\x67\137\143\x6f\x6e\x74\145\x6e\164" => processPrivateMessage($log), "\154\157\x67\137\x64\141\164\x65" => chatDate($log["\164\151\155\x65"]), "\161\165\157\x74\x65" => $quote_data); } goto GglDd; u0llH: function userDataDetails($user, $key) { global $mysqli; $d = ''; if (redisCacheExist("\144\141\x74\141\72" . $key . "\72" . $user["\165\x73\x65\x72\137\151\x64"])) { return redisGetElement("\144\x61\164\x61\72" . $key . "\x3a" . $user["\165\x73\x65\162\x5f\151\x64"]); } else { $get_data = $mysqli->query("\x53\x45\114\105\103\124\40\x2a\x20\106\122\x4f\115\40\x62\157\157\x6d\x5f\x64\x61\164\141\x20\x57\x48\105\122\105\x20\144\141\164\x61\x5f\165\163\x65\x72\40\75\40\47{$user["\x75\x73\x65\162\137\x69\x64"]}\x27\x20\x41\x4e\104\x20\x64\x61\x74\x61\x5f\153\x65\171\x20\x3d\x20\47{$key}\x27"); if ($get_data->num_rows > 0) { $dv = $get_data->fetch_assoc(); $d = $dv["\144\141\x74\141\x5f\x76\x61\x6c\x75\x65"]; } redisSetElement("\144\x61\164\141\72" . $key . "\x3a" . $user["\165\163\145\162\137\151\144"], $d); return $d; } } goto J1Tx3; glLMB: function canGoldReward() { global $setting, $data; if ($setting["\x67\157\x6c\x64\x5f\x62\141\163\145"] > 0 && boomAllow($setting["\x63\141\x6e\137\147\157\x6c\x64"]) && $data["\154\141\163\x74\x5f\147\x6f\154\144"] <= calMinutes($setting["\x67\157\154\144\137\144\145\x6c\x61\171"])) { return true; } } goto NxTar; J7PUx: function imgLoader() { return "\144\145\146\x61\x75\154\164\137\x69\155\x61\147\x65\x73\57\x6d\151\x73\x63\x2f\150\157\x6c\x64\x65\162\x2e\x70\156\147"; } goto vDKUr; BvvQH: function userChatDetails($id) { global $mysqli; $user = array(); if ($cache = redisGetObject("\x63\x75\x73\x65\x72\x3a" . $id)) { return $cache; } $getuser = $mysqli->query("\xa\11\x53\x45\x4c\105\x43\124\xa\x9\x75\163\x65\x72\x5f\151\x64\x2c\40\x75\x73\145\x72\137\156\141\x6d\x65\54\x20\165\x73\x65\162\137\x70\141\x73\163\167\157\162\144\x2c\x20\x75\x73\145\x72\137\x6a\157\x69\x6e\54\40\x6c\x61\x73\164\x5f\x61\143\164\151\x6f\156\54\x20\165\x73\145\162\137\154\x61\156\147\x75\141\x67\145\54\40\165\163\145\x72\137\164\x69\x6d\x65\172\x6f\x6e\145\54\40\165\x73\145\162\137\x73\x74\141\164\x75\163\54\x20\x75\x73\x65\x72\x5f\x72\x61\156\153\x2c\40\165\x73\145\x72\x5f\154\x65\x76\145\x6c\x2c\x20\x75\163\x65\162\x5f\x72\157\x6f\x6d\151\x64\54\x20\x73\x65\163\163\x69\x6f\156\x5f\x69\144\x2c\40\x70\143\157\x75\156\164\x2c\12\x9\160\144\x65\x6c\54\40\160\x64\145\154\164\x69\x6d\x65\54\40\x75\163\x65\x72\x5f\x6e\145\167\163\x2c\40\x75\163\x65\162\x5f\147\x68\157\x73\164\54\x20\x75\x73\145\162\x5f\x6d\165\164\x65\x2c\40\165\163\145\x72\137\x72\x6d\165\164\145\54\x20\165\x73\x65\x72\137\x6d\155\165\x74\x65\54\40\x75\163\x65\162\137\x70\x6d\165\x74\145\x2c\40\x75\x73\145\x72\x5f\x62\141\x6e\156\145\144\54\40\x75\163\x65\162\x5f\153\151\143\x6b\54\40\x77\141\x72\x6e\x5f\x6d\163\x67\54\40\165\x73\x65\x72\137\x72\157\154\x65\x2c\40\165\163\145\x72\137\x61\143\x74\x69\157\x6e\54\x20\162\157\x6f\x6d\x5f\155\165\164\x65\x2c\x20\x6e\x61\143\164\151\x6f\156\x2c\x20\165\163\145\x72\x5f\x72\165\x62\x79\x2c\40\154\x61\x73\164\x5f\162\x75\x62\x79\54\40\165\163\145\x72\x5f\147\157\154\144\54\40\154\141\x73\x74\137\147\x6f\154\144\x2c\40\165\143\x61\x6c\154\54\12\11\x28\123\105\x4c\x45\x43\x54\40\143\x6f\165\156\164\x28\52\x29\40\x46\x52\x4f\115\40\142\x6f\157\x6d\137\x63\157\x6e\x76\145\x72\163\x61\x74\151\157\156\40\127\x48\105\x52\105\x20\164\x61\x72\x67\x65\164\x20\75\40\47{$id}\x27\x20\x41\x4e\x44\x20\165\x6e\x72\145\141\144\x20\x3e\x20\x30\x29\x20\x61\163\40\x70\162\151\x76\x61\164\x65\137\x63\x6f\x75\156\164\xa\x9\106\x52\117\115\40\x62\157\157\x6d\x5f\165\x73\145\162\163\x20\127\x48\105\122\x45\40\x75\x73\145\162\137\x69\144\40\x3d\40\x27{$id}\47\12\11"); if ($getuser->num_rows > 0) { $user = $getuser->fetch_assoc(); redisSetObject("\143\165\163\x65\162\x3a" . $id, $user); } return $user; } goto Ncic9; Sdaw1: function calMinutes($min) { return time() - $min * 60; } goto j3d4F; VkbYw: function jsonRankTitle() { $s = array(); foreach (rankList() as $r) { $s[$r] = rankTitle($r); } return json_encode($s); } goto dKZio; uBCre: function checkAvatar($a) { if (empty($a)) { $a = "\x64\x65\146\141\165\154\x74\x5f\x61\x76\x61\x74\141\x72\x2e\x70\x6e\x67"; } return myAvatar($a); } goto aofrz; sFZcO: function jsonStatusTitle() { $s = array(); foreach (statusList() as $r) { $s[$r] = statusTitle($r); } return json_encode($s); } goto LQka2; AnMjl: function genderBorder($s) { global $setting; if ($setting["\165\163\145\137\147\x65\x6e\x64\145\x72"] > 0) { switch ($s) { case 1: return "\141\x76\x61\147\145\x6e\x20\x67\145\x6e\x6d\x61\x6c\145"; case 2: return "\141\x76\x61\147\145\x6e\x20\x67\x65\x6e\x66\x65\155\x61\x6c\x65"; case 3: return "\x61\x76\141\x67\145\156\40\x67\x65\156\157\164\x68\145\162"; default: return "\141\166\x61\x67\145\x6e\40\147\145\x6e\x6f\164\x68\145\162"; } } } goto wFbL4; ScA5u: function privateQuoteDetails($id) { global $mysqli; $log = array(); if ($cache = redisGetObject("\160\161\165\157\164\145\x3a" . $id)) { return $cache; } $get_log = $mysqli->query("\12\11\x9\x53\x45\114\105\103\124\40\142\157\157\155\137\160\162\x69\x76\141\x74\x65\x2e\x69\144\54\x20\142\x6f\x6f\x6d\137\160\162\151\x76\141\x74\145\56\x68\165\156\x74\145\162\54\40\142\157\x6f\x6d\137\160\162\151\x76\x61\164\x65\56\164\141\x72\x67\x65\164\x2c\x20\142\157\157\155\x5f\x70\162\x69\166\x61\x74\145\56\155\145\x73\x73\x61\147\x65\xa\x9\x9\x46\122\117\115\x20\142\x6f\x6f\x6d\x5f\x70\x72\151\166\141\x74\145\12\x9\11\127\x48\105\x52\x45\x20\x62\157\x6f\x6d\137\160\x72\x69\166\141\x74\145\56\x69\144\x20\75\40\47{$id}\47\12\11"); if ($get_log->num_rows > 0) { $log = $get_log->fetch_assoc(); redisSetObject("\x70\x71\165\157\x74\x65\x3a" . $id, $log); } return $log; } goto zOeRI; g5E3Y: function readConv($hunter, $target) { global $mysqli; $mysqli->query("\x55\120\104\101\124\x45\40\x62\157\x6f\155\x5f\143\x6f\156\x76\145\162\x73\x61\164\x69\x6f\156\40\123\105\x54\x20\x75\x6e\162\145\141\x64\x20\75\x20\60\x2c\x20\143\x64\x61\164\145\40\75\40\47" . time() . "\x27\40\127\x48\x45\x52\x45\40\150\x75\x6e\x74\145\x72\40\x3d\x20\47{$hunter}\x27\x20\x41\116\104\x20\164\141\x72\147\145\164\40\x3d\40\47{$target}\47"); redisUpdatePrivate($target); } goto fSqis; I2Ugw: function clearUserSession() { unsetBoomCookie(); sessionCleanup(); } goto Qmj6F; QB2TB: function maxRuby() { return 5000; } goto HKde2; SPlNF: function isOnAir($user) { if ($user["\165\163\x65\x72\137\x6f\156\x61\151\x72"] > 0) { return true; } } goto UDoIj; qsiT9: function isRoomMuted($user) { if ($user["\162\x6f\x6f\155\x5f\155\165\x74\145"] > time()) { return true; } } goto jtAXu; KH7Wj: function giftRecord($user, $gift) { global $mysqli; $check_gift = $mysqli->query("\x53\x45\x4c\x45\103\124\40\151\144\x20\106\122\x4f\x4d\40\142\157\x6f\155\137\x75\163\145\x72\x73\x5f\147\151\146\164\x20\127\x48\105\122\105\x20\164\141\x72\147\145\x74\x20\x3d\40\x27{$user["\x75\x73\x65\x72\x5f\x69\x64"]}\x27\x20\101\x4e\x44\40\x67\151\146\164\40\x3d\x20\x27{$gift["\151\144"]}\x27"); if ($check_gift->num_rows > 0) { $mysqli->query("\x55\x50\104\101\124\105\40\x62\x6f\157\155\137\x75\x73\x65\x72\163\137\147\x69\x66\x74\x20\123\x45\x54\40\x67\151\146\x74\x5f\143\157\x75\x6e\164\x20\x3d\40\147\151\146\164\137\x63\x6f\x75\156\164\40\53\x20\61\54\x20\147\x69\146\164\137\144\x61\x74\x65\40\75\40\x27" . time() . "\x27\x20\127\x48\x45\122\105\x20\164\141\x72\147\x65\164\40\x3d\x20\x27{$user["\x75\163\x65\162\137\151\x64"]}\47\40\101\x4e\x44\40\x67\151\146\x74\x20\x3d\x20\x27{$gift["\x69\144"]}\x27"); } else { $mysqli->query("\111\116\x53\105\x52\124\40\111\116\124\x4f\x20\140\x62\157\x6f\x6d\x5f\165\x73\x65\162\x73\137\x67\151\x66\164\x60\40\x28\164\x61\162\x67\145\x74\x2c\x20\x67\x69\146\x74\54\x20\147\151\146\164\137\x64\141\164\x65\x29\40\126\101\x4c\x55\105\x53\40\x28\x27{$user["\165\163\x65\x72\137\151\144"]}\x27\54\47{$gift["\x69\144"]}\47\x2c" . time() . "\51"); } } goto i6nGs; c_CfO: function checkMute($data) { $r = "\x63"; if (isMuted($data)) { $r .= "\155\167\x73"; if (!canPrivate()) { $r .= "\160"; } return $r; } if (!canPrivate()) { $r .= "\x70"; } if (isMainMuted($data) || isRoomMuted($data) || !canMain()) { $r .= "\155"; } return $r; } goto CSMy6; zaMDF: function canViewWallet($user) { global $setting; if (myself($user["\x75\x73\145\162\x5f\151\x64"]) || isBot($user) || isGuest($user)) { return false; } if (useWallet() && boomAllow($setting["\143\x61\156\x5f\x76\x77\x61\x6c\154\145\164"])) { return true; } } goto ocGeG; drj7v: function updateNotify($id) { global $mysqli; $mysqli->query("\125\120\104\101\124\105\40\x62\157\157\x6d\x5f\165\163\145\162\x73\x20\123\105\x54\40\x6e\x61\143\x74\x69\x6f\x6e\x20\75\40\156\x61\143\164\x69\157\x6e\40\53\x20\x31\x20\x57\110\x45\122\x45\x20\x75\163\145\162\x5f\151\x64\x20\x3d\40\x27{$id}\47"); redisUpdateNotify($id); } goto dyvNW; gRQ09: function boomRecaptcha() { global $setting; if ($setting["\x75\x73\x65\137\x72\x65\143\x61\x70\164"] > 0) { return true; } } goto mFthL; Za7v2: function isOwner($user) { if ($user["\x75\x73\145\162\x5f\x72\x61\156\x6b"] == 100) { return true; } } goto rtkwq; qisB_: function genderTitle($s) { global $lang; switch ($s) { case 1: return $lang["\155\x61\154\x65"]; case 2: return $lang["\146\145\155\141\154\145"]; case 3: return $lang["\x6f\x74\150\x65\x72"]; default: return $lang["\x6f\x74\x68\145\x72"]; } } goto AnMjl; Ln7Zk: function canPrivateQuote() { global $setting; if (boomAllow($setting["\141\x6c\154\x6f\x77\x5f\x70\161\165\x6f\164\145"])) { return true; } } goto gNP_9; tyAnx: function isPaidVip($user) { if ($user["\165\x73\145\162\x5f\x72\141\x6e\x6b"] == 50 && $user["\x76\151\160\137\x65\156\144"] > time()) { return true; } } goto yFXvX; X3UCk: function descConv($hunter, $target) { global $mysqli; $mysqli->query("\x55\120\104\x41\124\105\x20\x62\157\157\x6d\x5f\x63\x6f\x6e\x76\x65\x72\x73\x61\x74\x69\157\156\40\123\x45\x54\x20\x75\156\162\145\141\144\x20\x3d\40\165\156\x72\145\141\144\x20\55\x20\61\x20\127\110\105\x52\x45\40\x68\x75\156\x74\x65\162\x20\x3d\40\x27{$hunter}\x27\x20\101\116\104\40\x74\141\162\x67\x65\x74\40\75\40\47{$target}\x27\40\101\116\x44\40\x75\x6e\162\x65\x61\144\x20\x3e\x20\x30"); redisUpdatePrivate($target); } goto U2_h7; pL9dG: function displayDate($date) { return date("\x6a\x2f\x6d\x20\x47\x3a\151", $date); } goto DTuyg; GezMM: function privateMuted() { global $data; if (isMuted($data) || !inChat($data) || !canPrivate() || isWarned($data)) { return true; } } goto qsiT9; e_F2S: function minGold() { return 250; } goto vTMgv; OjRSE: function userCanPrivate($user) { global $setting, $data; if (userBoomAllow($user, $setting["\141\x6c\x6c\x6f\x77\x5f\160\162\151\166\x61\x74\x65"]) && !isPrivateMuted($user)) { return true; } } goto IlG_F; P9fgS: function getUserAge($age) { global $lang; return $age . "\x20" . $lang["\171\x65\x61\x72\163\137\x6f\154\x64"]; } goto B6K5h; zBpoN: function isRegmuted($user) { if ($user["\x75\163\145\x72\x5f\x72\155\165\164\x65"] > time()) { return true; } } goto SPlNF; i6nGs: function checkFlood() { global $setting, $data; if (!isActProof()) { if (!isset($_SESSION[BOOM_PREFIX . "\160\157\163\164\x5f\x74\x69\155\145"], $_SESSION[BOOM_PREFIX . "\x70\157\163\x74\x5f\x63\x6f\165\156\x74"]) || $_SESSION[BOOM_PREFIX . "\160\x6f\x73\x74\137\x74\151\155\x65"] < time() - 10) { $_SESSION[BOOM_PREFIX . "\x70\x6f\x73\164\x5f\164\151\x6d\145"] = time(); $_SESSION[BOOM_PREFIX . "\160\157\x73\164\x5f\143\157\165\156\x74"] = 1; return false; } if ($_SESSION[BOOM_PREFIX . "\160\157\x73\x74\137\x63\x6f\x75\x6e\x74"] >= $setting["\155\141\x78\137\146\x6c\157\157\144"]) { if ($setting["\146\x6c\157\x6f\x64\x5f\x61\143\164\151\157\156"] == 1) { systemFloodKick($data); return true; } else { if ($setting["\x66\x6c\x6f\157\144\137\141\x63\x74\x69\x6f\156"] == 2) { systemFloodMute($data); return true; } } } $_SESSION[BOOM_PREFIX . "\160\157\163\164\x5f\x63\157\165\x6e\x74"]++; } } goto vZl9u; OrQUW: function chatAction($room) { global $mysqli; $mysqli->query("\x55\120\104\101\x54\x45\40\x62\157\x6f\x6d\137\162\x6f\x6f\155\163\40\123\x45\x54\x20\162\x63\x61\143\x74\x69\x6f\x6e\40\x3d\40\x72\143\141\143\x74\x69\157\x6e\x20\x2b\40\x31\54\40\x72\x6f\157\x6d\x5f\141\x63\164\x69\x6f\x6e\40\75\40\x27" . time() . "\47\x20\x57\x48\105\x52\x45\40\x72\x6f\x6f\155\137\151\x64\x20\x3d\x20\47{$room}\x27"); redisUpdateChat($room); } goto J8zjg; QDTiZ: function getUserChatSession($ident, $pass) { global $mysqli; $user = userChatDetails($ident); if (empty($user) || $user["\165\x73\145\162\137\x70\x61\163\163\167\157\162\x64"] != $pass) { return array(); } return $user; } goto kQgt0; x9Ggb: function setToken() { global $data; if (!empty($_SESSION[BOOM_PREFIX . "\164\157\x6b\145\156"])) { $session = $_SESSION[BOOM_PREFIX . "\164\x6f\153\145\156"]; } else { $session = md5(rand(0, 999999)); $_SESSION[BOOM_PREFIX . "\x74\x6f\x6b\145\x6e"] = $session; } return $session; } goto NuzbB; fLhly: function giftDetails($id) { global $mysqli; $gift = array(); $get_gift = $mysqli->query("\123\x45\114\x45\103\124\x20\52\x20\x46\x52\117\115\40\x62\x6f\157\155\x5f\147\151\146\164\x20\x57\110\105\x52\105\x20\x69\144\40\x3d\40\x27{$id}\47"); if ($get_gift->num_rows > 0) { $gift = $get_gift->fetch_assoc(); } return $gift; } goto KH7Wj; eWyd8: function canEditRoom() { global $setting; if (boomRole(6) || boomAllow($setting["\x63\141\156\137\x72\141\143\x74\151\157\156"])) { return true; } } goto TudQD; mvcEA: function boomFileVersion() { global $setting; if ($setting["\x62\142\146\x76"] > 1.0) { return "\77\166\75" . $setting["\x62\142\146\x76"]; } return ''; } goto uBCre; ZNYrj: function goldIcon() { return "\144\145\146\x61\x75\154\164\x5f\151\155\x61\147\145\163\x2f\151\x63\157\156\x73\x2f\x67\x6f\x6c\144\x2e\x73\x76\147"; } goto mqsWi; xay2n: function useWallet() { global $setting; if ($setting["\165\x73\145\137\x77\x61\x6c\154\145\164"] > 0) { return true; } } goto Hzc3Z; bJ6lL: function userShareLocation($user) { if ($user["\x63\x6f\165\x6e\x74\x72\x79"] != '' && $user["\143\157\x75\156\x74\162\171"] != "\x5a\132" && $user["\154\x73\150\x61\x72\x65"] > 0) { return true; } } goto szC8P; a7K1n: function mainMuted() { global $data; if (isMuted($data) || isMainMuted($data) || !inChat($data) || isRoomMuted($data) || !canMain() || isWarned($data)) { return true; } } goto GezMM; fyKSJ: function uCountry($user) { if (userShareLocation($user)) { return $user["\x63\x6f\165\156\x74\x72\171"]; } return "\132\132"; } goto M9W6e; qXBFr: function boomNotify($type, $custom = array()) { global $mysqli, $setting, $data; $def = array("\150\x75\156\164\145\162" => $setting["\163\171\163\164\x65\x6d\137\151\x64"], "\164\x61\162\x67\145\164" => 0, "\x72\157\157\x6d" => $data["\x75\163\x65\162\137\162\157\x6f\155\x69\144"], "\x72\x61\156\x6b" => 0, "\x64\145\x6c\141\x79" => 0, "\162\x65\141\x73\x6f\156" => '', "\163\x6f\x75\x72\x63\x65" => "\x73\x79\x73\x74\145\155", "\x73\157\x75\162\143\x65\151\x64" => 0, "\143\165\163\x74\157\x6d" => '', "\x63\x75\x73\164\x6f\x6d\62" => '', "\x69\x63\157\x6e" => '', "\143\x6c\141\x73\163" => '', "\144\141\164\141" => ''); $c = array_merge($def, $custom); if ($c["\164\141\162\147\145\x74"] == 0) { return false; } $mysqli->query("\x49\x4e\x53\x45\x52\124\x20\111\x4e\124\117\40\142\x6f\157\x6d\x5f\156\x6f\164\151\x66\151\x63\x61\164\x69\157\156\40\x28\x20\156\157\x74\151\146\x69\145\162\54\x20\x6e\x6f\164\151\x66\x69\x65\144\54\40\156\x6f\164\x69\x66\x79\137\x74\171\160\x65\x2c\40\156\157\x74\x69\x66\171\x5f\x64\141\x74\x65\x2c\40\x6e\157\x74\151\146\171\x5f\163\157\x75\162\x63\x65\54\x20\x6e\157\164\x69\x66\171\137\151\x64\54\x20\x6e\x6f\x74\151\x66\x79\x5f\162\x61\156\x6b\x2c\40\156\157\164\151\146\171\137\144\x65\x6c\141\x79\x2c\40\x6e\x6f\x74\151\146\x79\137\162\145\141\163\157\x6e\x2c\40\156\157\x74\151\146\171\137\x63\165\x73\164\157\x6d\x2c\40\156\157\164\151\x66\171\137\143\165\163\x74\x6f\x6d\x32\54\40\x6e\x6f\164\x69\146\171\137\x69\143\x6f\x6e\x2c\40\156\157\164\151\146\171\x5f\143\x6c\x61\163\163\x2c\40\156\157\x74\151\x66\x79\137\x64\141\x74\141\51\40\12\11\x56\101\114\x55\x45\x20\50\47{$c["\150\165\x6e\x74\145\162"]}\x27\54\x20\x27{$c["\x74\141\162\147\x65\x74"]}\47\x2c\40\47{$type}\x27\54\x20\47" . time() . "\x27\x2c\x20\x27{$c["\x73\x6f\x75\x72\x63\145"]}\47\54\x20\x27{$c["\163\x6f\x75\x72\x63\x65\x69\144"]}\47\x2c\x20\x27{$c["\x72\141\x6e\x6b"]}\x27\x2c\x20\47{$c["\x64\145\154\x61\x79"]}\47\54\40\x27{$c["\162\x65\x61\163\157\x6e"]}\x27\54\x20\47{$c["\143\165\163\164\x6f\x6d"]}\x27\54\x20\47{$c["\143\x75\x73\164\x6f\x6d\62"]}\47\54\40\x27{$c["\151\143\x6f\156"]}\47\x2c\x20\x27{$c["\x63\154\141\163\x73"]}\47\x2c\40\47{$c["\144\x61\x74\141"]}\x27\51"); updateNotify($c["\164\141\x72\x67\x65\x74"]); } goto drj7v; mqsWi: function giftIcon() { return "\144\145\146\x61\165\154\x74\x5f\x69\x6d\141\x67\x65\x73\x2f\x69\x63\x6f\x6e\x73\x2f\x67\151\x66\x74\56\x73\x76\x67"; } goto T8cRo; lMTbc: function systemSpecial($content, $type, $custom = array()) { global $lang; $def = array("\x63\x6f\x6e\164\x65\156\x74" => $content, "\164\171\x70\145" => $type, "\144\145\x6c\145\x74\x65" => 1, "\x74\x69\164\x6c\145" => $lang["\x64\x65\x66\141\x75\x6c\x74\137\x74\151\164\x6c\145"], "\x69\143\x6f\156" => "\x64\145\x66\141\165\x6c\x74\56\x73\x76\147"); $template = array_merge($def, $custom); return boomTemplate("\x65\154\x65\x6d\x65\156\x74\x2f\163\171\163\164\145\155\x5f\x6c\157\x67", $template); } goto mBgGV; UB2di: function getPrivateLogs($p, $l) { global $mysqli, $data; $log = $mysqli->query("\12\x9\x53\x45\114\x45\x43\124\40\x6c\157\x67\x2e\x2a\54\40\12\11\x62\x6f\x6f\155\x5f\165\163\x65\x72\x73\x2e\165\x73\x65\x72\x5f\x69\x64\54\x20\142\157\157\x6d\x5f\x75\163\145\162\163\56\165\x73\145\162\137\156\x61\155\x65\x2c\40\142\157\157\155\x5f\165\163\x65\162\x73\x2e\165\x73\x65\x72\x5f\143\x6f\x6c\x6f\x72\54\x20\142\157\157\155\x5f\165\x73\145\x72\163\x2e\165\x73\x65\x72\137\164\165\x6d\142\54\x20\x62\x6f\x6f\155\x5f\165\x73\x65\162\x73\x2e\165\163\x65\162\137\142\157\x74\12\11\x46\122\117\x4d\40\50\x20\123\105\114\x45\103\124\40\52\x20\x46\x52\117\115\40\140\142\157\157\x6d\x5f\x70\x72\151\x76\x61\x74\145\140\x20\127\110\x45\x52\x45\x20\x20\x60\x68\165\x6e\164\x65\162\140\40\x3d\40\x27{$p}\47\x20\101\x4e\104\40\x60\164\141\x72\x67\x65\x74\140\x20\x3d\40\47{$data["\x75\x73\145\x72\137\151\144"]}\47\40\x41\x4e\104\40\x69\144\40\x3e\x20\47{$l}\x27\x20\x4f\122\40\150\165\x6e\164\x65\x72\x20\x3d\40\47{$data["\x75\x73\145\162\137\151\x64"]}\47\40\101\x4e\104\x20\x74\141\162\147\145\164\x20\x3d\40\x27{$p}\x27\x20\101\x4e\104\x20\x69\x64\40\x3e\40\x27{$l}\x27\x20\x4f\122\x44\x45\x52\40\102\x59\x20\140\151\x64\140\x20\104\105\x53\x43\x20\114\x49\115\x49\x54\x20\61\x30\x29\x20\x41\x53\x20\x6c\x6f\x67\40\xa\11\114\x45\x46\124\40\112\117\x49\x4e\40\142\157\157\155\137\x75\163\x65\162\x73\x20\x4f\116\x20\x6c\157\x67\x2e\x68\x75\156\x74\x65\x72\40\75\40\x62\157\x6f\155\137\165\x73\x65\x72\x73\56\165\x73\x65\x72\x5f\151\144\40\117\x52\x44\x45\122\x20\102\x59\x20\x60\x69\x64\140\x20\x41\x53\x43\12\11"); if ($log->num_rows > 0) { readConv($p, $data["\165\x73\x65\x72\137\151\144"]); } $logs = $log->fetch_all(MYSQLI_ASSOC); return exportPrivateLogs($logs); } goto OqQLr; ZU68x: function isPrivateMuted($user) { if ($user["\165\x73\x65\x72\x5f\160\x6d\165\x74\x65"] > time()) { return true; } } goto GPJao; qmnXi: function removeRuby($user, $ruby) { global $mysqli; $mysqli->query("\x55\120\x44\101\x54\105\40\142\157\x6f\x6d\x5f\x75\x73\145\162\163\x20\x53\105\124\x20\x75\x73\x65\x72\x5f\162\x75\142\171\x20\75\40\165\x73\145\162\x5f\162\165\142\x79\x20\x2d\40\x27{$ruby}\47\x2c\40\165\163\x65\x72\x5f\x73\162\165\x62\171\40\x3d\40\165\x73\x65\162\137\163\162\165\142\171\x20\53\x20\47{$ruby}\x27\x20\127\x48\105\122\105\40\x75\163\x65\162\x5f\x69\x64\40\x3d\40\47{$user["\x75\x73\x65\x72\x5f\x69\144"]}\47"); redisUpdateUser($user["\x75\x73\145\x72\137\151\144"]); } goto BpPQw; aeDC5: function vCheck($val) { if (strlen($val) == 36) { return true; } } goto mvcEA; U3JFX: function boomAddonsTemplate($getpage, $boom = '') { global $mysqli, $setting, $data, $addons, $lang; $page = BOOM_PATH . "\x2f\163\171\163\x74\145\x6d\57" . $getpage . "\56\160\150\x70"; $structure = ''; ob_start(); require $page; $structure = ob_get_clean(); return $structure; } goto Kw4MG; Um8F9: function getChatLog($id) { global $mysqli; $log = array(); $get_log = $mysqli->query("\12\x9\x9\123\x45\x4c\105\103\x54\x20\142\157\x6f\x6d\137\x63\150\141\x74\x2e\52\54\xa\x9\11\x62\157\157\155\x5f\x75\x73\145\162\x73\56\165\x73\145\162\137\156\x61\155\145\x2c\x20\x62\x6f\x6f\155\137\165\x73\x65\162\163\x2e\x75\163\145\162\137\143\x6f\x6c\x6f\162\54\x20\x62\157\157\x6d\137\165\x73\x65\162\163\x2e\165\163\x65\162\x5f\146\x6f\156\x74\54\x20\x62\x6f\157\155\137\x75\163\145\x72\163\x2e\x75\x73\x65\162\x5f\x72\141\x6e\153\54\x20\142\x6f\157\155\137\x75\163\145\162\x73\56\x75\x73\145\x72\x5f\x6c\145\x76\145\154\54\x20\x62\157\x6f\x6d\x5f\165\x73\x65\x72\163\56\142\x63\x63\x6f\x6c\157\162\54\x20\142\157\157\x6d\x5f\x75\163\145\162\x73\56\x75\163\145\x72\137\x73\x65\170\54\40\142\x6f\x6f\x6d\137\x75\x73\x65\x72\x73\56\165\163\145\162\x5f\x61\147\145\x2c\x20\x62\x6f\157\x6d\137\165\163\x65\x72\x73\56\x75\x73\145\x72\x5f\164\165\155\142\54\12\x9\x9\142\x6f\x6f\155\137\x75\163\x65\x72\x73\56\x75\x73\x65\x72\137\x63\157\166\x65\162\54\x20\x62\157\157\x6d\137\x75\163\145\x72\x73\x2e\x63\x6f\x75\156\164\162\x79\54\x20\142\x6f\x6f\x6d\137\x75\163\x65\x72\163\56\165\x73\x65\x72\137\x62\157\164\x2c\x20\142\157\157\x6d\x5f\165\x73\x65\162\163\x2e\141\x73\150\x61\162\145\54\40\142\157\x6f\x6d\x5f\x75\x73\145\162\x73\x2e\x73\x73\x68\x61\162\x65\54\x20\x62\x6f\157\155\137\165\x73\x65\x72\163\56\154\x73\x68\141\162\x65\xa\x9\x9\x46\122\117\115\x20\142\x6f\x6f\x6d\x5f\x63\x68\x61\x74\12\x9\x9\x4c\x45\x46\124\40\x4a\117\111\x4e\40\x62\157\x6f\x6d\x5f\165\163\x65\162\163\x20\x4f\x4e\x20\142\157\157\155\137\x75\x73\145\162\x73\x2e\165\163\145\162\137\x69\x64\40\x3d\40\142\157\x6f\155\137\x63\x68\x61\x74\x2e\165\x73\145\x72\x5f\151\144\12\11\11\x57\x48\105\x52\x45\40\142\157\x6f\155\137\143\150\x61\x74\x2e\160\x6f\x73\164\137\x69\x64\x20\x3d\40\x27{$id}\47\12\x9"); if ($get_log->num_rows == 1) { $log = $get_log->fetch_assoc(); } return $log; } goto gMRBv; ghu03: function logDetails($id) { global $mysqli; $log = array(); $get_log = $mysqli->query("\123\x45\114\x45\103\124\40\52\x20\x46\x52\x4f\x4d\x20\x62\157\157\x6d\137\x63\x68\x61\164\40\x57\110\x45\x52\x45\40\x70\157\163\x74\x5f\151\x64\x20\75\x20\47{$id}\47"); if ($get_log->num_rows > 0) { $log = $get_log->fetch_assoc(); } return $log; } goto tqMZs; yFXvX: function guestForm() { global $setting; if ($setting["\147\165\x65\x73\x74\137\x66\x6f\162\155"] == 1) { return true; } } goto IjPTJ; Q2n3f: function removeWallet($user, $type, $amount) { if ($type == 1) { removeGold($user, $amount); } else { if ($type == 2) { removeRuby($user, $amount); } } } goto jtpuE; OIjCL: function getPrivateLog($id) { global $mysqli; $log = array(); $get_log = $mysqli->query("\12\11\x9\123\105\x4c\105\103\124\x20\x62\157\x6f\x6d\x5f\160\x72\151\166\141\164\145\56\52\x2c\x20\12\x9\11\x62\157\157\x6d\x5f\x75\x73\145\162\x73\56\165\163\145\162\137\x69\x64\54\40\x62\157\157\155\137\165\x73\145\162\x73\x2e\165\x73\145\162\137\x6e\x61\155\x65\54\40\x62\157\157\x6d\137\x75\x73\x65\x72\163\56\x75\x73\x65\162\137\x63\157\x6c\x6f\162\54\x20\x62\x6f\x6f\x6d\x5f\165\163\x65\162\x73\x2e\x75\163\145\x72\x5f\x74\165\x6d\142\54\x20\142\x6f\x6f\x6d\137\165\x73\145\x72\x73\x2e\165\x73\145\x72\137\142\157\x74\12\x9\11\106\x52\x4f\x4d\x20\x62\157\x6f\x6d\137\x70\x72\151\x76\x61\164\x65\xa\x9\11\x4c\x45\106\x54\40\112\117\111\x4e\40\x62\157\157\x6d\x5f\x75\163\x65\x72\x73\40\117\116\40\x62\157\157\x6d\x5f\x70\162\x69\x76\x61\164\145\56\150\x75\156\164\x65\162\40\75\40\142\x6f\x6f\155\137\165\163\x65\162\163\56\x75\163\x65\x72\137\151\144\12\11\11\127\110\x45\x52\x45\40\142\x6f\157\155\137\160\162\151\166\x61\x74\x65\56\x69\x64\x20\75\40\47{$id}\x27\12\11\x9\12\11"); if ($get_log->num_rows == 1) { $log = $get_log->fetch_assoc(); } return $log; } goto UB2di; LQka2: function jsonGenderTitle() { $s = array(); foreach (genderList() as $r) { $s[$r] = genderTitle($r); } return json_encode($s, JSON_FORCE_OBJECT); } goto fhzJF; oE0sp: function getMobile() { $list = array("\x6d\157\x62\x69\x6c\145", "\160\x68\157\x6e\x65", "\x69\160\150\157\156\145", "\151\160\x61\144", "\151\160\157\x64", "\141\156\x64\162\157\x69\x64", "\x73\x69\154\x6b", "\x6b\x69\156\144\154\x65", "\142\x6c\x61\143\x6b\142\x65\x72\x72\171", "\x6f\x70\x65\x72\x61\40\115\x69\156\151", "\x6f\160\145\x72\x61\40\115\157\x62\151", "\163\171\x6d\142"); foreach ($list as $val) { if (stripos($_SERVER["\x48\x54\x54\120\137\x55\123\105\x52\x5f\x41\x47\x45\116\x54"], $val) !== false) { return 1; } } return 0; } goto YaWz0; WvGfi: function isGuest($user) { if ($user["\165\x73\x65\162\137\162\x61\156\153"] == 0) { return true; } } goto tyAnx; vnZHT: function rubyBalance($ruby) { global $data; if ($data["\x75\163\145\162\137\162\x75\142\171"] >= $ruby) { return true; } } goto dOI2Y; YUOPq: function joinRoomMessage($room) { global $lang, $data; if (useLogs(1) && moveMessage($data) && isVisible($data)) { $userText = systemNameFilter($data); $colorClass = !empty($data["\x75\163\145\162\x5f\x63\x6f\x6c\157\x72"]) ? $data["\x75\x73\145\162\x5f\x63\157\154\x6f\162"] : "\165\163\145\x72"; $userSpan = "\x3c\163\160\x61\156\40\143\154\x61\x73\x73\75\x22" . $colorClass . "\40\152\157\151\x6e\55\x6d\163\147\x5f\x5f\165\163\145\x72\x22\76" . $userText . "\x3c\x2f\163\160\x61\x6e\x3e"; $rankText = rankTitle($data["\165\163\145\x72\137\x72\141\156\153"]); $rankSpan = "\74\163\160\x61\156\40\x63\x6c\141\163\163\75\x22\x6a\x6f\151\x6e\x2d\x6d\163\147\137\x5f\x72\x61\156\x6b\42\x3e" . $rankText . "\x3c\x2f\x73\160\x61\156\76"; $text = str_replace(array("\45\165\163\x65\x72\45", "\x25\162\141\x6e\x6b\45"), array($userSpan, $rankSpan), $lang["\163\x79\163\137\x6a\157\151\156"]); $avatar = myAvatar($data["\x75\x73\x65\162\x5f\164\165\x6d\x62"]); $html = "\x3c\x64\151\x76\40\x63\154\141\163\x73\x3d\42\152\157\151\156\55\x6d\163\147\40\x62\x61\143\x6b\137\155\x6f\x64\141\x6c\x22\x3e\74\x64\x69\x76\x20\157\x6e\143\x6c\x69\143\153\x3d\42\x67\x65\164\120\x72\157\x66\x69\x6c\x65\x28" . $data["\x75\163\x65\162\137\151\x64"] . "\51\x22\x20\x63\154\x61\x73\163\75\42\152\157\x69\156\x2d\155\x73\x67\x5f\x5f\x61\x76\141\164\x61\x72\42\x20\163\x74\171\x6c\x65\75\x22\142\x61\x63\x6b\x67\x72\x6f\165\x6e\x64\55\151\x6d\141\x67\145\x3a\x75\162\154\x28" . $avatar . "\51\42\76\x3c\x2f\144\151\x76\76\74\x64\151\x76\x20\143\x6c\141\163\x73\x3d\42\x6a\x6f\151\156\x2d\x6d\x73\147\x5f\x5f\x74\145\x78\x74\40\165\x73\x65\162\x22\76" . $text . "\74\x2f\144\x69\166\x3e\x3c\151\x20\143\x6c\141\x73\x73\x3d\x22\146\141\x20\x66\x61\55\x63\x68\x65\x63\x6b\55\x63\x69\x72\x63\x6c\145\x20\152\157\x69\156\55\155\x73\x67\137\137\151\143\x6f\156\x22\76\x3c\57\151\x3e\74\57\x64\x69\166\x3e"; botPostChat(2, $data["\165\x73\x65\x72\137\162\x6f\157\155\151\x64"], $html); } } goto Vib3z; IjPTJ: function userDj($user) { if ($user["\165\163\x65\x72\137\x64\x6a"] == 1) { return true; } } goto gRQ09; Qmj6F: function genSession() { return rand(1111, 9999) . rand(11111, 99999); } goto uG5_k; J8zjg: function useQuote() { global $setting; if ($setting["\141\x6c\154\x6f\167\137\161\165\x6f\164\145"] < 999) { return true; } } goto vwgvm; vDKUr: function defaultAvatar($a) { if (stripos($a, "\144\145\146\141\165\x6c\x74") !== false) { return true; } } goto sKKy3; YEelb: function isMainMuted($user) { if ($user["\x75\163\x65\x72\137\x6d\155\x75\164\145"] > time()) { return true; } } goto ZU68x; J9Lx7: function systemPostChat($room, $content, $custom = array()) { global $mysqli, $setting; $def = array("\164\x79\x70\x65" => "\x73\x79\x73\x74\x65\x6d", "\143\157\x6c\x6f\162" => "\143\150\141\164\x5f\163\171\x73\x74\145\x6d", "\x72\141\156\x6b" => 999, "\163\x79\163\164\145\155" => 1); $post = array_merge($def, $custom); $mysqli->query("\111\x4e\123\x45\122\x54\x20\x49\x4e\x54\117\40\140\142\x6f\157\x6d\x5f\x63\x68\x61\x74\x60\x20\x28\x70\x6f\x73\x74\137\x64\141\164\145\x2c\40\x75\x73\x65\x72\x5f\x69\x64\x2c\x20\x70\157\163\164\x5f\155\145\x73\x73\x61\147\145\54\x20\160\157\163\x74\137\x72\157\x6f\155\x69\144\x2c\x20\164\171\x70\x65\54\40\154\157\x67\x5f\x72\141\x6e\153\54\x20\x74\143\157\154\157\x72\54\40\163\x79\163\154\x6f\147\51\40\x56\101\x4c\125\105\123\x20\x28\x27" . time() . "\47\54\40\47{$setting["\163\x79\x73\x74\x65\x6d\x5f\x69\x64"]}\47\54\40\x27{$content}\47\54\x20\x27{$room}\47\54\40\47{$post["\164\x79\160\x65"]}\47\54\x20\47{$post["\x72\x61\156\153"]}\x27\54\40\x27{$post["\143\x6f\x6c\x6f\162"]}\x27\54\x20\47{$post["\163\171\x73\x74\145\155"]}\x27\51"); chatAction($room); return true; } goto vzlNr; o2AcF: function likeIcon() { return "\x64\145\x66\141\165\x6c\164\137\x69\x6d\x61\x67\145\163\x2f\x69\x63\x6f\156\163\57\154\151\153\145\x2e\x73\166\x67"; } goto tSGxA; TudQD: function canPrivate() { global $setting, $data; if (boomAllow($setting["\x61\154\x6c\157\167\x5f\x70\162\151\166\141\x74\145"]) && !isPrivateMuted($data)) { return true; } } goto OjRSE; ooIXb: function clearNotifyType($id, $type) { global $mysqli; $mysqli->query("\104\x45\114\x45\x54\105\x20\106\122\117\115\40\142\x6f\x6f\x6d\x5f\x6e\157\164\151\146\x69\143\x61\164\x69\x6f\156\x20\127\110\x45\122\105\x20\x6e\x6f\164\x69\x66\151\145\x64\x20\x3d\40\x27{$id}\47\x20\101\x4e\104\40\x6e\157\x74\151\146\x79\137\x74\x79\160\145\x20\75\x20\47{$type}\x27"); } goto e3OnI; EftDW: function boomTemplate($getpage, $boom = '') { global $mysqli, $setting, $data, $lang; $page = BOOM_PATH . "\57\x73\x79\163\x74\x65\x6d\x2f" . $getpage . "\x2e\160\x68\x70"; $structure = ''; ob_start(); require $page; $structure = ob_get_clean(); return $structure; } goto U3JFX; HKde2: function validGold($n) { if ($n >= minGold() && $n <= maxGold()) { return true; } } goto vmBH1; M9W6e: function systemRank($rank, $type) { return "\74\151\155\x67\40\x73\162\x63\75\x22\x64\x65\146\141\165\154\x74\137\151\155\141\147\145\163\x2f\162\x61\x6e\x6b\57" . rankIcon($rank) . "\42\x20\x64\x61\x74\141\55\x72\x3d\42" . $rank . "\x22\40\x63\154\141\x73\163\x3d\42" . $type . "\x22\x2f\x3e"; } goto tZExK; zzAtl: function isKicked($user) { if ($user["\165\163\x65\162\137\x6b\151\x63\x6b"] > time()) { return true; } } goto oBjgi; CVGYd: function canGhost() { global $setting; if (boomAllow($setting["\143\x61\156\137\x67\x68\157\163\x74"])) { return true; } } goto eWyd8; DTuyg: function longDate($date) { return date("\x59\x2d\x6d\x2d\x64\40", $date); } goto X891i; ar2Su: function jsonStatusIcon() { $s = array(); foreach (statusList() as $r) { $s[$r] = statusIcon($r); } return json_encode($s); } goto sFZcO; cbTet: function saveUserData($user, $key, $value) { global $mysqli; $get_data = $mysqli->query("\123\x45\114\105\103\124\40\x69\144\40\106\122\117\115\40\142\x6f\x6f\155\x5f\x64\141\x74\141\x20\x57\x48\105\x52\105\x20\144\x61\164\141\137\x75\x73\x65\162\x20\75\40\47{$user["\x75\x73\145\x72\137\151\144"]}\x27\x20\101\116\x44\40\x64\x61\164\141\137\153\145\x79\x20\x3d\40\47{$key}\47"); if ($get_data->num_rows > 0) { $mysqli->query("\125\120\x44\x41\124\x45\40\x62\x6f\157\155\x5f\144\x61\x74\141\40\123\105\x54\x20\144\x61\x74\x61\137\x76\x61\x6c\x75\x65\40\75\40\47{$value}\47\40\x57\x48\105\x52\105\40\144\x61\x74\141\x5f\165\x73\x65\162\40\75\40\47{$user["\165\x73\x65\162\137\x69\144"]}\47\x20\x41\x4e\104\x20\144\x61\164\141\x5f\x6b\145\x79\40\x3d\40\x27{$key}\47"); } else { $mysqli->query("\111\x4e\x53\x45\x52\124\40\111\x4e\x54\x4f\40\x62\157\157\155\137\x64\141\x74\141\x20\50\144\141\164\x61\x5f\165\163\x65\162\x2c\40\144\x61\164\x61\x5f\153\x65\x79\x2c\x20\x64\x61\x74\x61\x5f\x76\141\154\165\145\x29\x20\126\x41\x4c\125\x45\123\x20\50\47{$user["\x75\163\145\x72\137\151\144"]}\47\x2c\x20\x27{$key}\47\54\40\47{$value}\x27\51"); } redisDel("\x64\x61\x74\141\x3a" . $key . "\72" . $user["\x75\x73\x65\162\x5f\x69\x64"]); } goto Sd50Z; oWcSm: function reloadSettings() { global $setting; return array("\x61\x76\141\164\x61\x72\x6d\141\170" => (int) $setting["\x6d\x61\x78\137\x61\166\x61\x74\x61\x72"], "\143\x6f\x76\145\162\155\141\170" => (int) $setting["\155\x61\x78\137\x63\x6f\166\x65\x72"], "\x72\x69\x63\157\156\155\x61\170" => (int) $setting["\155\141\x78\137\x72\151\x63\157\x6e"], "\146\x69\x6c\x65\x6d\x61\170" => (int) $setting["\x66\x69\154\145\137\x77\x65\x69\x67\x68\x74"], "\163\x70\x65\145\144" => (int) $setting["\163\x70\x65\145\144"], "\x63\141\156\x63\141\x6c\154" => (int) minCall(), "\165\163\145\143\141\x6c\154" => (int) $setting["\165\163\145\x5f\143\141\154\x6c"], "\151\x6e\157\165\164" => (int) $setting["\x61\143\x74\137\x64\145\x6c\141\x79"], "\165\161\x75\157\x74\145" => (int) $setting["\141\154\x6c\x6f\167\x5f\161\x75\157\164\x65"], "\165\160\x71\x75\x6f\164\145" => (int) $setting["\x61\154\154\x6f\x77\137\160\x71\165\x6f\164\x65"], "\x70\162\x69\x6d\151\x6e" => (int) $setting["\x61\x6c\154\x6f\x77\137\160\162\151\x76\141\164\145"], "\x63\x61\156\x73\x63\157\x6e\164\x65\156\x74" => (int) $setting["\141\154\x6c\157\x77\x5f\163\x63\157\156\x74\145\156\x74"], "\143\x61\156\x63\x6f\156\x74\x65\x6e\x74" => (int) $setting["\143\141\156\137\143\x6f\156\164\x65\156\x74"], "\x63\x61\x6e\162\x6c\x6f\147\163" => (int) $setting["\143\141\x6e\137\x72\154\x6f\x67\x73"], "\143\x61\156\x72\145\160\157\x72\164" => (int) $setting["\x61\154\x6c\157\167\137\162\145\160\x6f\162\x74"], "\155\141\x78\x65\155\157" => (int) $setting["\155\x61\170\x5f\145\155\x6f"], "\160\x72\151\x76\x6c\157\141\144" => (int) $setting["\160\162\x69\x76\154\x6f\x61\x64"], "\x63\165\162\163\145\164" => (int) $setting["\x63\x75\x72\163\145\164"], "\165\163\145\154\145\166\x65\154" => (int) $setting["\165\163\145\x5f\154\145\x76\x65\154"], "\x75\x73\145\142\141\144\147\x65" => (int) $setting["\165\163\x65\x5f\142\141\144\x67\145"]); } goto RcnHG; epjQm: function loadIgnore($id) { global $mysqli, $data; $list = array(); if (is_array($cache = redisGetObject("\151\147\156\157\162\x65\72" . $id))) { return $cache; } $get_ignore = $mysqli->query("\x53\105\x4c\x45\x43\124\40\x69\147\x6e\x6f\x72\x65\x64\x20\x46\x52\117\x4d\40\142\x6f\157\155\x5f\151\147\x6e\157\x72\145\x20\x57\110\105\x52\105\x20\x69\147\x6e\157\162\145\x72\40\x3d\x20\47{$data["\x75\x73\145\162\137\151\144"]}\x27"); while ($ignore = $get_ignore->fetch_assoc()) { $list[] = (int) $ignore["\151\x67\x6e\x6f\162\145\144"]; } redisSetObject("\x69\x67\x6e\x6f\x72\x65\x3a" . $id, $list); return $list; } goto aSVbT; dyvNW: function updateListNotify($list) { global $mysqli; if (empty($list)) { return false; } $delay = getDelay(); $ulist = implode("\x2c\x20", $list); $mysqli->query("\x55\x50\104\x41\124\105\40\x62\x6f\157\x6d\137\165\x73\x65\162\x73\x20\x53\x45\124\x20\156\x61\143\x74\151\157\x6e\x20\75\x20\156\141\143\x74\x69\x6f\156\40\53\40\x31\x20\127\x48\105\x52\x45\40\x75\163\x65\162\x5f\151\x64\x20\111\x4e\x20\50{$ulist}\x29\x20\x41\x4e\104\x20\154\141\163\x74\137\x61\x63\164\x69\x6f\156\x20\x3e\40\x27{$delay}\x27"); redisListNotify($list); } goto k1l3G; YB1zg: function isSystem($id) { global $setting; if ($id == $setting["\163\171\163\164\x65\x6d\137\x69\x64"]) { return true; } } goto KLMvj; yDjyg: function boomSanitize($t) { global $mysqli; $t = str_replace(array("\134", "\x2f", "\x2e", "\74", "\76", "\x25", "\43"), '', $t); return $mysqli->real_escape_string(trim(htmlspecialchars($t, ENT_QUOTES))); } goto x9mXW; gydnY: function createLog($log, $quote = array()) { global $data; if (isGhosted($data)) { $log["\160\147\x68\157\163\164"] = 0; } if ($log["\x71\x70\x6f\x73\x74"] > 0 && empty($quote)) { $quote = quoteDetails($log["\161\160\x6f\163\x74"]); } if (empty($quote)) { $quote_data = null; } else { $quote_data = array("\x71\151\x64" => (int) $quote["\x70\157\x73\x74\137\151\x64"], "\161\x75\163\x65\x72" => (int) $quote["\x75\163\145\x72\137\151\144"], "\161\156\141\x6d\145" => $quote["\165\163\x65\x72\x5f\156\141\x6d\x65"], "\161\x74\x75\x6d\x62" => $quote["\x75\163\145\162\137\164\x75\155\142"], "\x71\143\x6f\x6e\x74\145\156\x74" => processQuoteMessage($quote["\160\x6f\x73\164\137\155\145\163\163\x61\x67\x65"])); } return array("\x75\x73\145\x72\x5f\151\x64" => (int) $log["\x75\x73\x65\x72\x5f\x69\144"], "\165\x73\145\162\x5f\x6e\x61\x6d\145" => $log["\x75\x73\145\x72\137\x6e\x61\x6d\145"], "\x75\x73\x65\x72\137\x72\x61\156\153" => (int) $log["\165\x73\x65\162\137\x72\x61\x6e\x6b"], "\165\163\145\x72\x5f\x6c\145\166\x65\x6c" => (int) $log["\165\163\145\162\137\x6c\x65\x76\145\x6c"], "\x75\163\x65\162\x5f\x74\x75\155\142" => $log["\165\163\145\162\137\164\165\x6d\x62"], "\165\163\145\162\137\143\x6f\166\145\162" => $log["\165\x73\x65\x72\137\x63\x6f\x76\145\x72"], "\165\x73\x65\x72\x5f\143\x6f\x6c\157\x72" => myColorFont($log), "\x75\x73\145\x72\x5f\x74\143\157\x6c\x6f\162" => $log["\x74\143\x6f\154\157\x72"], "\x75\x73\x65\x72\x5f\142\x6f\x74" => (int) $log["\165\163\x65\x72\137\x62\x6f\x74"], "\x75\163\x65\162\137\147\x65\x6e\x64\x65\162" => uGender($log), "\x67\142\157\162\x64\x65\162" => genderBorder($log["\x75\163\145\162\137\163\145\170"]), "\165\x73\x65\x72\137\143\x6f\x75\156\x74\x72\171" => uCountry($log), "\165\x73\x65\162\x5f\141\x67\145" => uAge($log), "\165\163\x65\x72\x5f\x72\157\x6f\155\151\x64" => (int) $log["\x70\x6f\x73\164\x5f\x72\157\157\155\151\144"], "\154\157\x67\137\151\x64" => (int) $log["\160\x6f\x73\x74\137\151\144"], "\x6c\157\x67\137\x74\x79\x70\145" => $log["\164\171\x70\145"], "\x6c\157\x67\137\143\157\x6e\164\x65\x6e\164" => processChatMessage($log), "\154\157\x67\137\144\x61\x74\x65" => chatDate($log["\160\157\163\164\x5f\x64\x61\x74\x65"]), "\154\157\x67\137\162\141\x6e\153" => (int) $log["\154\157\147\137\x72\141\156\153"], "\154\157\147\137\x73\x79\163" => (int) $log["\163\x79\x73\x6c\x6f\x67"], "\154\x6f\147\x5f\x75\151\144" => (int) $log["\154\157\x67\137\x75\x69\144"], "\161\165\157\x74\145" => $quote_data, "\147\x70\157\163\x74" => (int) $log["\160\x67\150\157\x73\x74"]); } goto cfogs; ErxAM: function getUserSession($ident, $pass) { global $mysqli; $user = userDetails($ident); if (empty($user) || $user["\x75\x73\x65\x72\137\x70\x61\163\x73\167\x6f\162\x64"] != $pass) { return array(); } return $user; } goto QDTiZ; VZyr5: function userShareGift($user) { if (!useGift() || isBot($user)) { return false; } if ($user["\x67\163\150\x61\x72\x65"] > 0) { return true; } } goto P9fgS; AUosH: function canSendGift($user) { if (!useGift()) { return false; } if (isBot($user)) { return false; } if (ignored($user) || ignoring($user)) { return false; } return true; } goto fLhly; cfogs: function exportLogs($logs, $last = '') { $result = array(); foreach ($logs as $log) { $result[] = createLog($log); } return $result; } goto Um8F9; H5hcl: function listGender($current) { $gender = ''; foreach (genderList() as $val) { $gender .= genderOption($current, $val); } return $gender; } goto X5l39; tBuLc: function userShareAge($user) { if ($user["\141\x73\150\x61\162\x65"] > 0) { return true; } } goto rfROB; xsxPu: function isActProof() { if (boomAllow(70)) { return true; } } goto tkfCa; vZl9u: function boomSaveSettings() { global $mysqli; $mysqli->query("\125\120\104\101\x54\x45\x20\x62\x6f\157\x6d\x5f\x73\145\164\164\x69\156\147\x20\x53\x45\124\40\x63\165\x72\x73\145\164\x20\75\40\x63\165\x72\x73\x65\x74\40\53\40\x31\x20\127\110\105\122\x45\40\151\144\x20\75\x20\61"); if (is_writable(BOOM_PATH . "\57\163\171\163\x74\x65\x6d\x2f\163\145\164\164\x69\x6e\147\x73\x2e\x70\150\x70")) { $q = $mysqli->query("\123\105\114\105\103\124\40\x2a\x20\106\x52\117\115\x20\142\x6f\157\x6d\x5f\163\x65\164\x74\151\x6e\x67\40\x57\x48\x45\122\x45\40\x69\144\x20\x3d\40\61"); $f = ''; while ($d = $q->fetch_assoc()) { foreach ($d as $key => $value) { $f .= "\44\x73\x65\164\x74\x69\x6e\147\x5b\x27" . $key . "\x27\135\40\x3d\x20\47" . addslashes($value) . "\47\73\12"; } } $g = "\74\x3f\x70\x68\160\xa{$f}\x3f\x3e"; $f = fopen(BOOM_PATH . "\x2f\163\171\x73\164\x65\x6d\57\x73\145\x74\164\151\156\147\163\56\160\x68\160", "\167\x2b") or die; fwrite($f, $g); fclose($f); } } goto oWcSm; tqMZs: function privateLogDetails($id) { global $mysqli; $log = array(); $get_log = $mysqli->query("\x53\105\x4c\x45\103\x54\x20\x2a\40\106\x52\117\115\x20\142\157\157\x6d\137\x70\162\151\x76\141\164\145\x20\x57\110\105\x52\x45\40\x69\x64\40\75\x20\x27{$id}\x27"); if ($get_log->num_rows > 0) { $log = $get_log->fetch_assoc(); } return $log; } goto lNnGX; Qojh5: function userProfileDetails($id) { global $mysqli; $user = userDetails($id); if (!empty($user)) { $getuser = $mysqli->query("\xa\x9\11\11\x53\x45\x4c\x45\x43\124\40\x62\157\157\155\x5f\165\163\x65\162\x73\137\144\x61\164\141\x2e\x2a\54\40\142\x6f\157\x6d\x5f\x72\x6f\x6f\x6d\163\x2e\x72\x6f\x6f\x6d\x5f\x69\144\54\x20\142\157\x6f\155\137\x72\x6f\x6f\155\163\x2e\162\x6f\x6f\x6d\137\x6e\x61\155\x65\12\11\11\11\106\122\117\x4d\x20\x62\x6f\x6f\x6d\x5f\x75\163\145\162\x73\137\x64\141\x74\141\xa\x9\x9\x9\x4c\105\x46\124\40\x4a\x4f\x49\116\40\142\157\157\x6d\x5f\162\x6f\157\x6d\163\40\x4f\x4e\40\x62\x6f\x6f\x6d\x5f\x72\x6f\x6f\155\x73\x2e\162\157\157\155\137\151\144\x20\x3d\40\47{$user["\x75\x73\145\x72\x5f\162\157\x6f\155\x69\144"]}\47\12\x9\x9\x9\x57\110\105\x52\105\40\x75\151\x64\40\x3d\40\x27{$user["\x75\x73\x65\162\137\151\144"]}\47\73\12\11\11"); if ($getuser->num_rows > 0) { return array_merge($user, $getuser->fetch_assoc()); } } return array(); } goto ypev8; fI0cv: function addonsDetails($name) { global $mysqli; $addons = array(); if ($cache = redisGetObject("\x61\144\x64\x6f\x6e\x73\72" . $name)) { return $cache; } $geta = $mysqli->query("\x53\105\x4c\x45\x43\x54\x20\52\40\x46\x52\117\115\x20\x62\157\157\x6d\x5f\x61\x64\144\x6f\156\163\x20\x57\110\x45\x52\x45\40\x61\x64\x64\157\x6e\x73\x20\x3d\40\x27{$name}\47"); if ($geta->num_rows > 0) { $addons = $geta->fetch_assoc(); redisSetObject("\141\x64\144\157\156\x73\x3a" . $name, $addons); } return $addons; } goto HtvW_; rV1kT: function privCheck() { global $setting; if (!boomAllow($setting["\141\154\154\157\167\x5f\160\162\151\x76\x61\x74\x65"])) { return "\146\x68\151\x64\x65"; } } goto eqxF_; a4ZC6: function calDayUp($d) { return time() + $d * 86400; } goto pByiS; LfhiO: function userHaveCover($user) { if ($user["\165\x73\145\x72\x5f\x63\x6f\x76\x65\x72"] != '') { return true; } } goto oE0sp; aSVbT: function processQuoteMessage($message) { return mb_convert_encoding(systemReplace($message), "\125\124\x46\x2d\x38", "\x61\165\164\157"); } goto gmiZl; p0hn7: function roomStaff() { if (boomRole(4)) { return true; } } goto Kn3ib; ypev8: function joinProfileDetails($user) { global $mysqli; $getuser = $mysqli->query("\x53\105\x4c\x45\103\x54\40\x62\x6f\x6f\x6d\137\x75\x73\x65\x72\x73\x5f\144\141\164\x61\56\x2a\x20\106\x52\x4f\x4d\x20\142\x6f\x6f\155\137\165\163\x65\162\163\137\144\141\164\141\x20\x57\110\x45\122\105\x20\x75\x69\x64\40\x3d\40\47{$user["\x75\163\x65\162\137\x69\144"]}\47"); if ($getuser->num_rows > 0) { return array_merge($user, $getuser->fetch_assoc()); } return $user; } goto BvvQH; k1l3G: function updateStaffNotify() { global $mysqli; $delay = getDelay(); $mysqli->query("\x55\120\x44\101\x54\x45\x20\142\x6f\157\x6d\x5f\x75\x73\x65\x72\163\40\123\x45\x54\x20\156\141\143\x74\x69\157\x6e\x20\x3d\40\156\x61\x63\x74\151\157\x6e\40\x2b\x20\61\x20\x57\x48\105\x52\105\40\x75\163\145\x72\x5f\x72\141\x6e\153\40\76\x3d\x20\x37\60\x20\x41\116\x44\40\154\141\x73\164\x5f\x61\x63\164\151\x6f\x6e\x20\x3e\x20\47{$delay}\47"); redisUpdateStaffNotify(); } goto YegqB; EIDnT: function systemBot($user) { if ($user == 9) { return true; } } goto YB1zg; GXWUq: function calmonthUp($m) { return time() + 3600 * 24 * 30 * $m; } goto a4ZC6; Sd50Z: function getTopic($room) { global $lang; $topic = processUserData($room["\x74\x6f\160\151\x63"]); if (!empty($topic)) { return array("\162\x6f\157\x6d" => (int) $room["\162\157\157\155\137\x69\x64"], "\151\x63\x6f\x6e" => specialLogIcon("\164\x6f\160\x69\143\x2e\x73\166\x67"), "\164\151\164\154\145" => $lang["\x74\157\160\151\x63\x5f\x74\x69\164\x6c\x65"], "\x63\157\156\164\x65\156\x74" => $topic); } else { return array(); } } goto gydnY; vMWuu: function chatDate($date) { return date("\x6a\57\155\40\107\72\x69", $date); } goto pL9dG; XbSoz: function jsonRoomRankTitle() { $s = array(); foreach (roomRankList() as $r) { $s[$r] = roomRankTitle($r); } return json_encode($s); } goto ar2Su; g19gs: function calWeek($w) { return time() - 3600 * 24 * 7 * $w; } goto CpuYN; Kn3ib: function userRoomStaff($rank) { if ($rank >= 4) { return true; } } goto qyXgP; rtkwq: function isStaff($user) { if ($user["\x75\163\145\162\137\x72\141\x6e\x6b"] >= 70) { return true; } } goto SqCf1; IodqH: function boomUnderClear($t) { return str_replace("\137", "\40", $t); } goto EpL6D; x9mXW: function softEscape($t) { global $mysqli; $atags = "\x3c\x61\76\x3c\160\x3e\74\x68\61\x3e\x3c\x68\62\x3e\x3c\150\63\x3e\74\150\x34\76\74\151\155\147\76\74\x62\x3e\74\163\164\162\x6f\x6e\147\x3e\74\x62\x72\x3e\x3c\x75\154\76\74\x6c\151\x3e\74\144\151\166\x3e\x3c\151\76\x3c\x73\160\x61\156\x3e\74\x75\76\74\x74\x68\76\x3c\x74\x64\76\x3c\164\x72\x3e\x3c\x74\x61\142\x6c\x65\x3e\74\x73\164\162\151\x6b\145\76\x3c\x73\155\141\154\154\76\x3c\x6f\154\76\74\x68\162\x3e\74\x66\x6f\x6e\x74\76\74\x63\145\x6e\x74\145\162\x3e\74\142\x6c\x69\156\153\76\74\141\x75\x64\151\x6f\76\74\x6d\x61\162\x71\165\x65\145\76\74\163\x63\162\151\160\x74\x3e\74\x73\x74\171\154\145\76"; $t = strip_tags($t, $atags); return $mysqli->real_escape_string(trim($t)); } goto CMODv; fhzJF: function featureBlock($v) { if ($v == 1) { return true; } } goto DAPx8; YegqB: function updateAllNotify() { global $mysqli; $delay = getDelay(); $mysqli->query("\125\x50\x44\101\x54\105\x20\142\157\157\155\x5f\x75\163\x65\162\163\x20\x53\x45\124\40\x6e\141\143\x74\x69\x6f\156\x20\x3d\x20\x6e\x61\143\x74\x69\x6f\x6e\x20\x2b\x20\61\40\127\110\x45\x52\105\x20\x6c\x61\163\x74\137\x61\143\164\151\x6f\156\x20\76\40\x27{$delay}\x27"); redisUpdateAllNotify(); } goto epjQm; plqzZ: function validAjax() { if (!empty($_SERVER["\110\x54\124\x50\x5f\130\137\122\105\x51\x55\x45\x53\x54\105\x44\x5f\127\111\x54\110"]) && strtolower($_SERVER["\110\x54\x54\120\137\x58\x5f\x52\105\121\125\x45\123\x54\x45\x44\137\127\x49\x54\x48"]) == "\x78\155\x6c\150\164\164\x70\162\x65\161\165\x65\163\x74") { return true; } } goto Zqbm0; MkwXO: function getMoreChatHistory($last) { global $mysqli, $setting, $data; $history = 60; $add = ''; if (!isGhosted($data) && !canViewGhost()) { $add = "\x41\x4e\104\40\160\147\x68\157\163\164\x20\75\40\60"; } $log = $mysqli->query("\12\11\123\105\114\105\x43\124\x20\154\157\x67\56\x2a\54\40\xa\11\142\x6f\157\x6d\137\x75\x73\x65\x72\x73\56\x75\163\x65\162\137\156\x61\x6d\145\54\x20\142\x6f\x6f\155\x5f\165\163\x65\162\163\56\165\x73\x65\x72\137\143\x6f\154\157\x72\54\40\142\157\x6f\x6d\137\165\163\145\x72\163\56\165\x73\x65\x72\137\146\157\x6e\x74\54\40\x62\157\157\155\x5f\x75\x73\x65\x72\163\56\x75\x73\x65\162\137\162\x61\156\x6b\54\x20\142\157\157\155\x5f\x75\x73\145\x72\163\56\x75\x73\x65\162\137\x6c\145\166\145\154\x2c\x20\142\x6f\x6f\155\x5f\165\163\145\162\163\x2e\x62\143\x63\x6f\154\157\162\x2c\x20\142\x6f\x6f\x6d\x5f\x75\163\145\x72\163\x2e\165\x73\x65\162\137\163\x65\170\x2c\x20\142\157\x6f\155\x5f\165\163\145\162\163\x2e\165\163\145\162\x5f\141\147\145\x2c\x20\142\x6f\x6f\155\x5f\x75\163\145\x72\163\56\x75\163\145\162\137\x74\165\155\x62\x2c\12\11\x62\x6f\x6f\x6d\137\x75\163\x65\x72\x73\56\165\163\x65\x72\x5f\143\157\x76\145\162\54\40\x62\x6f\x6f\x6d\137\165\x73\x65\x72\x73\x2e\143\157\165\x6e\x74\162\171\54\40\142\x6f\x6f\155\x5f\165\163\145\162\x73\56\x75\163\x65\x72\x5f\x62\157\164\54\40\x62\x6f\157\x6d\x5f\x75\163\x65\x72\163\x2e\x61\163\150\141\x72\x65\x2c\40\x62\x6f\157\x6d\137\x75\x73\x65\x72\x73\x2e\x73\x73\x68\141\162\x65\x2c\x20\x62\x6f\157\155\137\x75\163\x65\162\163\56\154\x73\150\x61\162\x65\12\11\106\122\117\115\40\x28\x20\x53\x45\x4c\105\103\x54\40\x2a\x20\x46\x52\117\115\x20\140\x62\157\x6f\x6d\x5f\143\x68\141\164\140\40\x57\110\105\x52\x45\40\140\160\x6f\163\164\x5f\x72\157\x6f\x6d\x69\144\140\40\75\40\x27{$data["\165\163\x65\x72\x5f\x72\x6f\157\x6d\x69\x64"]}\x27\40\101\116\x44\x20\160\x6f\x73\x74\137\151\x64\40\x3c\x20\x27{$last}\x27\40\101\116\x44\40\x75\163\x65\x72\x5f\x69\x64\x20\x21\75\x20\47{$setting["\x73\x79\163\164\145\155\x5f\x69\x64"]}\x27\x20{$add}\x20\x4f\x52\x44\105\x52\40\102\131\40\140\160\x6f\163\x74\137\151\x64\140\40\104\105\123\x43\x20\x4c\111\115\111\124\x20{$history}\51\x20\x41\123\x20\154\157\147\12\x9\114\105\106\124\x20\x4a\117\111\116\x20\142\x6f\x6f\x6d\137\165\163\x65\162\x73\x20\x4f\116\40\154\157\147\56\165\163\x65\162\137\151\144\x20\x3d\x20\142\x6f\157\155\x5f\x75\163\145\162\163\56\165\163\x65\x72\x5f\x69\144\xa\11\117\122\x44\105\x52\40\102\x59\40\x60\x70\x6f\x73\x74\x5f\x69\144\140\40\101\x53\103\12\x9"); $logs = $log->fetch_all(MYSQLI_ASSOC); return exportLogs($logs); } goto vB78t; uT6a0: function boomRank($rank) { global $data; if ($data["\x75\163\x65\x72\x5f\162\x61\x6e\x6b"] == $rank) { return true; } } goto lAugP; vTMgv: function maxGold() { return 25000; } goto SDJ1i; NuzbB: function sessionCleanup() { unset($_SESSION[BOOM_PREFIX . "\164\x6f\x6b\145\x6e"]); } goto UnZ8k; SIX6y: function settingDetails() { global $mysqli; $get_setting = $mysqli->query("\x53\x45\114\x45\103\124\40\x2a\40\x46\x52\117\115\x20\x62\157\x6f\x6d\137\163\x65\x74\164\x69\156\x67\x20\x57\110\105\x52\105\40\151\x64\40\x3d\40\x31"); $set = $get_setting->fetch_assoc(); return $set; } goto fI0cv; vzlNr: function convId($hunter, $target) { return $hunter . "\56" . $target; } goto Fm6iW; RjuPp: function canDeleteRoomLog() { global $setting; if (boomRole($setting["\x63\141\156\137\x72\154\x6f\x67\x73"])) { return true; } } goto hmsf2; j3d4F: function calHourUp($h) { return time() + $h * 3600; } goto hExwj; AXMqJ: function getCover($user) { if (userHaveCover($user)) { return "\x73\164\171\x6c\145\x3d\42\142\141\143\x6b\x67\162\x6f\165\x6e\x64\x2d\x69\x6d\141\147\x65\72\40\x75\162\x6c\50" . myCover($user["\x75\x73\x65\x72\x5f\143\x6f\166\x65\162"]) . "\51\x3b\x22"; } } goto kHwQd; jtAXu: function isMuted($user) { if ($user["\x75\163\x65\x72\137\155\165\164\145"] > time() || isRegmuted($user)) { return true; } } goto YEelb; oFPqI: function myTextColor($u) { return $u["\x62\x63\x63\157\x6c\x6f\162"] . "\40" . $u["\x62\143\142\157\x6c\x64"] . "\40" . $u["\142\x63\x66\x6f\156\x74"]; } goto aeDC5; UrWdV: function clearNotifyAction($id, $type) { global $mysqli; $mysqli->query("\104\105\x4c\x45\x54\x45\x20\x46\122\117\x4d\x20\142\x6f\157\x6d\x5f\156\157\164\151\146\x69\143\x61\x74\151\157\x6e\x20\127\x48\x45\x52\105\40\x6e\x6f\164\151\146\x69\x65\144\x20\x3d\40\47{$id}\47\40\x41\x4e\x44\40\x6e\157\164\151\x66\171\137\x73\157\x75\162\143\145\x20\x3d\40\x27{$type}\x27"); } goto ooIXb; x89Z0: function rubyIcon() { return "\x64\145\x66\141\165\x6c\164\137\151\155\141\147\145\163\x2f\151\x63\x6f\x6e\163\57\162\165\142\171\x2e\x73\166\147"; } goto ZNYrj; Kw4MG: function calHour($h) { return time() - $h * 3600; } goto g19gs; KLMvj: function myElement($id, $c) { if (mySelf($id)) { return $c; } } goto c_CfO; lAugP: function userBoomAllow($user, $val) { if ($user["\165\163\x65\162\137\x72\141\x6e\153"] >= $val) { return true; } } goto T72rm; Wp_Th: function delDelay() { return calDayUp(7); } goto wSGcn; KkPXu: function haveRole($role) { if ($role > 0) { return true; } } goto y1pEA; GdZpS: function checkRateLimit() { global $setting; if ($setting["\x75\x73\x65\x5f\x72\x61\x74\x65"] == 1) { if (isset($_SESSION[BOOM_PREFIX . "\146\x69\147\x6e\x6f\162\145"]) && $_SESSION[BOOM_PREFIX . "\x66\151\147\156\157\162\x65"] > time()) { return true; } if (!isset($_SESSION[BOOM_PREFIX . "\x66\x74\x69\155\145"]) || $_SESSION[BOOM_PREFIX . "\146\164\151\155\x65"] < time() - 20) { $_SESSION[BOOM_PREFIX . "\x66\x74\x69\x6d\x65"] = time(); $_SESSION[BOOM_PREFIX . "\x66\x63\x6f\165\x6e\164"] = 1; return false; } else { if ($_SESSION[BOOM_PREFIX . "\146\143\157\165\x6e\164"] >= $setting["\162\x61\164\145\x5f\154\151\x6d\151\164"]) { $_SESSION[BOOM_PREFIX . "\x66\x69\x67\x6e\157\162\x65"] = time() + 300; return true; } } $_SESSION[BOOM_PREFIX . "\x66\143\157\x75\156\164"]++; } } goto ujKdu; qyXgP: function isVisible($user) { if ($user["\x75\x73\145\162\137\163\x74\x61\164\x75\x73"] != 99) { return true; } } goto AilUy; yiHK_: function genKey() { return md5(rand(10000, 99999) . rand(10000, 99999)); } goto z4yad; qD8rF: function boomAllow($rank) { global $data; if ($data["\x75\163\145\162\137\x72\141\x6e\153"] >= $rank) { return true; } } goto uT6a0; LNNb7: function chatRank($user, $type = "\x63\150\141\164\x5f\162\141\156\153") { if (isBot($user)) { return; } return systemRank($user["\165\163\x65\x72\x5f\162\141\x6e\x6b"], $type); } goto VkbYw; rJV9d: function autoRoomStaff() { return true; } goto p0hn7; z4yad: function genCode() { return rand(111111, 999999); } goto rglg9; cp_CQ: function canReport() { global $setting; if (boomAllow($setting["\x61\x6c\154\157\167\137\162\145\160\x6f\x72\x74"])) { return true; } } goto gi2wn; bxWli: function calSecondUp($sec) { return time() + $sec; } goto DQsny; Zqbm0: function mainBlocked() { if (mainMuted() || checkFlood()) { return true; } } goto u_3_h; F24NP: function canDeletePrivate() { global $setting; if (boomAllow($setting["\141\x6c\154\x6f\167\137\x73\x63\157\156\x74\145\156\164"])) { return true; } } goto RjuPp; RWAnF: function countryFlag($country) { switch ($country) { case '': case "\132\x5a": return ''; default: return "\x73\x79\163\164\145\x6d\x2f\x6c\157\143\x61\x74\x69\x6f\x6e\x2f\x66\x6c\141\x67\x2f" . $country . "\56\160\156\x67"; } } goto GdZpS; hExwj: function calWeekUp($w) { return time() + 3600 * 24 * 7 * $w; } goto GXWUq; JhaOZ: function boomEncrypt($d, $encr) { return sha1(str_rot13($d . $encr)); } goto Jeo3O; M0dSr: function privDel() { if (canDeletePrivate()) { return 1; } else { return 0; } } goto vMWuu; V0m74: function roomDetails($id) { global $mysqli; $room = array(); if ($cache = redisGetObject("\x72\157\157\x6d\x3a" . $id)) { return $cache; } $get_room = $mysqli->query("\123\x45\x4c\105\103\x54\x20\x2a\40\106\122\117\115\40\x62\157\157\155\137\162\157\x6f\155\163\x20\127\110\x45\x52\105\40\x72\x6f\157\155\137\151\x64\x20\x3d\x20\47{$id}\x27"); if ($get_room->num_rows > 0) { $room = $get_room->fetch_assoc(); redisSetObject("\x72\x6f\x6f\155\72" . $id, $room); } return $room; } goto PglM1; ejCXd: function userRoomDetails($id, $room = '') { global $mysqli, $data; if (empty($room)) { $room = $data["\165\163\x65\162\x5f\162\x6f\157\155\151\x64"]; } $user = userDetails($id); if (!empty($user)) { $getuser = $mysqli->query("\12\x9\11\x9\123\105\x4c\105\103\124\xa\11\x9\x9\111\x46\116\125\114\114\x28\50\123\105\114\105\x43\124\x20\141\143\x74\x69\x6f\x6e\137\x6d\x75\164\145\144\x20\106\122\x4f\115\40\x62\157\157\x6d\x5f\x72\x6f\x6f\x6d\x5f\x61\143\164\151\x6f\x6e\40\x57\x48\x45\x52\105\x20\141\x63\164\151\x6f\156\137\x75\163\x65\x72\x20\x3d\40\x27{$id}\47\40\101\x4e\104\40\x61\x63\x74\x69\157\x6e\137\162\157\x6f\155\x20\x3d\40\47{$room}\x27\51\54\x20\60\51\x20\x61\163\40\x72\157\157\155\x5f\155\x75\164\x65\x64\x2c\xa\11\11\11\x49\106\116\125\114\x4c\x28\x28\x53\105\114\x45\103\x54\40\x61\143\164\x69\157\x6e\137\142\154\157\143\153\145\x64\x20\106\x52\x4f\115\40\142\x6f\157\x6d\137\x72\157\x6f\155\137\141\143\x74\x69\157\x6e\x20\127\x48\x45\122\x45\40\x61\143\x74\x69\157\x6e\x5f\165\163\145\162\40\x3d\x20\x27{$id}\47\40\x41\116\x44\40\141\143\x74\151\x6f\x6e\x5f\x72\x6f\x6f\x6d\40\75\40\x27{$room}\x27\51\x2c\x20\60\51\40\141\x73\40\x72\x6f\x6f\x6d\x5f\142\x6c\x6f\x63\x6b\x65\x64\54\12\11\x9\11\111\106\x4e\125\114\x4c\50\50\x53\105\114\x45\x43\124\x20\x72\x6f\x6f\x6d\137\x72\x61\156\x6b\40\x46\x52\x4f\115\40\x62\157\x6f\x6d\x5f\162\x6f\x6f\155\x5f\163\164\141\x66\x66\40\127\110\105\122\105\40\162\157\157\x6d\x5f\163\x74\141\146\146\x20\75\40\x27{$id}\47\x20\101\x4e\104\x20\162\x6f\x6f\x6d\137\151\144\x20\x3d\40\47{$room}\x27\51\x2c\x20\60\51\40\x61\x73\40\162\157\157\x6d\x5f\162\141\156\x6b\x69\x6e\x67\12\11\x9"); if ($getuser->num_rows > 0) { return array_merge($user, $getuser->fetch_assoc()); } } return array(); } goto TeRVF; zOeRI: function boomListNotify($list, $type, $custom = array()) { global $mysqli, $setting, $data; if (!empty($list)) { $values = ''; foreach ($list as $user) { $def = array("\x68\165\156\x74\x65\x72" => $setting["\163\x79\163\164\145\155\x5f\151\144"], "\162\x6f\x6f\155" => $data["\x75\163\145\x72\137\162\x6f\x6f\155\x69\x64"], "\x72\x61\156\x6b" => 0, "\x64\145\154\x61\x79" => 0, "\162\x65\141\163\x6f\156" => '', "\x73\x6f\165\x72\143\x65" => "\163\x79\163\164\145\155", "\163\157\x75\x72\x63\145\151\144" => 0, "\143\165\x73\164\157\x6d" => '', "\x63\165\163\x74\157\x6d\62" => '', "\151\x63\x6f\156" => '', "\x63\154\141\x73\163" => '', "\144\141\x74\141" => ''); $c = array_merge($def, $custom); $values .= "\x28\47{$c["\x68\165\x6e\164\145\x72"]}\x27\54\40\x27{$user}\x27\54\40\47{$type}\x27\54\x20\x27" . time() . "\x27\54\40\47{$c["\x73\x6f\165\162\143\x65"]}\47\54\x20\x27{$c["\163\x6f\x75\x72\143\x65\x69\144"]}\x27\x2c\40\47{$c["\162\x61\x6e\x6b"]}\x27\54\40\x27{$c["\144\x65\x6c\x61\171"]}\47\54\x20\47{$c["\x72\145\x61\x73\157\x6e"]}\x27\x2c\40\x27{$c["\143\x75\163\x74\x6f\x6d"]}\47\x2c\40\47{$c["\143\165\x73\164\157\155\x32"]}\47\x2c\x20\47{$c["\x69\143\157\x6e"]}\47\54\x20\x27{$c["\143\x6c\141\x73\163"]}\47\54\x20\47{$c["\144\x61\164\141"]}\47\51\x2c"; } $values = rtrim($values, "\x2c"); $mysqli->query("\111\x4e\x53\105\x52\124\x20\111\x4e\124\x4f\40\x62\x6f\157\155\x5f\156\x6f\x74\151\146\151\143\141\x74\151\x6f\156\x20\50\x20\156\x6f\164\151\146\151\145\162\54\x20\x6e\x6f\x74\x69\x66\151\x65\x64\x2c\40\x6e\x6f\164\151\x66\171\x5f\164\x79\160\145\x2c\40\156\x6f\164\151\x66\x79\137\x64\x61\x74\145\54\40\x6e\x6f\x74\151\146\x79\137\163\157\x75\x72\143\145\x2c\40\156\x6f\x74\151\146\171\137\151\x64\54\x20\x6e\x6f\x74\151\x66\171\137\x72\141\x6e\x6b\x2c\x20\156\157\x74\x69\x66\171\137\144\145\x6c\x61\x79\54\x20\x6e\157\x74\x69\146\171\137\x72\145\141\163\x6f\x6e\x2c\40\156\157\x74\x69\x66\x79\137\143\x75\x73\164\157\x6d\x2c\x20\x6e\157\x74\x69\x66\x79\137\x63\165\163\164\157\x6d\x32\x2c\40\156\157\x74\x69\146\171\x5f\x69\143\157\156\x2c\x20\x6e\157\x74\x69\146\171\x5f\x63\154\x61\163\x73\54\x20\156\x6f\164\x69\146\x79\x5f\x64\x61\164\x61\51\40\126\101\114\x55\105\123\x20{$values}"); updateListNotify($list); } } goto qXBFr; BC6s5: function canDeleteContent() { global $setting; if (boomAllow($setting["\143\x61\156\137\143\157\156\x74\x65\x6e\x74"])) { return true; } } goto cp_CQ; wSGcn: function getMinutes($t) { return $t / 60; } goto Za7v2; T72rm: function boomRole($role) { global $data; if ($data["\x75\x73\145\162\x5f\x72\157\154\x65"] >= $role) { return true; } } goto KkPXu; GI2ZD: function boomCode($code, $custom = array()) { $def = array("\143\157\x64\x65" => $code); $res = array_merge($def, $custom); return json_encode($res, JSON_UNESCAPED_UNICODE); } goto JKv32; kQgt0: function getNotification() { global $mysqli, $data; $rep = ''; if (canManageReport()) { $rep = "\50\123\x45\114\105\103\x54\40\x63\x6f\165\x6e\x74\50\x2a\51\x20\106\122\x4f\115\40\142\157\157\155\137\162\145\160\x6f\162\x74\51\40\141\x73\x20\162\x65\160\157\162\x74\x5f\143\x6f\x75\156\x74\54"; } $get_notify = $mysqli->query("\123\105\x4c\105\103\124\12\x9\50\123\x45\x4c\105\103\x54\x20\x63\157\165\156\x74\50\x2a\x29\x20\x46\x52\x4f\115\40\142\x6f\157\x6d\137\146\x72\x69\145\x6e\x64\x73\40\x57\x48\x45\x52\x45\x20\x74\141\162\147\145\x74\40\75\x20\47{$data["\x75\x73\145\162\x5f\x69\x64"]}\47\40\x41\x4e\x44\40\146\x73\164\x61\x74\165\163\x20\x3d\40\47\62\x27\40\x41\x4e\104\x20\x76\151\145\x77\x65\x64\x20\x3d\40\x27\x30\47\51\40\141\163\x20\x66\x72\x69\x65\156\144\137\x63\x6f\x75\x6e\164\54\xa\11\50\x53\105\114\105\103\124\x20\143\x6f\165\156\164\50\x2a\51\40\106\122\x4f\115\40\142\157\157\x6d\137\156\157\164\151\x66\x69\143\x61\164\x69\157\x6e\40\127\110\105\122\x45\40\156\x6f\x74\151\x66\x69\145\144\40\75\x20\x27{$data["\165\x73\x65\x72\137\x69\x64"]}\x27\40\101\116\104\x20\156\x6f\x74\x69\146\x79\137\x76\x69\x65\167\x20\75\x20\x27\x30\x27\x29\x20\141\163\x20\156\x6f\164\x69\146\x79\x5f\143\157\x75\x6e\x74\x2c\40{$rep}\xa\11\x28\x53\105\114\x45\x43\x54\40\143\x6f\165\156\x74\50\52\51\x20\x46\x52\x4f\115\40\142\157\157\155\137\x6e\145\x77\163\x20\127\x48\x45\122\105\x20\x6e\145\x77\x73\137\144\141\x74\145\x20\x3e\x20\47{$data["\165\163\145\x72\x5f\156\x65\167\163"]}\x27\51\x20\x61\163\x20\156\145\167\163\x5f\x63\157\x75\x6e\x74\12\x9"); $fetch = $get_notify->fetch_assoc(); if (!canManageReport()) { $fetch["\162\145\x70\157\162\164\x5f\143\x6f\x75\x6e\164"] = 0; } return array("\146\162\x69\145\x6e\144\x73" => (int) $fetch["\146\162\x69\x65\x6e\x64\137\x63\x6f\x75\x6e\164"], "\156\157\164\151\x66\171" => (int) $fetch["\x6e\x6f\x74\x69\146\x79\137\x63\x6f\165\x6e\164"], "\156\145\x77\163" => (int) $fetch["\x6e\x65\167\163\x5f\143\157\165\x6e\164"], "\162\x65\160\x6f\x72\164" => (int) $fetch["\162\x65\x70\x6f\162\164\137\x63\x6f\x75\x6e\x74"], "\x6e\156\x6f\164\x69\x66" => (int) $data["\x6e\141\x63\x74\151\157\156"]); } goto GQG94; o2qGd: function banLog($user) { global $data, $lang; if (useLogs(3) && userInRoom($user)) { $hunter = systemNameFilter($data); $target = systemNameFilter($user); $content = str_replace(array("\45\150\x75\156\164\x65\x72\x25", "\45\164\141\x72\x67\x65\164\x25"), array($hunter, $target), $lang["\163\x79\163\x5f\x62\141\156"]); $html = "\x3c\x64\151\x76\40\143\x6c\141\163\163\x3d\x22\x73\171\x73\x2d\154\157\x67\40\x73\171\x73\55\154\x6f\147\x2d\x2d\142\141\156\42\x3e\x3c\x69\40\143\154\141\163\x73\75\x22\x66\141\x20\146\141\x2d\x62\141\156\x20\x73\171\x73\x2d\154\x6f\147\137\x5f\x69\x63\157\156\42\x3e\x3c\x2f\151\76\74\142\40\x63\154\141\x73\163\75\x22\163\171\163\x2d\154\x6f\147\x5f\137\x74\x65\170\x74\x22\76" . $content . "\x3c\57\142\76\74\x2f\144\x69\x76\x3e"; systemPostChat($user["\165\x73\x65\162\137\162\x6f\x6f\155\x69\x64"], $html, array("\164\x79\160\145" => "\x73\x79\x73\x74\145\155\137\137\141\x63\164\x69\x6f\x6e")); } } goto NfFZy; kHwQd: function coverClass($user) { if (userHaveCover($user)) { return "\143\157\x76\145\162\x5f\x73\151\x7a\145"; } } goto LfhiO; YaWz0: function getIcon($icon, $c) { return "\x3c\x69\x6d\147\x20\143\154\141\x73\163\75\x22" . $c . "\x22\x20\x73\x72\143\x3d\42\x64\x65\146\141\165\x6c\164\x5f\x69\155\141\147\x65\163\x2f\x69\143\157\156\x73\57" . $icon . boomFileVersion() . "\x22\57\x3e"; } goto GI2ZD; B7uMo: function isBot($user) { if ($user["\x75\163\x65\x72\x5f\x62\157\164"] > 0) { return true; } } goto EIDnT; b9XF3: function genderList() { return array(1, 2, 3); } goto iaxms; lNnGX: function reportDetails($id) { global $mysqli; $rep = array(); $get_report = $mysqli->query("\123\105\114\x45\103\124\40\52\40\x46\x52\x4f\x4d\40\x62\x6f\x6f\155\x5f\162\x65\x70\x6f\162\164\x20\x57\x48\105\122\x45\x20\x72\145\160\x6f\x72\164\x5f\151\x64\40\75\40\x27{$id}\47"); if ($get_report->num_rows > 0) { $rep = $get_report->fetch_assoc(); } return $rep; } goto ErxAM; SwNqy: function spamText() { return "\x3c\x64\x69\166\40\143\154\x61\163\x73\x3d\x22\163\171\x73\x74\145\x6d\x5f\x74\x65\x78\164\x22\x3e\45\163\x70\141\155\45\x3c\x2f\x64\151\166\76"; } goto jxSjR; U2_h7: function quoteDetails($id) { global $mysqli; $log = array(); if ($cache = redisGetObject("\x71\165\x6f\164\x65\72" . $id)) { return $cache; } $get_log = $mysqli->query("\xa\x9\x9\x53\105\x4c\105\103\x54\x20\xa\x9\11\142\x6f\x6f\155\x5f\x63\x68\x61\x74\x2e\160\157\x73\x74\137\151\144\54\x20\x62\157\157\x6d\x5f\143\150\141\164\56\x70\x6f\163\164\x5f\x72\x6f\x6f\x6d\151\144\54\x20\x62\x6f\157\x6d\x5f\143\150\x61\164\56\x75\163\145\162\137\151\144\x2c\x20\x62\157\x6f\x6d\x5f\143\x68\x61\164\56\160\157\x73\x74\137\155\145\163\x73\x61\147\x65\54\40\x62\x6f\x6f\155\x5f\x63\150\141\164\56\x70\147\150\157\163\164\54\12\11\x9\142\157\x6f\x6d\137\165\x73\145\x72\163\x2e\165\x73\145\162\x5f\x6e\x61\x6d\x65\x2c\x20\x62\x6f\157\155\x5f\x75\163\145\162\163\56\x75\x73\145\x72\x5f\x74\x75\155\142\54\x20\142\157\157\155\x5f\x75\x73\x65\x72\x73\x2e\x75\x73\x65\162\137\142\x6f\164\12\x9\11\106\122\117\x4d\40\142\157\x6f\155\137\143\x68\141\164\54\x20\142\x6f\x6f\x6d\137\165\x73\145\x72\x73\12\x9\11\x57\x48\105\122\105\40\x62\157\157\x6d\137\x63\150\x61\164\x2e\x70\157\163\x74\x5f\x69\x64\x20\x3d\40\x27{$id}\47\40\x41\x4e\104\x20\142\x6f\157\x6d\137\x75\163\145\x72\163\56\165\x73\145\x72\x5f\x69\x64\x20\x3d\x20\142\157\x6f\x6d\x5f\x63\x68\x61\164\56\165\163\145\x72\137\151\x64\12\x9"); if ($get_log->num_rows > 0) { $log = $get_log->fetch_assoc(); redisSetObject("\x71\x75\x6f\x74\145\72" . $id, $log, 30); } return $log; } goto ScA5u; PglM1: function playerDetails($id) { global $mysqli, $setting; $player["\163\164\x72\145\x61\x6d\x5f\x75\x72\154"] = ''; $player["\163\164\162\145\141\x6d\137\164\151\x74\154\x65"] = ''; if (usePlayer()) { if ($id == 0) { $id = $setting["\x70\154\141\x79\145\x72\x5f\151\144"]; } if ($cache = redisGetObject("\x70\x6c\141\x79\x65\162\72" . $id)) { return $cache; } $get_player = $mysqli->query("\x53\105\114\105\103\x54\40\x2a\40\x46\x52\117\x4d\x20\x62\x6f\157\155\137\162\141\144\x69\157\137\163\x74\162\145\x61\x6d\x20\127\x48\105\122\x45\40\x69\x64\x20\75\x20\47{$id}\x27"); if ($get_player->num_rows > 0) { $player = $get_player->fetch_assoc(); redisSetObject("\160\x6c\x61\171\145\x72\72" . $id, $player); } } return $player; } goto SIX6y; u_3_h: function privateBlocked() { if (privateMuted() || checkFlood()) { return true; } } goto Hocdr; tkfCa: function isWordProof() { global $setting; if (boomAllow($setting["\167\x6f\162\144\137\160\x72\157\x6f\146"])) { return true; } } goto axSgg; YIuT7: function walletIcon($type) { switch ($type) { case 1: return goldIcon(); case 2: return rubyIcon(); default: return goldIcon(); } } goto glLMB; m15V9: function useGift() { global $setting; if (!useWallet()) { return false; } if ($setting["\x75\163\x65\x5f\x67\151\146\x74"] > 0) { return true; } } goto AUosH; B6K5h: function delExpired($d) { if ($d < calSecond(20)) { return true; } } goto OrQUW; gi2wn: function canManageReport() { if (boomAllow(70)) { return true; } } goto F24NP; vwgvm: function usePrivateQuote() { global $setting; if ($setting["\x61\154\154\157\x77\x5f\160\161\165\x6f\x74\145"] < 999) { return true; } } goto J9Lx7; CHGIr: function featureCost($a, $t) { return $a . "\40" . walletTitle($t); } goto xay2n; UDoIj: function systemNameFilter($user) { return "\x3c\x73\160\141\x6e\x20\x6f\156\x63\x6c\151\x63\153\x3d\42\147\145\164\120\x72\157\x66\x69\x6c\145\x28" . $user["\165\x73\145\x72\x5f\151\144"] . "\51\42\x3b\40\x63\154\x61\163\163\x3d\42\x73\x79\163\156\141\x6d\x65\40\x62\143\154\x69\x63\153\x22\x3e" . $user["\x75\x73\145\162\137\156\x61\155\x65"] . "\x3c\57\163\x70\141\156\76"; } goto h0_z_; AilUy: function isSecure($user) { if (isEmail($user["\165\x73\145\x72\137\x65\155\141\x69\x6c"])) { return true; } } goto pw2UE; XOWRK: function userTime($user) { $d = new DateTime(date("\x64\x20\106\40\x59\40\110\72\x69\x3a\163", time())); $d->setTimezone(new DateTimeZone($user["\x75\163\x65\x72\x5f\x74\151\x6d\x65\x7a\x6f\x6e\145"])); $r = $d->format("\107\x3a\151"); return $r; } goto syafV; EpL6D: function allowGuest() { global $setting; if ($setting["\141\x6c\x6c\157\x77\x5f\147\x75\145\x73\164"] == 1) { return true; } } goto UrWdV; Ncic9: function userNameDetails($name) { global $mysqli; $user = array(); $getuser = $mysqli->query("\x53\x45\114\x45\x43\124\40\52\40\x46\122\117\115\40\x62\x6f\157\155\137\x75\163\x65\162\163\x20\x57\110\105\122\x45\x20\165\x73\145\x72\x5f\156\141\155\x65\x20\x3d\40\x27{$name}\x27"); if ($getuser->num_rows > 0) { $user = $getuser->fetch_assoc(); } return $user; } goto ejCXd; RcnHG: function userDetails($id) { global $mysqli; $user = array(); if ($cache = redisGetObject("\x75\163\145\x72\72" . $id)) { return $cache; } $getuser = $mysqli->query("\123\x45\x4c\105\x43\124\40\x2a\x20\x46\x52\x4f\115\40\x62\157\157\x6d\x5f\x75\163\145\x72\163\x20\127\110\105\x52\x45\40\165\163\145\162\x5f\x69\x64\x20\75\x20\x27{$id}\47"); if ($getuser->num_rows > 0) { $user = $getuser->fetch_assoc(); redisSetObject("\165\163\145\x72\72" . $id, $user); } return $user; } goto Qojh5; X891i: function longDateTime($date) { return date("\131\55\x6d\55\144\40\107\x3a\x69\40", $date); } goto XOWRK; X5l39: function validGender($sex) { $gender = genderList(); if (in_array($sex, $gender)) { return true; } } goto qisB_; c433F: function canShareWallet($user) { global $setting; if (!useWallet() || isBot($user) || ignored($user) || ignoring($user)) { return false; } if (boomAllow($setting["\x63\141\x6e\x5f\163\167\141\154\154\x65\164"])) { return true; } } goto YIuT7; wFbL4: function uGender($user) { if (userShareGender($user)) { return $user["\165\x73\145\x72\137\163\x65\170"]; } return 0; } goto LZRHX; LYgWK: function mySelf($id) { global $data; if ($id == $data["\165\163\x65\x72\x5f\151\144"]) { return true; } } goto B7uMo; nkWdQ: function textReplace($text) { global $data; $text = str_replace("\x25\x75\163\145\162\x25", $data["\165\x73\x65\x72\137\x6e\141\155\x65"], $text); return $text; } goto lMTbc; TeRVF: function userRelationDetails($id) { global $mysqli, $data; $user = userDetails($id); if (!empty($user)) { $getuser = $mysqli->query("\12\x9\x9\11\x53\105\114\x45\x43\x54\xa\x9\x9\11\111\106\x4e\125\x4c\x4c\x28\x28\x53\105\x4c\105\x43\x54\40\x66\163\164\x61\164\x75\163\x20\x46\122\x4f\115\40\x62\x6f\157\x6d\137\x66\x72\x69\x65\156\x64\x73\x20\x57\110\105\x52\x45\x20\150\x75\x6e\x74\x65\162\x20\x3d\40\47{$data["\165\163\x65\162\x5f\x69\144"]}\x27\40\101\x4e\104\40\x74\141\162\x67\x65\x74\x20\x3d\40\47{$id}\x27\51\54\x20\60\51\x20\141\x73\40\x66\162\x69\x65\156\x64\x73\150\151\160\54\xa\11\11\11\x28\123\x45\x4c\105\x43\124\x20\x63\157\x75\x6e\x74\50\x69\x67\x6e\157\162\x65\x5f\x69\x64\51\40\x46\122\117\x4d\40\x62\157\157\155\137\x69\147\x6e\x6f\x72\x65\40\127\x48\105\x52\105\x20\151\147\x6e\x6f\162\145\x72\40\75\40\x27{$id}\x27\x20\x41\x4e\x44\x20\x69\147\156\157\x72\x65\x64\40\75\40\47{$data["\x75\x73\145\162\x5f\x69\x64"]}\x27\40\x29\x20\x61\x73\x20\x69\147\x6e\x6f\x72\145\144\x2c\xa\x9\11\11\x28\x53\x45\x4c\105\x43\124\x20\x63\157\x75\x6e\x74\x28\x69\x67\x6e\x6f\x72\145\x5f\151\x64\x29\40\106\x52\117\x4d\40\x62\157\157\155\137\x69\147\x6e\157\x72\x65\40\127\110\x45\x52\x45\40\151\147\156\x6f\x72\x65\x72\x20\x3d\40\47{$data["\165\163\x65\x72\137\x69\144"]}\47\x20\x41\x4e\x44\40\x69\x67\x6e\x6f\162\145\144\x20\75\x20\x27{$id}\47\51\40\141\x73\x20\x69\147\x6e\x6f\x72\x69\156\147\12\x9\x9"); if ($getuser->num_rows > 0) { return array_merge($user, $getuser->fetch_assoc()); } } return array(); } goto Mu0be; Mu0be: function userFullDetails($id, $room = '') { global $mysqli, $data; if ($room == '') { $room = $data["\x75\x73\x65\162\x5f\x72\157\157\x6d\151\144"]; } $user = userDetails($id); if (!empty($user)) { $getuser = $mysqli->query("\12\11\11\x9\x53\x45\114\105\103\x54\xa\x9\x9\x9\x49\106\116\x55\114\x4c\50\x28\x53\105\x4c\x45\x43\124\x20\146\163\164\141\x74\x75\x73\40\106\x52\117\x4d\40\142\157\157\x6d\x5f\146\x72\x69\x65\156\144\x73\40\x57\110\x45\122\x45\40\x68\x75\156\164\145\x72\x20\x3d\40\47{$data["\165\163\145\162\137\151\144"]}\x27\40\101\x4e\x44\x20\164\x61\162\x67\145\164\40\x3d\x20\47{$id}\47\51\x2c\x20\x30\x29\x20\141\x73\40\146\x72\151\x65\x6e\x64\x73\150\x69\160\x2c\12\x9\11\x9\50\123\105\114\105\103\124\40\143\x6f\165\156\x74\x28\151\147\156\x6f\162\145\x5f\x69\x64\x29\x20\106\122\117\x4d\40\x62\157\157\155\137\151\x67\156\x6f\x72\x65\x20\127\x48\x45\122\105\40\x69\x67\x6e\x6f\x72\145\162\40\75\x20\x27{$id}\47\40\x41\116\x44\40\x69\147\x6e\157\162\x65\x64\x20\x3d\x20\47{$data["\165\163\145\162\137\x69\144"]}\47\40\51\40\141\x73\x20\151\x67\156\x6f\162\x65\x64\x2c\xa\11\x9\x9\x28\123\105\114\x45\103\124\40\143\x6f\x75\156\164\x28\151\147\156\157\162\x65\x5f\x69\x64\x29\x20\x46\122\x4f\115\x20\142\x6f\157\x6d\x5f\x69\x67\156\x6f\x72\x65\40\127\x48\x45\122\105\x20\x69\x67\156\x6f\x72\145\162\x20\75\40\47{$data["\x75\x73\x65\x72\x5f\x69\x64"]}\x27\40\101\116\104\x20\151\147\156\x6f\x72\x65\144\40\x3d\x20\47{$id}\x27\x29\40\x61\163\x20\151\x67\x6e\157\x72\151\x6e\147\x2c\xa\11\11\x9\x49\x46\116\125\114\114\x28\50\x53\105\114\x45\x43\124\40\x61\143\164\151\x6f\x6e\x5f\x6d\x75\164\x65\x64\40\x46\122\117\x4d\x20\x62\157\x6f\155\137\x72\x6f\157\x6d\137\141\x63\x74\x69\x6f\x6e\x20\x57\x48\105\x52\x45\40\141\x63\x74\x69\157\x6e\x5f\x75\163\145\x72\40\75\40\x27{$id}\x27\x20\x41\x4e\x44\x20\x61\x63\x74\x69\x6f\x6e\x5f\162\x6f\157\155\x20\75\x20\x27{$room}\47\x29\x2c\x20\60\x29\x20\x61\x73\x20\x72\157\x6f\155\137\155\x75\x74\x65\x64\x2c\xa\11\x9\11\111\106\116\125\x4c\114\50\x28\x53\105\114\105\103\124\40\x61\x63\x74\151\x6f\156\137\x62\154\157\143\153\145\x64\x20\106\x52\117\x4d\40\x62\157\x6f\x6d\x5f\x72\157\x6f\155\137\141\x63\x74\151\x6f\156\40\127\110\x45\x52\x45\40\x61\143\164\x69\157\x6e\x5f\165\x73\x65\162\x20\75\40\47{$id}\47\40\x41\116\104\x20\141\x63\164\151\157\156\x5f\162\x6f\157\x6d\x20\75\x20\47{$room}\47\51\x2c\x20\60\x29\40\x61\x73\40\162\157\x6f\155\137\x62\154\157\x63\x6b\145\144\54\12\11\x9\11\111\x46\116\x55\114\x4c\x28\50\123\105\114\105\x43\124\40\162\x6f\157\155\x5f\x72\141\x6e\x6b\x20\106\122\x4f\115\x20\142\157\x6f\x6d\137\162\x6f\157\155\137\x73\x74\x61\146\x66\x20\127\110\105\x52\x45\x20\162\x6f\x6f\x6d\137\163\164\141\146\x66\x20\x3d\40\47{$id}\47\x20\101\x4e\104\x20\x72\x6f\157\155\137\151\x64\x20\75\x20\47{$room}\47\x29\54\x20\x30\51\40\x61\x73\x20\162\157\157\x6d\137\x72\x61\x6e\x6b\151\156\x67\12\11\x9"); if ($getuser->num_rows > 0) { return array_merge($user, $getuser->fetch_assoc()); } } return array(); } goto u0llH; SqCf1: function isStaffRank($rank) { if ($rank >= 70) { return true; } } goto yiHK_; ocGeG: function canDeleteSelfLog($p) { global $setting, $data; if ($p["\x75\163\145\x72\137\151\x64"] == $data["\x75\x73\145\162\137\x69\x64"] && boomAllow($setting["\x61\154\154\157\x77\137\163\143\157\156\164\x65\x6e\x74"])) { return true; } } goto BC6s5; mFthL: function minCall() { global $setting; return min($setting["\x63\141\156\x5f\x76\x63\x61\154\154"], $setting["\143\141\156\x5f\141\143\141\x6c\154"]); } goto nkRBx; jxSjR: function zalgoText() { return "\x3c\x64\151\x76\40\x63\x6c\x61\163\163\x3d\x22\163\171\163\x74\x65\155\x5f\x74\145\x78\x74\x22\76\52\x2a\x2a\52\74\57\144\151\x76\x3e"; } goto M0dSr; oBjgi: function isGhosted($user) { if ($user["\x75\163\x65\x72\x5f\x67\x68\157\x73\164"] > time()) { return true; } } goto ueCLR; DEsL0: function processUserData($t) { global $data; return str_replace(array("\x25\x75\163\x65\x72\45"), array($data["\165\x73\145\x72\137\x6e\x61\x6d\x65"]), $t); } goto rJV9d; q246b: function myAvatar($a) { if (defaultAvatar($a)) { return "\x64\x65\146\141\165\x6c\x74\137\x69\155\x61\147\x65\163\x2f\x61\166\141\x74\x61\162\57" . $a; } return BOOM_DOMAIN . "\141\x76\x61\x74\141\162\57" . $a; } goto J7PUx; CpuYN: function calmonth($m) { return time() - 3600 * 24 * 30 * $m; } goto FExxO; pByiS: function calMinutesUp($min) { return time() + $min * 60; } goto bxWli; HPooz: function myColorFont($u) { return $u["\165\163\145\x72\x5f\143\x6f\x6c\157\162"] . "\40" . $u["\x75\x73\145\x72\137\x66\157\x6e\x74"]; } goto oFPqI; NfFZy: function muteLog($user) { global $data, $lang; if (useLogs(3) && userInRoom($user)) { $hunter = systemNameFilter($data); $target = systemNameFilter($user); $content = str_replace(array("\45\x68\165\156\x74\x65\162\x25", "\45\x74\x61\162\147\x65\x74\45"), array($hunter, $target), $lang["\163\x79\163\x5f\155\x75\x74\145"]); $html = "\74\x64\151\166\40\x63\x6c\141\163\163\75\42\163\171\x73\55\x6c\157\147\x20\x73\x79\163\55\x6c\157\x67\x2d\x2d\155\165\x74\145\42\76\74\x69\x20\x63\154\x61\x73\x73\75\42\x66\x61\x20\146\141\x2d\x76\157\x6c\x75\x6d\145\55\x6d\165\164\145\x20\163\171\x73\55\x6c\x6f\147\x5f\137\151\143\157\156\42\x3e\x3c\x2f\x69\76\74\x62\x20\x63\x6c\141\x73\163\x3d\42\x73\171\163\55\154\x6f\147\137\x5f\164\x65\x78\164\x22\76" . $content . "\x3c\57\142\x3e\x3c\57\x64\x69\166\76"; systemPostChat($user["\165\x73\x65\x72\x5f\162\x6f\x6f\x6d\x69\144"], $html, array("\x74\171\160\145" => "\x73\x79\x73\164\x65\155\x5f\x5f\141\x63\x74\151\x6f\x6e")); } } goto PNyl0; tZExK: function roomRank($rank, $type) { if ($rank > 0) { return "\x3c\x69\155\x67\x20\x73\x72\x63\x3d\x22\x64\x65\x66\x61\x75\154\164\x5f\x69\155\141\x67\x65\x73\x2f\x72\x61\x6e\x6b\57" . roomRankIcon($rank) . "\42\40\144\x61\x74\x61\55\162\x3d\42" . $rank . "\42\40\143\x6c\141\163\163\x3d\42" . $type . "\42\x2f\76"; } } goto LNNb7; eqxF_: function getIp() { $client = @$_SERVER["\x48\124\x54\x50\137\x43\x4c\111\105\x4e\124\x5f\111\x50"]; $forward = @$_SERVER["\110\124\x54\x50\x5f\x58\137\106\x4f\x52\127\x41\x52\x44\105\104\x5f\x46\117\122"]; $cloud = @$_SERVER["\110\124\124\x50\137\x43\106\x5f\x43\117\116\116\105\x43\124\x49\116\107\137\111\120"]; $remote = $_SERVER["\122\x45\x4d\117\124\x45\x5f\101\104\104\x52"]; if (filter_var($cloud, FILTER_VALIDATE_IP)) { $ip = $cloud; } else { if (filter_var($client, FILTER_VALIDATE_IP)) { $ip = $client; } elseif (filter_var($forward, FILTER_VALIDATE_IP)) { $ip = $forward; } else { $ip = $remote; } } return escape($ip); } goto OkxsY; pJtRJ: function checkToken() { if (!isset($_COOKIE[BOOM_PREFIX . "\x75\x73\x65\x72\151\144"], $_COOKIE[BOOM_PREFIX . "\165\164\x6b"], $_COOKIE[BOOM_PREFIX . "\163\163\x69\x64"])) { return false; } if (!isset($_POST["\164\157\153\x65\156"], $_SESSION[BOOM_PREFIX . "\164\x6f\x6b\x65\x6e"])) { return false; } if (empty($_SESSION[BOOM_PREFIX . "\x74\157\x6b\145\156"])) { return false; } if ($_POST["\x74\157\x6b\x65\x6e"] == $_SESSION[BOOM_PREFIX . "\x74\x6f\153\x65\156"]) { return true; } } goto I2Ugw; dXjwF: function getChatHistory($room) { global $mysqli, $data; $history = 20; $add = ''; if (!isGhosted($data) && !canViewGhost()) { $add = "\101\116\104\x20\x70\147\x68\x6f\x73\164\x20\x3d\x20\60"; } $log = $mysqli->query("\12\11\x53\105\x4c\x45\103\124\x20\154\157\x67\x2e\x2a\x2c\12\x9\142\157\157\155\x5f\x75\163\x65\162\163\56\165\x73\x65\162\137\x6e\141\155\x65\54\40\142\157\x6f\155\x5f\x75\163\x65\x72\x73\56\x75\163\x65\162\137\143\x6f\154\x6f\162\54\40\x62\x6f\x6f\x6d\x5f\165\x73\x65\x72\x73\x2e\x75\163\x65\162\137\x66\157\156\164\54\x20\x62\157\157\155\137\165\163\145\162\x73\56\165\163\145\x72\x5f\162\x61\156\x6b\x2c\40\x62\157\157\x6d\137\165\x73\x65\x72\x73\56\x75\x73\x65\162\x5f\154\x65\x76\145\154\x2c\x20\142\157\157\155\137\x75\163\x65\162\163\x2e\x62\143\x63\x6f\x6c\x6f\x72\x2c\x20\x62\157\x6f\x6d\x5f\165\x73\x65\162\x73\56\x75\x73\x65\x72\137\163\145\170\54\x20\142\157\x6f\155\x5f\x75\x73\145\x72\x73\x2e\x75\x73\x65\x72\137\141\x67\145\x2c\40\142\x6f\157\x6d\137\x75\163\145\x72\x73\x2e\x75\x73\145\162\137\x74\x75\x6d\x62\x2c\xa\x9\142\157\x6f\x6d\x5f\165\163\x65\x72\x73\x2e\x75\x73\145\162\x5f\x63\157\x76\145\162\x2c\x20\142\x6f\x6f\155\x5f\165\163\x65\162\163\56\143\157\x75\156\x74\162\171\54\x20\142\157\157\155\137\165\x73\145\162\163\x2e\165\163\x65\x72\x5f\142\157\164\x2c\x20\x62\x6f\x6f\155\x5f\x75\x73\x65\x72\x73\x2e\x61\x73\150\141\162\145\54\40\x62\157\x6f\155\x5f\165\163\x65\162\x73\56\163\163\150\x61\x72\x65\54\40\142\157\157\155\x5f\x75\x73\145\x72\163\x2e\x6c\163\x68\141\x72\145\12\x9\106\x52\117\x4d\40\50\x20\123\105\114\x45\x43\124\40\x2a\x20\106\x52\x4f\115\x20\x60\x62\157\x6f\x6d\x5f\x63\x68\141\164\140\x20\127\x48\x45\122\105\40\140\160\157\163\164\137\162\x6f\157\155\x69\x64\x60\x20\75\40\x27{$room}\47\x20{$add}\40\x4f\122\104\x45\122\x20\x42\131\40\x60\x70\157\163\164\137\151\x64\140\40\104\105\123\103\x20\x4c\111\115\111\x54\40{$history}\x29\x20\x41\x53\x20\154\x6f\147\xa\11\114\105\106\124\40\x4a\x4f\111\x4e\x20\142\157\157\x6d\x5f\165\163\145\x72\x73\x20\x4f\116\x20\x6c\x6f\x67\x2e\165\x73\x65\162\137\151\144\40\x3d\40\x62\157\157\155\137\x75\x73\145\x72\x73\56\x75\x73\145\x72\137\x69\x64\12\x9\x4f\122\x44\105\x52\40\x42\131\x20\140\x70\157\163\x74\137\x69\x64\140\40\x41\123\x43\xa\x9"); $logs = $log->fetch_all(MYSQLI_ASSOC); return exportLogs($logs); } goto MkwXO; NxTar: function canRubyReward() { global $setting, $data; if ($setting["\x72\165\142\x79\x5f\x62\x61\x73\x65"] > 0 && boomAllow($setting["\143\141\x6e\137\x72\x75\x62\x79"]) && $data["\154\141\163\164\137\x72\x75\x62\x79"] <= calMinutes($setting["\162\165\142\171\x5f\144\x65\154\141\171"])) { return true; } } goto PH3fu; WFHjN: function kickLog($user) { global $data, $lang; if (useLogs(3) && userInRoom($user)) { $hunter = systemNameFilter($data); $target = systemNameFilter($user); $content = str_replace(array("\45\150\x75\156\164\145\162\45", "\x25\x74\x61\162\147\145\164\x25"), array($hunter, $target), $lang["\x73\171\x73\x5f\x6b\x69\x63\153"]); $html = "\x3c\144\151\166\40\143\x6c\x61\x73\x73\x3d\42\163\x79\x73\x2d\x6c\157\x67\40\x73\x79\163\55\x6c\157\x67\55\55\153\151\x63\153\x22\76\x3c\151\x20\x63\154\x61\163\163\x3d\x22\x66\x61\40\146\141\55\164\151\155\145\163\55\x63\151\162\143\154\145\x20\163\x79\x73\55\154\157\x67\x5f\x5f\151\x63\157\156\x22\x3e\74\57\151\x3e\x3c\x62\40\x63\x6c\141\163\x73\x3d\42\x73\x79\163\55\154\x6f\147\x5f\x5f\x74\145\170\164\42\x3e" . $content . "\74\57\142\x3e\x3c\57\x64\151\166\x3e"; systemPostChat($user["\x75\x73\x65\x72\x5f\x72\157\157\x6d\x69\144"], $html, array("\164\171\160\x65" => "\x73\171\163\164\x65\155\x5f\137\141\x63\x74\x69\x6f\x6e")); } } goto o2qGd; DFt9W: function costTag($type, $amount, $class = '') { $tg = array("\151\143\x6f\x6e" => walletIcon($type), "\x61\155\x6f\x75\156\164" => $amount, "\x63\x6c\141\x73\x73" => $class); return boomTemplate("\x65\154\x65\155\145\156\x74\57\143\x6f\163\164\x5f\x74\x61\x67", $tg); } goto SZtGz; GQG94: function createRoomData($room) { global $data; if (empty($room)) { return array(); } return array("\x72\157\x6f\155\137\x69\x64" => (int) $room["\162\157\157\x6d\137\x69\x64"], "\162\157\157\155\137\x6e\141\x6d\145" => $room["\162\x6f\x6f\x6d\137\x6e\141\155\x65"], "\x72\157\157\x6d\x5f\151\x63\157\156" => myRoomIcon($room["\162\157\x6f\x6d\x5f\151\143\x6f\x6e"]), "\x72\157\x6f\155\137\164\157\x70\151\x63" => getTopic($room), "\162\157\157\155\137\x61\143\x74\151\157\156" => (int) $room["\x72\x63\x61\143\164\x69\157\156"], "\x72\x6f\x6f\155\137\162\157\x6c\x65" => (int) $data["\x75\x73\145\x72\137\x72\157\154\145"], "\x72\x6f\x6f\155\137\x6c\157\x67\x73" => getChatHistory($room["\x72\157\x6f\155\x5f\151\144"])); } goto cbTet; SZtGz: function giftImage($i) { return "\x67\x69\x66\x74\57" . $i; } goto m15V9; syafV: function useLogs($val) { global $setting; if (preg_match("\100\x5b" . $val . "\135\x40\x69", $setting["\x75\x73\x65\x5f\154\x6f\x67\163"])) { return true; } } goto qD8rF; gmiZl: function processChatMessage($post) { global $data; $post["\x70\157\x73\164\137\155\x65\x73\163\x61\147\x65"] = "\x20" . $post["\160\x6f\x73\x74\137\155\145\163\163\x61\x67\145"] . "\x20"; if ($post["\165\x73\x65\x72\x5f\151\144"] != $data["\x75\x73\x65\x72\137\x69\144"]) { $post["\160\157\x73\164\x5f\x6d\x65\x73\x73\x61\x67\145"] = str_ireplace("\x20" . $data["\x75\x73\145\x72\x5f\156\x61\x6d\145"] . "\40", "\x20\74\163\160\x61\156\x20\143\154\141\163\163\75\42\155\171\137\x6e\x6f\164\151\x63\145\x22\x3e" . $data["\165\x73\x65\x72\x5f\x6e\x61\155\145"] . "\x3c\x2f\163\160\141\x6e\76\40", $post["\160\x6f\x73\164\x5f\x6d\x65\x73\x73\x61\147\145"]); } return mb_convert_encoding(systemReplace($post["\x70\x6f\x73\164\x5f\155\145\163\163\x61\147\145"]), "\x55\124\x46\x2d\70", "\141\x75\164\157"); } goto vIa0E; LZRHX: function uAge($user) { if (userShareAge($user)) { return $user["\165\163\145\x72\137\x61\x67\145"]; } return 0; } goto fyKSJ; OCz8h: function jsonRoomRankIcon() { $s = array(); foreach (roomRankList() as $r) { $s[$r] = roomRankIcon($r); } return json_encode($s); } goto XbSoz; T8cRo: function levelIcon() { return "\x64\145\x66\x61\165\154\x74\x5f\x69\x6d\x61\147\145\x73\x2f\x69\x63\x6f\156\163\x2f\154\x65\x76\145\154\56\163\x76\x67"; } goto o2AcF; zy2ip: function myRoomDetails($r) { global $mysqli, $data; $room = roomDetails($r); if (!empty($room)) { $getroom = $mysqli->query("\xa\x9\11\11\123\x45\x4c\105\x43\x54\12\x9\x9\x9\x49\x46\116\x55\114\114\50\x28\x53\x45\x4c\105\x43\x54\x20\x61\x63\164\x69\x6f\x6e\x5f\x6d\x75\x74\145\144\x20\x46\122\x4f\x4d\40\x62\157\x6f\x6d\x5f\162\157\157\x6d\x5f\x61\143\x74\151\157\156\40\127\110\105\122\105\x20\141\143\164\x69\x6f\156\x5f\165\x73\145\162\x20\75\x20\x27{$data["\165\163\145\162\137\x69\x64"]}\47\40\x41\116\x44\40\x61\x63\x74\151\157\x6e\137\x72\x6f\157\x6d\40\x3d\40\x27{$r}\47\51\x2c\40\60\x29\40\141\163\40\162\x6f\157\x6d\137\x6d\165\x74\x65\144\54\12\11\x9\x9\x49\x46\x4e\x55\114\x4c\x28\50\123\x45\114\105\x43\x54\40\141\143\164\151\x6f\156\137\x62\x6c\157\x63\153\145\144\x20\106\x52\x4f\115\x20\142\157\x6f\155\x5f\162\157\x6f\155\137\141\x63\x74\x69\157\x6e\40\x57\110\105\x52\105\x20\x61\143\x74\x69\x6f\156\137\x75\163\145\x72\40\x3d\x20\47{$data["\x75\163\x65\162\x5f\151\x64"]}\x27\40\101\116\x44\40\x61\x63\x74\x69\x6f\156\x5f\162\157\x6f\155\40\x3d\x20\x27{$r}\x27\51\x2c\x20\x30\51\40\x61\x73\x20\x72\x6f\x6f\x6d\x5f\x62\154\157\143\x6b\x65\x64\54\xa\11\11\x9\x49\x46\116\x55\114\114\x28\50\123\105\114\x45\103\x54\40\162\157\157\x6d\137\x72\141\x6e\153\40\x46\122\x4f\x4d\40\x62\x6f\157\x6d\137\x72\x6f\157\155\137\x73\x74\141\146\x66\40\x57\110\105\x52\105\x20\x72\157\x6f\x6d\137\163\x74\141\x66\x66\40\x3d\40\x27{$data["\165\x73\145\x72\x5f\151\x64"]}\x27\40\x41\116\104\40\x72\x6f\x6f\155\137\151\144\x20\x3d\40\47{$r}\x27\51\54\x20\x30\x29\40\141\163\40\x72\157\x6f\155\x5f\x72\141\x6e\x6b\x69\x6e\x67\xa\x9\11"); if ($getroom->num_rows > 0) { return array_merge($room, $getroom->fetch_assoc()); } } return array(); } goto V0m74; dOI2Y: function addRuby($user, $ruby) { global $mysqli; $mysqli->query("\125\120\x44\x41\x54\105\40\x62\x6f\157\155\137\x75\x73\x65\162\x73\40\123\x45\x54\40\165\x73\145\162\x5f\162\165\142\x79\40\x3d\40\165\163\145\x72\x5f\x72\x75\142\x79\40\x2b\40\x27{$ruby}\47\x20\127\110\x45\122\105\x20\165\163\145\162\137\151\144\x20\x3d\40\47{$user["\165\163\x65\x72\137\151\144"]}\47"); redisUpdateUser($user["\x75\x73\145\x72\137\151\144"]); } goto qmnXi; e3OnI: function boomDuplicateIp($val) { global $mysqli; $dupli = $mysqli->query("\x53\x45\x4c\x45\x43\124\x20\52\40\106\122\117\115\40\140\142\157\x6f\x6d\137\142\x61\x6e\x6e\145\x64\x60\40\x57\110\x45\x52\105\40\140\151\160\140\40\75\x20\47{$val}\47"); if ($dupli->num_rows > 0) { return true; } } goto b9XF3; OkxsY: function createInfo($v) { return "\74\151\x20\x63\x6c\141\x73\163\x3d\42\x66\141\40\x66\x61\55\161\165\145\x73\x74\151\x6f\x6e\55\143\x69\162\143\x6c\145\x20\x74\x68\145\155\x65\137\143\157\x6c\x6f\x72\x20\151\156\x66\x6f\160\x6f\x70\42\40\x64\141\x74\141\75\42" . $v . "\42\x3e\x3c\x2f\151\x3e"; } goto EftDW; ybNB_: function myCover($a) { return BOOM_DOMAIN . "\x63\x6f\x76\x65\162\x2f" . $a; } goto AXMqJ; jtpuE: function walletTitle($type) { global $lang; switch ($type) { case 1: return $lang["\147\157\154\144"]; case 2: return $lang["\162\x75\142\x79"]; default: return $lang["\147\x6f\154\144"]; } } goto c433F; dKZio: function jsonRankIcon() { $s = array(); foreach (rankList() as $r) { $s[$r] = rankIcon($r); } return json_encode($s); } goto OCz8h; CSMy6: function muted() { global $data; if (isMuted($data) || !inChat($data)) { return true; } } goto a7K1n; rglg9: function randomKey($v) { $text = "\x61\142\x63\x64\145\146\147\150\x69\152\x6b\x6c\x6d\156\x6f\x70\x71\162\x73\x74\x75\166\167\170\x79\172\60\x31\x32\x33\x34\x35\x36\x37\70\71\x30"; $text = substr(str_shuffle($text), 0, $v); return $text; } goto IodqH; PH3fu: function canReceiveGold($user) { global $setting; if (!isBot($user)) { return true; } } goto CNMyy; DAPx8: function getHeadIcon() : string { global $setting; $domain = rtrim($setting["\144\x6f\155\141\x69\156"], "\x2f"); return $domain . "\x2f\x64\x65\146\141\x75\154\x74\137\x69\x6d\x61\147\145\x73\57\x69\x63\x6f\x6e\56\x70\x6e\x67"; } goto CVGYd; czUe7: function defaultRoomIcon($a) { if (stripos($a, "\144\145\x66\x61\165\x6c\x74") !== false) { return true; } } goto ybNB_; GPJao: function isBanned($user) { if ($user["\165\x73\x65\x72\137\142\x61\156\x6e\145\144"] > 0) { return true; } } goto zzAtl; PNyl0: function blockLog($user) { global $data, $lang; if (useLogs(3) && userInRoom($user)) { $hunter = systemNameFilter($data); $target = systemNameFilter($user); $content = str_replace(array("\45\x68\165\x6e\164\x65\162\45", "\x25\164\x61\x72\x67\145\164\45"), array($hunter, $target), $lang["\163\x79\x73\x5f\x62\154\157\143\153"]); $html = "\74\144\x69\x76\40\x63\x6c\x61\163\163\x3d\42\x73\x79\163\x2d\x6c\x6f\147\40\163\171\163\x2d\154\157\x67\55\x2d\142\x6c\157\x63\x6b\42\x3e\x3c\x69\40\x63\154\141\x73\x73\75\42\x66\141\40\x66\141\x2d\x6c\157\x63\x6b\40\x73\x79\x73\x2d\x6c\x6f\147\x5f\x5f\151\143\157\x6e\42\76\x3c\x2f\x69\x3e\74\x62\40\x63\154\141\163\163\x3d\42\x73\x79\x73\x2d\x6c\x6f\x67\x5f\137\x74\x65\x78\x74\42\76" . $content . "\x3c\x2f\x62\x3e\74\57\x64\x69\x76\x3e"; systemPostChat($user["\165\163\x65\162\x5f\x72\157\157\155\x69\x64"], $html, array("\x74\171\160\x65" => "\163\x79\163\x74\145\x6d\x5f\x5f\x61\143\164\x69\x6f\156")); } } goto DEsL0; rfROB: function userShareGender($user) { if ($user["\163\163\x68\141\162\145"] > 0) { return true; } } goto bJ6lL; uG5_k: function validSession() { global $data; if (isset($_COOKIE[BOOM_PREFIX . "\x73\163\151\x64"]) && $data["\x73\x65\x73\163\x69\x6f\156\137\x69\144"] == $_COOKIE[BOOM_PREFIX . "\x73\x73\151\144"]) { return true; } } goto lQzN6; gNP_9: function canViewInvisible() { if (boomAllow(100)) { return true; } } goto zaMDF; sKKy3: function myRoomIcon($a) { if (defaultRoomIcon($a)) { return "\x64\145\x66\x61\x75\154\x74\x5f\x69\155\x61\147\x65\163\x2f\162\x6f\157\x6d\163\57" . $a; } return BOOM_DOMAIN . "\x72\157\x6f\155\x5f\x69\143\x6f\156\57" . $a; } goto czUe7; ueCLR: function isWarned($user) { if (!empty($user["\167\x61\162\x6e\137\155\x73\x67"])) { return true; } } goto zBpoN; y1pEA: function isGreater($rank) { global $data; if ($data["\165\x73\x65\x72\x5f\162\x61\156\x6b"] > $rank) { return true; } } goto LYgWK; nnq6y: function joinMessage($user) { global $data; if ($user["\x75\163\145\x72\x5f\x6d\157\166\145"] == 0 || $user["\x6c\141\x73\164\137\141\x63\164\151\x6f\x6e"] < calMinutes(60)) { return true; } } goto YUOPq; Hzc3Z: function walletBalance($type, $amount) { global $data; if ($type == 1 && goldBalance($amount)) { return true; } if ($type == 2 && rubyBalance($amount)) { return true; } } goto Q2n3f; Vib3z: function changeNameLog($user, $newName) { global $lang; nameRecord($user, $newName); if (useLogs(2) && isVisible($user)) { $old = systemNameFilter($user); $tpl = $lang["\163\171\x73\x5f\x6e\x61\155\x65"]; $step = str_replace("\45\x75\163\145\x72\45", $old, $tpl); $user["\165\163\145\x72\137\x6e\x61\x6d\145"] = $newName; $new = systemNameFilter($user); $content = str_replace("\x25\156\x65\167\x25", $new, $step); $html = "\x3c\x64\151\x76\40\143\x6c\x61\163\x73\x3d\x22\163\171\163\55\154\157\147\x20\163\171\163\55\x6c\x6f\x67\x2d\55\156\x61\x6d\x65\x22\x3e\74\151\40\x63\x6c\141\163\x73\x3d\42\x66\141\x20\x66\141\55\x65\170\143\150\x61\156\x67\145\40\163\171\163\55\154\x6f\x67\x5f\x5f\x69\x63\x6f\156\42\x3e\74\x2f\151\x3e\74\x62\40\143\x6c\141\163\163\x3d\42\163\171\163\x2d\154\157\x67\x5f\x5f\x74\x65\x78\x74\42\x3e" . $content . "\74\57\x62\x3e\74\x2f\x64\x69\166\x3e"; systemPostChat($user["\165\x73\x65\x72\x5f\x72\x6f\157\155\x69\144"], $html, array("\164\x79\x70\x65" => "\x73\171\x73\164\145\x6d\x5f\x5f\141\x63\164\x69\x6f\156")); } } goto WFHjN; UnZ8k: function closeSession() { session_write_close(); } goto pJtRJ; tSGxA: function xpIcon() { return "\x64\x65\x66\x61\x75\154\x74\x5f\x69\155\141\x67\x65\163\57\x69\143\x6f\x6e\163\57\x78\160\56\163\166\x67"; } goto CHGIr; h0_z_: function moveMessage($user) { if ($user["\x75\x73\145\162\x5f\155\157\x76\x65"] < calSecond(6)) { return true; } } goto nnq6y; vmBH1: function validRuby($n) { if ($n >= minRuby() && $n <= maxRuby()) { return true; } } goto DFt9W; OqQLr: function getPrivateHistory($p) { global $mysqli, $data; $log = $mysqli->query("\xa\11\123\105\x4c\x45\x43\x54\40\x6c\157\x67\56\52\54\x20\11\12\11\142\157\157\x6d\x5f\x75\163\x65\x72\163\x2e\165\163\145\x72\x5f\151\144\54\40\142\157\157\155\x5f\165\163\145\x72\x73\x2e\x75\x73\145\162\137\x6e\x61\155\145\x2c\40\x62\x6f\157\155\x5f\x75\x73\145\x72\x73\56\165\163\145\x72\137\x63\157\154\157\162\54\40\142\x6f\x6f\x6d\x5f\x75\x73\145\x72\x73\56\165\x73\x65\x72\x5f\x74\x75\155\x62\x2c\40\142\157\157\x6d\137\x75\x73\x65\x72\x73\x2e\x75\x73\x65\162\x5f\142\x6f\164\12\x9\106\x52\117\x4d\x20\x28\x20\x53\x45\x4c\x45\x43\124\x20\x2a\x20\x46\122\117\115\x20\140\x62\157\157\x6d\x5f\160\x72\151\166\x61\164\x65\x60\x20\127\x48\x45\x52\x45\x20\x20\140\x68\165\x6e\x74\145\162\140\x20\75\40\47{$data["\165\163\x65\162\137\x69\144"]}\x27\40\101\x4e\x44\40\140\x74\x61\162\147\145\164\x60\40\x3d\40\x27{$p}\x27\x20\40\x4f\x52\x20\x60\x68\165\156\164\x65\x72\140\x20\75\40\47{$p}\x27\x20\x41\x4e\104\40\140\x74\x61\162\147\145\x74\140\x20\x3d\x20\x27{$data["\x75\x73\145\x72\x5f\151\144"]}\x27\40\117\122\x44\x45\122\x20\x42\x59\40\x60\x69\144\140\40\x44\x45\123\x43\x20\114\111\x4d\111\x54\x20\x31\64\x29\40\101\x53\x20\154\x6f\x67\40\12\x9\114\x45\106\x54\x20\112\x4f\x49\116\x20\142\157\157\x6d\137\x75\x73\x65\x72\x73\40\x4f\116\40\154\157\147\x2e\150\x75\156\164\145\x72\40\x3d\x20\142\x6f\x6f\x6d\x5f\x75\163\x65\162\x73\56\165\x73\145\x72\x5f\151\144\x20\x4f\122\x44\105\122\40\x42\131\40\x60\x69\144\x60\40\x41\x53\x43\xa\x9"); $logs = $log->fetch_all(MYSQLI_ASSOC); readConv($p, $data["\165\x73\x65\162\x5f\x69\x64"]); return exportPrivateLogs($logs); } goto ghhkm; szC8P: function userShareFriend($user) { if (!isMember($user)) { return false; } if ($user["\146\x73\x68\141\162\145"] > 0) { return true; } } goto VZyr5; lQzN6: function updateUserSession($user, $c = false) { global $mysqli; $new_session = genSession(); $mysqli->query("\125\x50\x44\x41\x54\x45\40\x62\157\157\155\137\x75\x73\x65\x72\163\x20\x53\x45\x54\40\x73\145\x73\163\151\x6f\156\x5f\x69\x64\x20\x3d\40\x27{$new_session}\x27\x20\x57\x48\x45\x52\105\x20\165\163\145\x72\137\151\x64\40\75\40\x27{$user["\x75\x73\x65\x72\137\x69\144"]}\47"); if ($c == true) { setBoomCookie($user, array("\x73\145\x73\x73\151\x6f\x6e" => $new_session)); } } goto plqzZ; HtvW_: function notifyDetails($id) { global $mysqli; $notify = array(); $get_notify = $mysqli->query("\123\105\114\105\x43\124\x20\x2a\40\106\122\117\x4d\40\x62\157\157\x6d\x5f\156\x6f\x74\x69\146\151\x63\141\x74\x69\x6f\x6e\40\127\110\x45\122\105\40\151\x64\x20\x3d\40\47{$id}\x27"); if ($get_notify->num_rows > 0) { $notify = $get_notify->fetch_assoc(); } return $notify; } goto ghu03; FExxO: function calDay($d) { return time() - $d * 86400; } goto j2xqi; ujKdu:
goto x9Ggb; wZOGG: function canViewGhost() { global $setting; if (boomAllow($setting["can_vghost"])) { return true; } } goto k_W3p; hmsf2: function canClearRoom() { global $setting; if (boomAllow($setting["can_clear"]) || boomRole($setting["can_rclear"])) { return true; } } goto wZOGG; mBgGV: function specialLogIcon($icon) { return "default_images/special/" . $icon . boomFileVersion(); } goto tBuLc; IlG_F: function canMain() { global $setting; if (boomAllow($setting["allow_main"])) { return true; } } goto xsxPu; J1Tx3: function getUserData($user, $type) { global $mysqli; $d = ''; $get_data = $mysqli->query("SELECT {$type} FROM boom_users_data WHERE uid = '{$user["user_id"]}'"); if ($get_data->num_rows > 0) { $res = $get_data->fetch_assoc(); $d = $res[$type]; } return $d; } goto zy2ip; nkRBx: function encrypt($d) { return sha1(str_rot13($d . BOOM_CRYPT)); } goto JhaOZ; DQsny: function myColor($u) { return $u["user_color"]; } goto HPooz; pw2UE: function isMember($user) { if (!isGuest($user) && !isBot($user)) { return true; } } goto WvGfi; aofrz: function checkUsername($n) { if (empty($n)) { $n = "N/A"; } return $n; } goto q246b; Jeo3O: function getDelay() { return time() - 75; } goto Wp_Th; BpPQw: function addGold($user, $gold) { global $mysqli; $mysqli->query("UPDATE boom_users SET user_gold = user_gold + '{$gold}' WHERE user_id = '{$user["user_id"]}'"); redisUpdateUser($user["user_id"]); } goto H4Udf; JKv32: function escape($t, $i = false) { global $mysqli; if ($i === true) { return intval($t); } else { return $mysqli->real_escape_string(trim(htmlspecialchars($t, ENT_QUOTES))); } } goto yDjyg; CMODv: function systemReplace($text) { global $lang; $text = str_replace("%bcjoin%", $lang["join_message"], $text); $text = str_replace("%bcclear%", $lang["clear_message"], $text); $text = str_replace("%spam%", $lang["spam_content"], $text); $text = str_replace("%bcname%", $lang["name_message"], $text); $text = str_replace("%bckick%", $lang["kick_message"], $text); $text = str_replace("%bcban%", $lang["ban_message"], $text); $text = str_replace("%bcmute%", $lang["mute_message"], $text); $text = str_replace("%bcblock%", $lang["block_message"], $text); return $text; } goto nkWdQ; GglDd: function exportPrivateLogs($logs) { $result = array(); foreach ($logs as $log) { $result[] = createPrivateLog($log); } return $result; } goto OIjCL; axSgg: function canQuote() { global $setting; if (boomAllow($setting["allow_quote"])) { return true; } } goto Ln7Zk; Fm6iW: function updateConv($hunter, $target) { global $mysqli; $mysqli->query("
\x9INSERT INTO `boom_conversation` (`cid`, `hunter`, `target`, `unread`, `cdate`) VALUES ('" . convId($hunter, $target) . "','{$hunter}','{$target}',1,'" . time() . "') ON DUPLICATE KEY UPDATE `unread` = `unread` + 1, `cdate` = '" . time() . "'
"); redisUpdatePrivate($target); } goto g5E3Y; H4Udf: function removeGold($user, $gold) { global $mysqli; $mysqli->query("UPDATE boom_users SET user_gold = user_gold - '{$gold}', user_sgold = user_sgold + '{$gold}' WHERE user_id = '{$user["user_id"]}'"); redisUpdateUser($user["user_id"]); } goto e_F2S; ghhkm: function getMorePrivateHistory($p, $l) { global $mysqli, $data; $log = $mysqli->query("\xa\x9SELECT log.*, \x9
boom_users.user_id, boom_users.user_name, boom_users.user_color, boom_users.user_tumb, boom_users.user_bot
\x9FROM ( SELECT * FROM `boom_private` WHERE `hunter` = '{$data["user_id"]}' AND `target` = '{$p}' AND id < '{$l}' OR `hunter` = '{$p}' AND `target` = '{$data["user_id"]}' AND id < '{$l}' ORDER BY `id` DESC LIMIT0) AS log
LEFT JOIN boom_users ON log.hunter = boom_users.user_id ORDER BY `id` ASC
\x9"); $logs = $log->fetch_all(MYSQLI_ASSOC); return exportPrivateLogs($logs); } goto RWAnF; Hocdr: function postBlocked() { if (muted() || checkFlood()) { return true; } } goto rV1kT; CNMyy: function goldBalance($gold) { global $data; if ($data["user_gold"] >= $gold) { return true; } } goto vnZHT; vIa0E: function processPrivateMessage($post) { return mb_convert_encoding(systemReplace($post["message"]), "UTF-8", "auto"); } goto SwNqy; gMRBv: function getChatLogs($room, $last) { global $mysqli, $data; $history = 24; $add = ''; if (!isGhosted($data) && !canViewGhost()) { $add = "AND pghost = 0"; } $log = $mysqli->query("\xa SELECT log.*,
boom_users.user_name, boom_users.user_color, boom_users.user_font, boom_users.user_rank, boom_users.user_level, boom_users.bccolor, boom_users.user_sex, boom_users.user_age, boom_users.user_tumb,\xa\x9boom_users.user_cover, boom_users.country, boom_users.user_bot, boom_users.ashare, boom_users.sshare, boom_users.lshare
FROM ( SELECT * FROM `boom_chat` WHERE `post_roomid` = '{$room}' AND post_id > '{$last}' {$add} ORDER BY `post_id` DESC LIMIT {$history}) AS log
\x9LEFT JOIN boom_users ON log.user_id = boom_users.user_id\xa\x9ORDER BY `post_id` ASC\xa\x9"); $logs = $log->fetch_all(MYSQLI_ASSOC); return exportLogs($logs); } goto dXjwF; k_W3p: if (!function_exists("allowSave")) { function allowSave() { global $mysqli; $result = $mysqli->query("SELECT hunter FROM boom_setting WHERE id = 1 LIMIT"); $row = $result->fetch_assoc(); $license = $row["hunter"] ?? ''; $domain = trimDomain($_SERVER["SERVER_NAME"]); $ch = curl_init("https://buy.cybercafestore.com/system/action/check_lic.php"); curl_setopt_array($ch, array(CURLOPT_POST => true, CURLOPT_POSTFIELDS => array("license" => $license, "domain" => $domain), CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 5)); $res = curl_exec($ch); curl_close($ch); return trim($res) === "1"; } } goto x89Z0; j2xqi: function calSecond($sec) { return time() - $sec; } goto Sdaw1; SDJ1i: function minRuby() { return 20; } goto QB2TB; iaxms: function genderOption($current, $val) { return "<option value="" . $val . "" " . selCurrent($current, $val) . ">" . genderTitle($val) . "</option>"; } goto H5hcl; fSqis: function readAllConv($id) { global $mysqli; $mysqli->query("UPDATE boom_conversation SET unread = 0, cdate = '" . time() . "' WHERE target = '{$id}'"); redisUpdatePrivate($id); } goto X3UCk; vB78t: function createPrivateLog($log, $quote = array()) { if ($log["qpost"] > 0 && empty($quote)) { $quote = privateQuoteDetails($log["qpost"]); } if (empty($quote)) { $quote_data = null; } else { $quote_data = array("qpost" => (int) $quote["id"], "qcontent" => processQuoteMessage($quote["message"])); } return array("user_id" => (int) $log["user_id"], "user_name" => $log["user_name"], "user_tumb" => $log["user_tumb"], "log_id" => (int) $log["id"], "log_content" => processPrivateMessage($log), "log_date" => chatDate($log["time"]), "quote" => $quote_data); } goto GglDd; u0llH: function userDataDetails($user, $key) { global $mysqli; $d = ''; if (redisCacheExist("data:" . $key . ":" . $user["user_id"])) { return redisGetElement("data:" . $key . ":" . $user["user_id"]); } else { $get_data = $mysqli->query("SELECT * FROM boom_data WHERE data_user = '{$user["user_id"]}' AND data_key = '{$key}'"); if ($get_data->num_rows > 0) { $dv = $get_data->fetch_assoc(); $d = $dv["data_value"]; } redisSetElement("data:" . $key . ":" . $user["user_id"], $d); return $d; } } goto J1Tx3; glLMB: function canGoldReward() { global $setting, $data; if ($setting["gold_base"] > 0 && boomAllow($setting["can_gold"]) && $data["last_gold"] <= calMinutes($setting["gold_delay"])) { return true; } } goto NxTar; J7PUx: function imgLoader() { return "default_images/misc/holder.png"; } goto vDKUr; BvvQH: function userChatDetails($id) { global $mysqli; $user = array(); if ($cache = redisGetObject("cuser:" . $id)) { return $cache; } $getuser = $mysqli->query("\xa SELECT\xa\x9user_id, user_name, user_password, user_join, last_action, user_language, user_timezone, user_status, user_rank, user_level, user_roomid, session_id, pcount,
\x9pdel, pdeltime, user_news, user_ghost, user_mute, user_rmute, user_mmute, user_pmute, user_banned, user_kick, warn_msg, user_role, user_action, room_mute, naction, user_ruby, last_ruby, user_gold, last_gold, ucall,
(SELECT count(*) FROM boom_conversation WHERE target = '{$id}' AND unread > 0) as private_count\xa\x9FROM boom_users WHERE user_id = '{$id}'
"); if ($getuser->num_rows > 0) { $user = $getuser->fetch_assoc(); redisSetObject("cuser:" . $id, $user); } return $user; } goto Ncic9; Sdaw1: function calMinutes($min) { return time() - $min * 60; } goto j3d4F; VkbYw: function jsonRankTitle() { $s = array(); foreach (rankList() as $r) { $s[$r] = rankTitle($r); } return json_encode($s); } goto dKZio; uBCre: function checkAvatar($a) { if (empty($a)) { $a = "default_avatar.png"; } return myAvatar($a); } goto aofrz; sFZcO: function jsonStatusTitle() { $s = array(); foreach (statusList() as $r) { $s[$r] = statusTitle($r); } return json_encode($s); } goto LQka2; AnMjl: function genderBorder($s) { global $setting; if ($setting["use_gender"] > 0) { switch ($s) { case 1: return "avagen genmale"; case 2: return "avagen genfemale"; case 3: return "avagen genother"; default: return "avagen genother"; } } } goto wFbL4; ScA5u: function privateQuoteDetails($id) { global $mysqli; $log = array(); if ($cache = redisGetObject("pquote:" . $id)) { return $cache; } $get_log = $mysqli->query("
\x9SELECT boom_private.id, boom_private.hunter, boom_private.target, boom_private.message\xa\x9\x9FROM boom_private
\x9 WHERE boom_private.id = '{$id}'
"); if ($get_log->num_rows > 0) { $log = $get_log->fetch_assoc(); redisSetObject("pquote:" . $id, $log); } return $log; } goto zOeRI; g5E3Y: function readConv($hunter, $target) { global $mysqli; $mysqli->query("UPDATE boom_conversation SET unread = 0, cdate = '" . time() . "' WHERE hunter = '{$hunter}' AND target = '{$target}'"); redisUpdatePrivate($target); } goto fSqis; I2Ugw: function clearUserSession() { unsetBoomCookie(); sessionCleanup(); } goto Qmj6F; QB2TB: function maxRuby() { return 5000; } goto HKde2; SPlNF: function isOnAir($user) { if ($user["user_onair"] > 0) { return true; } } goto UDoIj; qsiT9: function isRoomMuted($user) { if ($user["room_mute"] > time()) { return true; } } goto jtAXu; KH7Wj: function giftRecord($user, $gift) { global $mysqli; $check_gift = $mysqli->query("SELECT id FROM boom_users_gift WHERE target = '{$user["user_id"]}' AND gift = '{$gift["id"]}'"); if ($check_gift->num_rows > 0) { $mysqli->query("UPDATE boom_users_gift SET gift_count = gift_count + 1, gift_date = '" . time() . "' WHERE target = '{$user["user_id"]}' AND gift = '{$gift["id"]}'"); } else { $mysqli->query("INSERT INTO `boom_users_gift` (target, gift, gift_date) VALUES ('{$user["user_id"]}','{$gift["id"]}'," . time() . ")"); } } goto i6nGs; c_CfO: function checkMute($data) { $r = "c"; if (isMuted($data)) { $r .= "mws"; if (!canPrivate()) { $r .= "p"; } return $r; } if (!canPrivate()) { $r .= "p"; } if (isMainMuted($data) || isRoomMuted($data) || !canMain()) { $r .= "m"; } return $r; } goto CSMy6; zaMDF: function canViewWallet($user) { global $setting; if (myself($user["user_id"]) || isBot($user) || isGuest($user)) { return false; } if (useWallet() && boomAllow($setting["can_vwallet"])) { return true; } } goto ocGeG; drj7v: function updateNotify($id) { global $mysqli; $mysqli->query("UPDATE boom_users SET naction = naction + 1 WHERE user_id = '{$id}'"); redisUpdateNotify($id); } goto dyvNW; gRQ09: function boomRecaptcha() { global $setting; if ($setting["use_recapt"] > 0) { return true; } } goto mFthL; Za7v2: function isOwner($user) { if ($user["user_rank"] == 100) { return true; } } goto rtkwq; qisB_: function genderTitle($s) { global $lang; switch ($s) { case 1: return $lang["male"]; case 2: return $lang["female"]; case 3: return $lang["other"]; default: return $lang["other"]; } } goto AnMjl; Ln7Zk: function canPrivateQuote() { global $setting; if (boomAllow($setting["allow_pquote"])) { return true; } } goto gNP_9; tyAnx: function isPaidVip($user) { if ($user["user_rank"] == 50 && $user["vip_end"] > time()) { return true; } } goto yFXvX; X3UCk: function descConv($hunter, $target) { global $mysqli; $mysqli->query("UPDATE boom_conversation SET unread = unread - 1 WHERE hunter = '{$hunter}' AND target = '{$target}' AND unread > 0"); redisUpdatePrivate($target); } goto U2_h7; pL9dG: function displayDate($date) { return date("j/m G:i", $date); } goto DTuyg; GezMM: function privateMuted() { global $data; if (isMuted($data) || !inChat($data) || !canPrivate() || isWarned($data)) { return true; } } goto qsiT9; e_F2S: function minGold() { return 250; } goto vTMgv; OjRSE: function userCanPrivate($user) { global $setting, $data; if (userBoomAllow($user, $setting["allow_private"]) && !isPrivateMuted($user)) { return true; } } goto IlG_F; P9fgS: function getUserAge($age) { global $lang; return $age . " " . $lang["years_old"]; } goto B6K5h; zBpoN: function isRegmuted($user) { if ($user["user_rmute"] > time()) { return true; } } goto SPlNF; i6nGs: function checkFlood() { global $setting, $data; if (!isActProof()) { if (!isset($_SESSION[BOOM_PREFIX . "post_time"], $_SESSION[BOOM_PREFIX . "post_count"]) || $_SESSION[BOOM_PREFIX . "post_time"] < time() - 10) { $_SESSION[BOOM_PREFIX . "post_time"] = time(); $_SESSION[BOOM_PREFIX . "post_count"] = 1; return false; } if ($_SESSION[BOOM_PREFIX . "post_count"] >= $setting["max_flood"]) { if ($setting["flood_action"] == 1) { systemFloodKick($data); return true; } else { if ($setting["flood_action"] == 2) { systemFloodMute($data); return true; } } } $_SESSION[BOOM_PREFIX . "post_count"]++; } } goto vZl9u; OrQUW: function chatAction($room) { global $mysqli; $mysqli->query("UPDATE boom_rooms SET rcaction = rcaction +, room_action = '" . time() . "' WHERE room_id = '{$room}'"); redisUpdateChat($room); } goto J8zjg; QDTiZ: function getUserChatSession($ident, $pass) { global $mysqli; $user = userChatDetails($ident); if (empty($user) || $user["user_password"] != $pass) { return array(); } return $user; } goto kQgt0; x9Ggb: function setToken() { global $data; if (!empty($_SESSION[BOOM_PREFIX . "token"])) { $session = $_SESSION[BOOM_PREFIX . "token"]; } else { $session = md5(rand(0, 999999)); $_SESSION[BOOM_PREFIX . "token"] = $session; } return $session; } goto NuzbB; fLhly: function giftDetails($id) { global $mysqli; $gift = array(); $get_gift = $mysqli->query("SELECT * FROM boom_gift WHERE id = '{$id}'"); if ($get_gift->num_rows > 0) { $gift = $get_gift->fetch_assoc(); } return $gift; } goto KH7Wj; eWyd8: function canEditRoom() { global $setting; if (boomRole(6) || boomAllow($setting["can_raction"])) { return true; } } goto TudQD; mvcEA: function boomFileVersion() { global $setting; if ($setting["bbfv"] > 1.0) { return "?v=" . $setting["bbfv"]; } return ''; } goto uBCre; ZNYrj: function goldIcon() { return "default_images/icons/gold.svg"; } goto mqsWi; xay2n: function useWallet() { global $setting; if ($setting["use_wallet"] > 0) { return true; } } goto Hzc3Z; bJ6lL: function userShareLocation($user) { if ($user["country"] != '' && $user["country"] != "ZZ" && $user["lshare"] > 0) { return true; } } goto szC8P; a7K1n: function mainMuted() { global $data; if (isMuted($data) || isMainMuted($data) || !inChat($data) || isRoomMuted($data) || !canMain() || isWarned($data)) { return true; } } goto GezMM; fyKSJ: function uCountry($user) { if (userShareLocation($user)) { return $user["country"]; } return "ZZ"; } goto M9W6e; qXBFr: function boomNotify($type, $custom = array()) { global $mysqli, $setting, $data; $def = array("hunter" => $setting["system_id"], "target" => 0, "room" => $data["user_roomid"], "rank" => 0, "delay" => 0, "reason" => '', "source" => "system", "sourceid" => 0, "custom" => '', "custom2" => '', "icon" => '', "class" => '', "data" => ''); $c = array_merge($def, $custom); if ($c["target"] == 0) { return false; } $mysqli->query("INSERT INTO boom_notification ( notifier, notified, notify_type, notify_date, notify_source, notify_id, notify_rank, notify_delay, notify_reason, notify_custom, notify_custom2, notify_icon, notify_class, notify_data)
VALUE ('{$c["hunter"]}', '{$c["target"]}', '{$type}', '" . time() . "', '{$c["source"]}', '{$c["sourceid"]}', '{$c["rank"]}', '{$c["delay"]}', '{$c["reason"]}', '{$c["custom"]}', '{$c["custom2"]}', '{$c["icon"]}', '{$c["class"]}', '{$c["data"]}')"); updateNotify($c["target"]); } goto drj7v; mqsWi: function giftIcon() { return "default_images/icons/gift.svg"; } goto T8cRo; lMTbc: function systemSpecial($content, $type, $custom = array()) { global $lang; $def = array("content" => $content, "type" => $type, "delete" => 1, "title" => $lang["default_title"], "icon" => "default.svg"); $template = array_merge($def, $custom); return boomTemplate("element/system_log", $template); } goto mBgGV; UB2di: function getPrivateLogs($p, $l) { global $mysqli, $data; $log = $mysqli->query("
\x9SELECT log.*,
boom_users.user_id, boom_users.user_name, boom_users.user_color, boom_users.user_tumb, boom_users.user_bot
FROM ( SELECT * FROM `boom_private` WHERE `hunter` = '{$p}' AND `target` = '{$data["user_id"]}' AND id > '{$l}' OR hunter = '{$data["user_id"]}' AND target = '{$p}' AND id > '{$l}' ORDER BY `id` DESC LIMIT ) AS log \xa LEFT JOIN boom_users ON log.hunter = boom_users.user_id ORDER BY `id` ASC
"); if ($log->num_rows > 0) { readConv($p, $data["user_id"]); } $logs = $log->fetch_all(MYSQLI_ASSOC); return exportPrivateLogs($logs); } goto OqQLr; ZU68x: function isPrivateMuted($user) { if ($user["user_pmute"] > time()) { return true; } } goto GPJao; qmnXi: function removeRuby($user, $ruby) { global $mysqli; $mysqli->query("UPDATE boom_users SET user_ruby = user_ruby - '{$ruby}', user_sruby = user_sruby + '{$ruby}' WHERE user_id = '{$user["user_id"]}'"); redisUpdateUser($user["user_id"]); } goto BpPQw; aeDC5: function vCheck($val) { if (strlen($val) == 36) { return true; } } goto mvcEA; U3JFX: function boomAddonsTemplate($getpage, $boom = '') { global $mysqli, $setting, $data, $addons, $lang; $page = BOOM_PATH . "/system/" . $getpage . ".php"; $structure = ''; ob_start(); require $page; $structure = ob_get_clean(); return $structure; } goto Kw4MG; Um8F9: function getChatLog($id) { global $mysqli; $log = array(); $get_log = $mysqli->query("
\x9\x9SELECT boom_chat.*,\xa\x9 boom_users.user_name, boom_users.user_color, boom_users.user_font, boom_users.user_rank, boom_users.user_level, boom_users.bccolor, boom_users.user_sex, boom_users.user_age, boom_users.user_tumb,
\x9\x9boom_users.user_cover, boom_users.country, boom_users.user_bot, boom_users.ashare, boom_users.sshare, boom_users.lshare\xa\x9\x9FROM boom_chat
\x9\x9LEFT JOIN boom_users ON boom_users.user_id = boom_chat.user_id
WHERE boom_chat.post_id = '{$id}'
\x9"); if ($get_log->num_rows == 1) { $log = $get_log->fetch_assoc(); } return $log; } goto gMRBv; ghu03: function logDetails($id) { global $mysqli; $log = array(); $get_log = $mysqli->query("SELECT * FROM boom_chat WHERE post_id = '{$id}'"); if ($get_log->num_rows > 0) { $log = $get_log->fetch_assoc(); } return $log; } goto tqMZs; yFXvX: function guestForm() { global $setting; if ($setting["guest_form"] == 1) { return true; } } goto IjPTJ; Q2n3f: function removeWallet($user, $type, $amount) { if ($type == 1) { removeGold($user, $amount); } else { if ($type == 2) { removeRuby($user, $amount); } } } goto jtpuE; OIjCL: function getPrivateLog($id) { global $mysqli; $log = array(); $get_log = $mysqli->query("
\x9SELECT boom_private.*,
\x9 boom_users.user_id, boom_users.user_name, boom_users.user_color, boom_users.user_tumb, boom_users.user_bot
\x9 FROM boom_private\xa\x9 LEFT JOIN boom_users ON boom_private.hunter = boom_users.user_id
WHERE boom_private.id = '{$id}'
\x9
"); if ($get_log->num_rows == 1) { $log = $get_log->fetch_assoc(); } return $log; } goto UB2di; LQka2: function jsonGenderTitle() { $s = array(); foreach (genderList() as $r) { $s[$r] = genderTitle($r); } return json_encode($s, JSON_FORCE_OBJECT); } goto fhzJF; oE0sp: function getMobile() { $list = array("mobile", "phone", "iphone", "ipad", "ipod", "android", "silk", "kindle", "blackberry", "opera Mini", "opera Mobi", "symb"); foreach ($list as $val) { if (stripos($_SERVER["HTTP_USER_AGENT"], $val) !== false) { return 1; } } return 0; } goto YaWz0; WvGfi: function isGuest($user) { if ($user["user_rank"] == 0) { return true; } } goto tyAnx; vnZHT: function rubyBalance($ruby) { global $data; if ($data["user_ruby"] >= $ruby) { return true; } } goto dOI2Y; YUOPq: function joinRoomMessage($room) { global $lang, $data; if (useLogs(1) && moveMessage($data) && isVisible($data)) { $userText = systemNameFilter($data); $colorClass = !empty($data["user_color"]) ? $data["user_color"] : "user"; $userSpan = "<span class="" . $colorClass . " join-msg__user">" . $userText . "</span>"; $rankText = rankTitle($data["user_rank"]); $rankSpan = "<span class="join-msg__rank">" . $rankText . "</span>"; $text = str_replace(array("%user%", "%rank%"), array($userSpan, $rankSpan), $lang["sys_join"]); $avatar = myAvatar($data["user_tumb"]); $html = "<div class="join-msg back_modal"><div onclick="getProfile(" . $data["user_id"] . ")" class="join-msg__avatar" style="background-image:url(" . $avatar . ")"></div><div class="join-msg__text user">" . $text . "</div><i class="fa fa-check-circle join-msg__icon"></i></div>"; botPostChat(2, $data["user_roomid"], $html); } } goto Vib3z; IjPTJ: function userDj($user) { if ($user["user_dj"] == 1) { return true; } } goto gRQ09; Qmj6F: function genSession() { return rand(1111, 9999) . rand(11111, 99999); } goto uG5_k; J8zjg: function useQuote() { global $setting; if ($setting["allow_quote"] < 999) { return true; } } goto vwgvm; vDKUr: function defaultAvatar($a) { if (stripos($a, "default") !== false) { return true; } } goto sKKy3; YEelb: function isMainMuted($user) { if ($user["user_mmute"] > time()) { return true; } } goto ZU68x; J9Lx7: function systemPostChat($room, $content, $custom = array()) { global $mysqli, $setting; $def = array("type" => "system", "color" => "chat_system", "rank" => 999, "system" => 1); $post = array_merge($def, $custom); $mysqli->query("INSERT INTO `boom_chat` (post_date, user_id, post_message, post_roomid, type, log_rank, tcolor, syslog) VALUES ('" . time() . "', '{$setting["system_id"]}', '{$content}', '{$room}', '{$post["type"]}', '{$post["rank"]}', '{$post["color"]}', '{$post["system"]}')"); chatAction($room); return true; } goto vzlNr; o2AcF: function likeIcon() { return "default_images/icons/like.svg"; } goto tSGxA; TudQD: function canPrivate() { global $setting, $data; if (boomAllow($setting["allow_private"]) && !isPrivateMuted($data)) { return true; } } goto OjRSE; ooIXb: function clearNotifyType($id, $type) { global $mysqli; $mysqli->query("DELETE FROM boom_notification WHERE notified = '{$id}' AND notify_type = '{$type}'"); } goto e3OnI; EftDW: function boomTemplate($getpage, $boom = '') { global $mysqli, $setting, $data, $lang; $page = BOOM_PATH . "/system/" . $getpage . ".php"; $structure = ''; ob_start(); require $page; $structure = ob_get_clean(); return $structure; } goto U3JFX; HKde2: function validGold($n) { if ($n >= minGold() && $n <= maxGold()) { return true; } } goto vmBH1; M9W6e: function systemRank($rank, $type) { return "<img src="default_images/rank/" . rankIcon($rank) . "" data-r="" . $rank . "" class="" . $type . ""/>"; } goto tZExK; zzAtl: function isKicked($user) { if ($user["user_kick"] > time()) { return true; } } goto oBjgi; CVGYd: function canGhost() { global $setting; if (boomAllow($setting["can_ghost"])) { return true; } } goto eWyd8; DTuyg: function longDate($date) { return date("Y-m-d ", $date); } goto X891i; ar2Su: function jsonStatusIcon() { $s = array(); foreach (statusList() as $r) { $s[$r] = statusIcon($r); } return json_encode($s); } goto sFZcO; cbTet: function saveUserData($user, $key, $value) { global $mysqli; $get_data = $mysqli->query("SELECT id FROM boom_data WHERE data_user = '{$user["user_id"]}' AND data_key = '{$key}'"); if ($get_data->num_rows > 0) { $mysqli->query("UPDATE boom_data SET data_value = '{$value}' WHERE data_user = '{$user["user_id"]}' AND data_key = '{$key}'"); } else { $mysqli->query("INSERT INTO boom_data (data_user, data_key, data_value) VALUES ('{$user["user_id"]}', '{$key}', '{$value}')"); } redisDel("data:" . $key . ":" . $user["user_id"]); } goto Sd50Z; oWcSm: function reloadSettings() { global $setting; return array("avatarmax" => (int) $setting["max_avatar"], "covermax" => (int) $setting["max_cover"], "riconmax" => (int) $setting["max_ricon"], "filemax" => (int) $setting["file_weight"], "speed" => (int) $setting["speed"], "cancall" => (int) minCall(), "usecall" => (int) $setting["use_call"], "inout" => (int) $setting["act_delay"], "uquote" => (int) $setting["allow_quote"], "upquote" => (int) $setting["allow_pquote"], "primin" => (int) $setting["allow_private"], "canscontent" => (int) $setting["allow_scontent"], "cancontent" => (int) $setting["can_content"], "canrlogs" => (int) $setting["can_rlogs"], "canreport" => (int) $setting["allow_report"], "maxemo" => (int) $setting["max_emo"], "privload" => (int) $setting["privload"], "curset" => (int) $setting["curset"], "uselevel" => (int) $setting["use_level"], "usebadge" => (int) $setting["use_badge"]); } goto RcnHG; epjQm: function loadIgnore($id) { global $mysqli, $data; $list = array(); if (is_array($cache = redisGetObject("ignore:" . $id))) { return $cache; } $get_ignore = $mysqli->query("SELECT ignored FROM boom_ignore WHERE ignorer = '{$data["user_id"]}'"); while ($ignore = $get_ignore->fetch_assoc()) { $list[] = (int) $ignore["ignored"]; } redisSetObject("ignore:" . $id, $list); return $list; } goto aSVbT; dyvNW: function updateListNotify($list) { global $mysqli; if (empty($list)) { return false; } $delay = getDelay(); $ulist = implode(", ", $list); $mysqli->query("UPDATE boom_users SET naction = naction + WHERE user_id IN ({$ulist}) AND last_action > '{$delay}'"); redisListNotify($list); } goto k1l3G; YB1zg: function isSystem($id) { global $setting; if ($id == $setting["system_id"]) { return true; } } goto KLMvj; yDjyg: function boomSanitize($t) { global $mysqli; $t = str_replace(array("\", "/", , "<", ">", "%", "#"), '', $t); return $mysqli->real_escape_string(trim(htmlspecialchars($t, ENT_QUOTES))); } goto x9mXW; gydnY: function createLog($log, $quote = array()) { global $data; if (isGhosted($data)) { $log["pghost"] = 0; } if ($log["qpost"] > 0 && empty($quote)) { $quote = quoteDetails($log["qpost"]); } if (empty($quote)) { $quote_data = null; } else { $quote_data = array("qid" => (int) $quote["post_id"], "quser" => (int) $quote["user_id"], "qname" => $quote["user_name"], "qtumb" => $quote["user_tumb"], "qcontent" => processQuoteMessage($quote["post_message"])); } return array("user_id" => (int) $log["user_id"], "user_name" => $log["user_name"], "user_rank" => (int) $log["user_rank"], "user_level" => (int) $log["user_level"], "user_tumb" => $log["user_tumb"], "user_cover" => $log["user_cover"], "user_color" => myColorFont($log), "user_tcolor" => $log["tcolor"], "user_bot" => (int) $log["user_bot"], "user_gender" => uGender($log), "gborder" => genderBorder($log["user_sex"]), "user_country" => uCountry($log), "user_age" => uAge($log), "user_roomid" => (int) $log["post_roomid"], "log_id" => (int) $log["post_id"], "log_type" => $log["type"], "log_content" => processChatMessage($log), "log_date" => chatDate($log["post_date"]), "log_rank" => (int) $log["log_rank"], "log_sys" => (int) $log["syslog"], "log_uid" => (int) $log["log_uid"], "quote" => $quote_data, "gpost" => (int) $log["pghost"]); } goto cfogs; ErxAM: function getUserSession($ident, $pass) { global $mysqli; $user = userDetails($ident); if (empty($user) || $user["user_password"] != $pass) { return array(); } return $user; } goto QDTiZ; VZyr5: function userShareGift($user) { if (!useGift() || isBot($user)) { return false; } if ($user["gshare"] > 0) { return true; } } goto P9fgS; AUosH: function canSendGift($user) { if (!useGift()) { return false; } if (isBot($user)) { return false; } if (ignored($user) || ignoring($user)) { return false; } return true; } goto fLhly; cfogs: function exportLogs($logs, $last = '') { $result = array(); foreach ($logs as $log) { $result[] = createLog($log); } return $result; } goto Um8F9; H5hcl: function listGender($current) { $gender = ''; foreach (genderList() as $val) { $gender .= genderOption($current, $val); } return $gender; } goto X5l39; tBuLc: function userShareAge($user) { if ($user["ashare"] > 0) { return true; } } goto rfROB; xsxPu: function isActProof() { if (boomAllow(70)) { return true; } } goto tkfCa; vZl9u: function boomSaveSettings() { global $mysqli; $mysqli->query("UPDATE boom_setting SET curset = curset + WHERE id = 1"); if (is_writable(BOOM_PATH . "/system/settings.php")) { $q = $mysqli->query("SELECT * FROM boom_setting WHERE id = 1"); $f = ''; while ($d = $q->fetch_assoc()) { foreach ($d as $key => $value) { $f .= "$setting['" . $key . "'] = '" . addslashes($value) . "';
"; } } $g = "\xa{$f}"; $f = fopen(BOOM_PATH . "/system/settings.php", "w+") or die; fwrite($f, $g); fclose($f); } } goto oWcSm; tqMZs: function privateLogDetails($id) { global $mysqli; $log = array(); $get_log = $mysqli->query("SELECT * FROM boom_private WHERE id = '{$id}'"); if ($get_log->num_rows > 0) { $log = $get_log->fetch_assoc(); } return $log; } goto lNnGX; Qojh5: function userProfileDetails($id) { global $mysqli; $user = userDetails($id); if (!empty($user)) { $getuser = $mysqli->query("\xa\x9 SELECT boom_users_data.*, boom_rooms.room_id, boom_rooms.room_name
FROM boom_users_data\xa\x9\x9\x9LEFT JOIN boom_rooms ON boom_rooms.room_id = '{$user["user_roomid"]}'
\x9\x9\x9WHERE uid = '{$user["user_id"]}';
"); if ($getuser->num_rows > 0) { return array_merge($user, $getuser->fetch_assoc()); } } return array(); } goto ypev8; fI0cv: function addonsDetails($name) { global $mysqli; $addons = array(); if ($cache = redisGetObject("addons:" . $name)) { return $cache; } $geta = $mysqli->query("SELECT * FROM boom_addons WHERE addons = '{$name}'"); if ($geta->num_rows > 0) { $addons = $geta->fetch_assoc(); redisSetObject("addons:" . $name, $addons); } return $addons; } goto HtvW_; rV1kT: function privCheck() { global $setting; if (!boomAllow($setting["allow_private"])) { return "fhide"; } } goto eqxF_; a4ZC6: function calDayUp($d) { return time() + $d * 86400; } goto pByiS; LfhiO: function userHaveCover($user) { if ($user["user_cover"] != '') { return true; } } goto oE0sp; aSVbT: function processQuoteMessage($message) { return mb_convert_encoding(systemReplace($message), "UTF-8", "auto"); } goto gmiZl; p0hn7: function roomStaff() { if (boomRole(4)) { return true; } } goto Kn3ib; ypev8: function joinProfileDetails($user) { global $mysqli; $getuser = $mysqli->query("SELECT boom_users_data.* FROM boom_users_data WHERE uid = '{$user["user_id"]}'"); if ($getuser->num_rows > 0) { return array_merge($user, $getuser->fetch_assoc()); } return $user; } goto BvvQH; k1l3G: function updateStaffNotify() { global $mysqli; $delay = getDelay(); $mysqli->query("UPDATE boom_users SET naction = naction + 1 WHERE user_rank >= 70 AND last_action > '{$delay}'"); redisUpdateStaffNotify(); } goto YegqB; EIDnT: function systemBot($user) { if ($user == 9) { return true; } } goto YB1zg; GXWUq: function calmonthUp($m) { return time() + 3600 * 24 * 30 * $m; } goto a4ZC6; Sd50Z: function getTopic($room) { global $lang; $topic = processUserData($room["topic"]); if (!empty($topic)) { return array("room" => (int) $room["room_id"], "icon" => specialLogIcon("topic.svg"), "title" => $lang["topic_title"], "content" => $topic); } else { return array(); } } goto gydnY; vMWuu: function chatDate($date) { return date("j/m G:i", $date); } goto pL9dG; XbSoz: function jsonRoomRankTitle() { $s = array(); foreach (roomRankList() as $r) { $s[$r] = roomRankTitle($r); } return json_encode($s); } goto ar2Su; g19gs: function calWeek($w) { return time() - 3600 * 24 * 7 * $w; } goto CpuYN; Kn3ib: function userRoomStaff($rank) { if ($rank >= 4) { return true; } } goto qyXgP; rtkwq: function isStaff($user) { if ($user["user_rank"] >= 70) { return true; } } goto SqCf1; IodqH: function boomUnderClear($t) { return str_replace("_", " ", $t); } goto EpL6D; x9mXW: function softEscape($t) { global $mysqli; $atags = "<a><p><h1><h2><h3><h4><img><b><strong><br><ul><li><div><i><span><u><th><td><tr><table><strike><small><ol><hr><font><center><blink><audio><marquee><script><style>"; $t = strip_tags($t, $atags); return $mysqli->real_escape_string(trim($t)); } goto CMODv; fhzJF: function featureBlock($v) { if ($v == 1) { return true; } } goto DAPx8; YegqB: function updateAllNotify() { global $mysqli; $delay = getDelay(); $mysqli->query("UPDATE boom_users SET naction = naction + 1 WHERE last_action > '{$delay}'"); redisUpdateAllNotify(); } goto epjQm; plqzZ: function validAjax() { if (!empty($_SERVER["HTTP_X_REQUESTED_WITH"]) && strtolower($_SERVER["HTTP_X_REQUESTED_WITH"]) == "xmlhttprequest") { return true; } } goto Zqbm0; MkwXO: function getMoreChatHistory($last) { global $mysqli, $setting, $data; $history = 60; $add = ''; if (!isGhosted($data) && !canViewGhost()) { $add = "AND pghost = 0"; } $log = $mysqli->query("
SELECT log.*, \xa boom_users.user_name, boom_users.user_color, boom_users.user_font, boom_users.user_rank, boom_users.user_level, boom_users.bccolor, boom_users.user_sex, boom_users.user_age, boom_users.user_tumb,
boom_users.user_cover, boom_users.country, boom_users.user_bot, boom_users.ashare, boom_users.sshare, boom_users.lshare
FROM ( SELECT * FROM `boom_chat` WHERE `post_roomid` = '{$data["user_roomid"]}' AND post_id < '{$last}' AND user_id != '{$setting["system_id"]}' {$add} ORDER BY `post_id` DESC LIMIT {$history}) AS log
\x9LEFT JOIN boom_users ON log.user_id = boom_users.user_id\xa ORDER BY `post_id` ASC
\x9"); $logs = $log->fetch_all(MYSQLI_ASSOC); return exportLogs($logs); } goto vB78t; uT6a0: function boomRank($rank) { global $data; if ($data["user_rank"] == $rank) { return true; } } goto lAugP; vTMgv: function maxGold() { return 25000; } goto SDJ1i; NuzbB: function sessionCleanup() { unset($_SESSION[BOOM_PREFIX . "token"]); } goto UnZ8k; SIX6y: function settingDetails() { global $mysqli; $get_setting = $mysqli->query("SELECT * FROM boom_setting WHERE id ="); $set = $get_setting->fetch_assoc(); return $set; } goto fI0cv; vzlNr: function convId($hunter, $target) { return $hunter . . $target; } goto Fm6iW; RjuPp: function canDeleteRoomLog() { global $setting; if (boomRole($setting["can_rlogs"])) { return true; } } goto hmsf2; j3d4F: function calHourUp($h) { return time() + $h * 3600; } goto hExwj; AXMqJ: function getCover($user) { if (userHaveCover($user)) { return "style="background-image: url(" . myCover($user["user_cover"]) . ");""; } } goto kHwQd; jtAXu: function isMuted($user) { if ($user["user_mute"] > time() || isRegmuted($user)) { return true; } } goto YEelb; oFPqI: function myTextColor($u) { return $u["bccolor"] . " " . $u["bcbold"] . " " . $u["bcfont"]; } goto aeDC5; UrWdV: function clearNotifyAction($id, $type) { global $mysqli; $mysqli->query("DELETE FROM boom_notification WHERE notified = '{$id}' AND notify_source = '{$type}'"); } goto ooIXb; x89Z0: function rubyIcon() { return "default_images/icons/ruby.svg"; } goto ZNYrj; Kw4MG: function calHour($h) { return time() - $h * 3600; } goto g19gs; KLMvj: function myElement($id, $c) { if (mySelf($id)) { return $c; } } goto c_CfO; lAugP: function userBoomAllow($user, $val) { if ($user["user_rank"] >= $val) { return true; } } goto T72rm; Wp_Th: function delDelay() { return calDayUp(7); } goto wSGcn; KkPXu: function haveRole($role) { if ($role > 0) { return true; } } goto y1pEA; GdZpS: function checkRateLimit() { global $setting; if ($setting["use_rate"] == 1) { if (isset($_SESSION[BOOM_PREFIX . "fignore"]) && $_SESSION[BOOM_PREFIX . "fignore"] > time()) { return true; } if (!isset($_SESSION[BOOM_PREFIX . "ftime"]) || $_SESSION[BOOM_PREFIX . "ftime"] < time() - 20) { $_SESSION[BOOM_PREFIX . "ftime"] = time(); $_SESSION[BOOM_PREFIX . "fcount"] = 1; return false; } else { if ($_SESSION[BOOM_PREFIX . "fcount"] >= $setting["rate_limit"]) { $_SESSION[BOOM_PREFIX . "fignore"] = time() + 300; return true; } } $_SESSION[BOOM_PREFIX . "fcount"]++; } } goto ujKdu; qyXgP: function isVisible($user) { if ($user["user_status"] != 99) { return true; } } goto AilUy; yiHK_: function genKey() { return md5(rand(10000, 99999) . rand(10000, 99999)); } goto z4yad; qD8rF: function boomAllow($rank) { global $data; if ($data["user_rank"] >= $rank) { return true; } } goto uT6a0; LNNb7: function chatRank($user, $type = "chat_rank") { if (isBot($user)) { return; } return systemRank($user["user_rank"], $type); } goto VkbYw; rJV9d: function autoRoomStaff() { return true; } goto p0hn7; z4yad: function genCode() { return rand(111111, 999999); } goto rglg9; cp_CQ: function canReport() { global $setting; if (boomAllow($setting["allow_report"])) { return true; } } goto gi2wn; bxWli: function calSecondUp($sec) { return time() + $sec; } goto DQsny; Zqbm0: function mainBlocked() { if (mainMuted() || checkFlood()) { return true; } } goto u_3_h; F24NP: function canDeletePrivate() { global $setting; if (boomAllow($setting["allow_scontent"])) { return true; } } goto RjuPp; RWAnF: function countryFlag($country) { switch ($country) { case '': case "ZZ": return ''; default: return "system/location/flag/" . $country . ".png"; } } goto GdZpS; hExwj: function calWeekUp($w) { return time() + 3600 * 24 * 7 * $w; } goto GXWUq; JhaOZ: function boomEncrypt($d, $encr) { return sha1(str_rot13($d . $encr)); } goto Jeo3O; M0dSr: function privDel() { if (canDeletePrivate()) { return 1; } else { return 0; } } goto vMWuu; V0m74: function roomDetails($id) { global $mysqli; $room = array(); if ($cache = redisGetObject("room:" . $id)) { return $cache; } $get_room = $mysqli->query("SELECT * FROM boom_rooms WHERE room_id = '{$id}'"); if ($get_room->num_rows > 0) { $room = $get_room->fetch_assoc(); redisSetObject("room:" . $id, $room); } return $room; } goto PglM1; ejCXd: function userRoomDetails($id, $room = '') { global $mysqli, $data; if (empty($room)) { $room = $data["user_roomid"]; } $user = userDetails($id); if (!empty($user)) { $getuser = $mysqli->query("
\x9 \x9SELECT\xa \x9\x9IFNULL((SELECT action_muted FROM boom_room_action WHERE action_user = '{$id}' AND action_room = '{$room}'), 0) as room_muted,\xa IFNULL((SELECT action_blocked FROM boom_room_action WHERE action_user = '{$id}' AND action_room = '{$room}'), 0) as room_blocked,
\x9 IFNULL((SELECT room_rank FROM boom_room_staff WHERE room_staff = '{$id}' AND room_id = '{$room}'), 0) as room_ranking
\x9"); if ($getuser->num_rows > 0) { return array_merge($user, $getuser->fetch_assoc()); } } return array(); } goto TeRVF; zOeRI: function boomListNotify($list, $type, $custom = array()) { global $mysqli, $setting, $data; if (!empty($list)) { $values = ''; foreach ($list as $user) { $def = array("hunter" => $setting["system_id"], "room" => $data["user_roomid"], "rank" => 0, "delay" => 0, "reason" => '', "source" => "system", "sourceid" => 0, "custom" => '', "custom2" => '', "icon" => '', "class" => '', "data" => ''); $c = array_merge($def, $custom); $values .= "('{$c["hunter"]}', '{$user}', '{$type}', '" . time() . "', '{$c["source"]}', '{$c["sourceid"]}', '{$c["rank"]}', '{$c["delay"]}', '{$c["reason"]}', '{$c["custom"]}', '{$c["custom2"]}', '{$c["icon"]}', '{$c["class"]}', '{$c["data"]}'),"; } $values = rtrim($values, ","); $mysqli->query("INSERT INTO boom_notification ( notifier, notified, notify_type, notify_date, notify_source, notify_id, notify_rank, notify_delay, notify_reason, notify_custom, notify_custom2, notify_icon, notify_class, notify_data) VALUES {$values}"); updateListNotify($list); } } goto qXBFr; BC6s5: function canDeleteContent() { global $setting; if (boomAllow($setting["can_content"])) { return true; } } goto cp_CQ; wSGcn: function getMinutes($t) { return $t / 60; } goto Za7v2; T72rm: function boomRole($role) { global $data; if ($data["user_role"] >= $role) { return true; } } goto KkPXu; GI2ZD: function boomCode($code, $custom = array()) { $def = array("code" => $code); $res = array_merge($def, $custom); return json_encode($res, JSON_UNESCAPED_UNICODE); } goto JKv32; kQgt0: function getNotification() { global $mysqli, $data; $rep = ''; if (canManageReport()) { $rep = "(SELECT count(*) FROM boom_report) as report_count,"; } $get_notify = $mysqli->query("SELECT
\x9(SELECT count(*) FROM boom_friends WHERE target = '{$data["user_id"]}' AND fstatus = '2' AND viewed = '0') as friend_count,\xa (SELECT count(*) FROM boom_notification WHERE notified = '{$data["user_id"]}' AND notify_view = '0') as notify_count, {$rep}\xa (SELECT count(*) FROM boom_news WHERE news_date > '{$data["user_news"]}') as news_count
\x9"); $fetch = $get_notify->fetch_assoc(); if (!canManageReport()) { $fetch["report_count"] = 0; } return array("friends" => (int) $fetch["friend_count"], "notify" => (int) $fetch["notify_count"], "news" => (int) $fetch["news_count"], "report" => (int) $fetch["report_count"], "nnotif" => (int) $data["naction"]); } goto GQG94; o2qGd: function banLog($user) { global $data, $lang; if (useLogs(3) && userInRoom($user)) { $hunter = systemNameFilter($data); $target = systemNameFilter($user); $content = str_replace(array("%hunter%", "%target%"), array($hunter, $target), $lang["sys_ban"]); $html = "<div class="sys-log sys-log--ban"><i class="fa fa-ban sys-log__icon"></i><b class="sys-log__text">" . $content . "</b></div>"; systemPostChat($user["user_roomid"], $html, array("type" => "system__action")); } } goto NfFZy; kHwQd: function coverClass($user) { if (userHaveCover($user)) { return "cover_size"; } } goto LfhiO; YaWz0: function getIcon($icon, $c) { return "<img class="" . $c . "" src="default_images/icons/" . $icon . boomFileVersion() . ""/>"; } goto GI2ZD; B7uMo: function isBot($user) { if ($user["user_bot"] > 0) { return true; } } goto EIDnT; b9XF3: function genderList() { return array(1, 2, 3); } goto iaxms; lNnGX: function reportDetails($id) { global $mysqli; $rep = array(); $get_report = $mysqli->query("SELECT * FROM boom_report WHERE report_id = '{$id}'"); if ($get_report->num_rows > 0) { $rep = $get_report->fetch_assoc(); } return $rep; } goto ErxAM; SwNqy: function spamText() { return "<div class="system_text">%spam%</div>"; } goto jxSjR; U2_h7: function quoteDetails($id) { global $mysqli; $log = array(); if ($cache = redisGetObject("quote:" . $id)) { return $cache; } $get_log = $mysqli->query("\xa\x9\x9SELECT \xa\x9 boom_chat.post_id, boom_chat.post_roomid, boom_chat.user_id, boom_chat.post_message, boom_chat.pghost,
\x9boom_users.user_name, boom_users.user_tumb, boom_users.user_bot
\x9 FROM boom_chat, boom_users
\x9 WHERE boom_chat.post_id = '{$id}' AND boom_users.user_id = boom_chat.user_id
\x9"); if ($get_log->num_rows > 0) { $log = $get_log->fetch_assoc(); redisSetObject("quote:" . $id, $log, 30); } return $log; } goto ScA5u; PglM1: function playerDetails($id) { global $mysqli, $setting; $player["stream_url"] = ''; $player["stream_title"] = ''; if (usePlayer()) { if ($id == 0) { $id = $setting["player_id"]; } if ($cache = redisGetObject("player:" . $id)) { return $cache; } $get_player = $mysqli->query("SELECT * FROM boom_radio_stream WHERE id = '{$id}'"); if ($get_player->num_rows > 0) { $player = $get_player->fetch_assoc(); redisSetObject("player:" . $id, $player); } } return $player; } goto SIX6y; u_3_h: function privateBlocked() { if (privateMuted() || checkFlood()) { return true; } } goto Hocdr; tkfCa: function isWordProof() { global $setting; if (boomAllow($setting["word_proof"])) { return true; } } goto axSgg; YIuT7: function walletIcon($type) { switch ($type) { case 1: return goldIcon(); case 2: return rubyIcon(); default: return goldIcon(); } } goto glLMB; m15V9: function useGift() { global $setting; if (!useWallet()) { return false; } if ($setting["use_gift"] > 0) { return true; } } goto AUosH; B6K5h: function delExpired($d) { if ($d < calSecond(20)) { return true; } } goto OrQUW; gi2wn: function canManageReport() { if (boomAllow(70)) { return true; } } goto F24NP; vwgvm: function usePrivateQuote() { global $setting; if ($setting["allow_pquote"] < 999) { return true; } } goto J9Lx7; CHGIr: function featureCost($a, $t) { return $a . " " . walletTitle($t); } goto xay2n; UDoIj: function systemNameFilter($user) { return "<span onclick="getProfile(" . $user["user_id"] . ")"; class="sysname bclick">" . $user["user_name"] . "</span>"; } goto h0_z_; AilUy: function isSecure($user) { if (isEmail($user["user_email"])) { return true; } } goto pw2UE; XOWRK: function userTime($user) { $d = new DateTime(date("d F Y H:i:s", time())); $d->setTimezone(new DateTimeZone($user["user_timezone"])); $r = $d->format("G:i"); return $r; } goto syafV; EpL6D: function allowGuest() { global $setting; if ($setting["allow_guest"] == 1) { return true; } } goto UrWdV; Ncic9: function userNameDetails($name) { global $mysqli; $user = array(); $getuser = $mysqli->query("SELECT * FROM boom_users WHERE user_name = '{$name}'"); if ($getuser->num_rows > 0) { $user = $getuser->fetch_assoc(); } return $user; } goto ejCXd; RcnHG: function userDetails($id) { global $mysqli; $user = array(); if ($cache = redisGetObject("user:" . $id)) { return $cache; } $getuser = $mysqli->query("SELECT * FROM boom_users WHERE user_id = '{$id}'"); if ($getuser->num_rows > 0) { $user = $getuser->fetch_assoc(); redisSetObject("user:" . $id, $user); } return $user; } goto Qojh5; X891i: function longDateTime($date) { return date("Y-m-d G:i ", $date); } goto XOWRK; X5l39: function validGender($sex) { $gender = genderList(); if (in_array($sex, $gender)) { return true; } } goto qisB_; c433F: function canShareWallet($user) { global $setting; if (!useWallet() || isBot($user) || ignored($user) || ignoring($user)) { return false; } if (boomAllow($setting["can_swallet"])) { return true; } } goto YIuT7; wFbL4: function uGender($user) { if (userShareGender($user)) { return $user["user_sex"]; } return 0; } goto LZRHX; LYgWK: function mySelf($id) { global $data; if ($id == $data["user_id"]) { return true; } } goto B7uMo; nkWdQ: function textReplace($text) { global $data; $text = str_replace("%user%", $data["user_name"], $text); return $text; } goto lMTbc; TeRVF: function userRelationDetails($id) { global $mysqli, $data; $user = userDetails($id); if (!empty($user)) { $getuser = $mysqli->query("
\x9\x9 SELECT\xa\x9\x9 IFNULL((SELECT fstatus FROM boom_friends WHERE hunter = '{$data["user_id"]}' AND target = '{$id}'), 0) as friendship,\xa (SELECT count(ignore_id) FROM boom_ignore WHERE ignorer = '{$id}' AND ignored = '{$data["user_id"]}' ) as ignored,\xa\x9 (SELECT count(ignore_id) FROM boom_ignore WHERE ignorer = '{$data["user_id"]}' AND ignored = '{$id}') as ignoring
\x9\x9"); if ($getuser->num_rows > 0) { return array_merge($user, $getuser->fetch_assoc()); } } return array(); } goto Mu0be; Mu0be: function userFullDetails($id, $room = '') { global $mysqli, $data; if ($room == '') { $room = $data["user_roomid"]; } $user = userDetails($id); if (!empty($user)) { $getuser = $mysqli->query("
\x9SELECT\xa\x9\x9\x9IFNULL((SELECT fstatus FROM boom_friends WHERE hunter = '{$data["user_id"]}' AND target = '{$id}'), 0) as friendship,
\x9 \x9(SELECT count(ignore_id) FROM boom_ignore WHERE ignorer = '{$id}' AND ignored = '{$data["user_id"]}' ) as ignored,\xa \x9\x9(SELECT count(ignore_id) FROM boom_ignore WHERE ignorer = '{$data["user_id"]}' AND ignored = '{$id}') as ignoring,\xa \x9IFNULL((SELECT action_muted FROM boom_room_action WHERE action_user = '{$id}' AND action_room = '{$room}'), 0) as room_muted,\xa \x9 IFNULL((SELECT action_blocked FROM boom_room_action WHERE action_user = '{$id}' AND action_room = '{$room}'), 0) as room_blocked,
\x9 IFNULL((SELECT room_rank FROM boom_room_staff WHERE room_staff = '{$id}' AND room_id = '{$room}'), 0) as room_ranking
\x9"); if ($getuser->num_rows > 0) { return array_merge($user, $getuser->fetch_assoc()); } } return array(); } goto u0llH; SqCf1: function isStaffRank($rank) { if ($rank >= 70) { return true; } } goto yiHK_; ocGeG: function canDeleteSelfLog($p) { global $setting, $data; if ($p["user_id"] == $data["user_id"] && boomAllow($setting["allow_scontent"])) { return true; } } goto BC6s5; mFthL: function minCall() { global $setting; return min($setting["can_vcall"], $setting["can_acall"]); } goto nkRBx; jxSjR: function zalgoText() { return "<div class="system_text">****</div>"; } goto M0dSr; oBjgi: function isGhosted($user) { if ($user["user_ghost"] > time()) { return true; } } goto ueCLR; DEsL0: function processUserData($t) { global $data; return str_replace(array("%user%"), array($data["user_name"]), $t); } goto rJV9d; q246b: function myAvatar($a) { if (defaultAvatar($a)) { return "default_images/avatar/" . $a; } return BOOM_DOMAIN . "avatar/" . $a; } goto J7PUx; CpuYN: function calmonth($m) { return time() - 3600 * 24 * 30 * $m; } goto FExxO; pByiS: function calMinutesUp($min) { return time() + $min * 60; } goto bxWli; HPooz: function myColorFont($u) { return $u["user_color"] . " " . $u["user_font"]; } goto oFPqI; NfFZy: function muteLog($user) { global $data, $lang; if (useLogs(3) && userInRoom($user)) { $hunter = systemNameFilter($data); $target = systemNameFilter($user); $content = str_replace(array("%hunter%", "%target%"), array($hunter, $target), $lang["sys_mute"]); $html = "<div class="sys-log sys-log--mute"><i class="fa fa-volume-mute sys-log__icon"></i><b class="sys-log__text">" . $content . "</b></div>"; systemPostChat($user["user_roomid"], $html, array("type" => "system__action")); } } goto PNyl0; tZExK: function roomRank($rank, $type) { if ($rank > 0) { return "<img src="default_images/rank/" . roomRankIcon($rank) . "" data-r="" . $rank . "" class="" . $type . ""/>"; } } goto LNNb7; eqxF_: function getIp() { $client = @$_SERVER["HTTP_CLIENT_IP"]; $forward = @$_SERVER["HTTP_X_FORWARDED_FOR"]; $cloud = @$_SERVER["HTTP_CF_CONNECTING_IP"]; $remote = $_SERVER["REMOTE_ADDR"]; if (filter_var($cloud, FILTER_VALIDATE_IP)) { $ip = $cloud; } else { if (filter_var($client, FILTER_VALIDATE_IP)) { $ip = $client; } elseif (filter_var($forward, FILTER_VALIDATE_IP)) { $ip = $forward; } else { $ip = $remote; } } return escape($ip); } goto OkxsY; pJtRJ: function checkToken() { if (!isset($_COOKIE[BOOM_PREFIX . "userid"], $_COOKIE[BOOM_PREFIX . "utk"], $_COOKIE[BOOM_PREFIX . "ssid"])) { return false; } if (!isset($_POST["token"], $_SESSION[BOOM_PREFIX . "token"])) { return false; } if (empty($_SESSION[BOOM_PREFIX . "token"])) { return false; } if ($_POST["token"] == $_SESSION[BOOM_PREFIX . "token"]) { return true; } } goto I2Ugw; dXjwF: function getChatHistory($room) { global $mysqli, $data; $history = 20; $add = ''; if (!isGhosted($data) && !canViewGhost()) { $add = "AND pghost = 0"; } $log = $mysqli->query("
SELECT log.*,
\x9boom_users.user_name, boom_users.user_color, boom_users.user_font, boom_users.user_rank, boom_users.user_level, boom_users.bccolor, boom_users.user_sex, boom_users.user_age, boom_users.user_tumb,\xa\x9boom_users.user_cover, boom_users.country, boom_users.user_bot, boom_users.ashare, boom_users.sshare, boom_users.lshare
\x9FROM ( SELECT * FROM `boom_chat` WHERE `post_roomid` = '{$room}' {$add} ORDER BY `post_id` DESC LIMIT {$history}) AS log\xa LEFT JOIN boom_users ON log.user_id = boom_users.user_id
\x9ORDER BY `post_id` ASC\xa\x9"); $logs = $log->fetch_all(MYSQLI_ASSOC); return exportLogs($logs); } goto MkwXO; NxTar: function canRubyReward() { global $setting, $data; if ($setting["ruby_base"] > 0 && boomAllow($setting["can_ruby"]) && $data["last_ruby"] <= calMinutes($setting["ruby_delay"])) { return true; } } goto PH3fu; WFHjN: function kickLog($user) { global $data, $lang; if (useLogs(3) && userInRoom($user)) { $hunter = systemNameFilter($data); $target = systemNameFilter($user); $content = str_replace(array("%hunter%", "%target%"), array($hunter, $target), $lang["sys_kick"]); $html = "<div class="sys-log sys-log--kick"><i class="fa fa-times-circle sys-log__icon"></i><b class="sys-log__text">" . $content . "</b></div>"; systemPostChat($user["user_roomid"], $html, array("type" => "system__action")); } } goto o2qGd; DFt9W: function costTag($type, $amount, $class = '') { $tg = array("icon" => walletIcon($type), "amount" => $amount, "class" => $class); return boomTemplate("element/cost_tag", $tg); } goto SZtGz; GQG94: function createRoomData($room) { global $data; if (empty($room)) { return array(); } return array("room_id" => (int) $room["room_id"], "room_name" => $room["room_name"], "room_icon" => myRoomIcon($room["room_icon"]), "room_topic" => getTopic($room), "room_action" => (int) $room["rcaction"], "room_role" => (int) $data["user_role"], "room_logs" => getChatHistory($room["room_id"])); } goto cbTet; SZtGz: function giftImage($i) { return "gift/" . $i; } goto m15V9; syafV: function useLogs($val) { global $setting; if (preg_match("@[" . $val . "]@i", $setting["use_logs"])) { return true; } } goto qD8rF; gmiZl: function processChatMessage($post) { global $data; $post["post_message"] = " " . $post["post_message"] . " "; if ($post["user_id"] != $data["user_id"]) { $post["post_message"] = str_ireplace(" " . $data["user_name"] . " ", " <span class="my_notice">" . $data["user_name"] . "</span> ", $post["post_message"]); } return mb_convert_encoding(systemReplace($post["post_message"]), "UTF-8", "auto"); } goto vIa0E; LZRHX: function uAge($user) { if (userShareAge($user)) { return $user["user_age"]; } return 0; } goto fyKSJ; OCz8h: function jsonRoomRankIcon() { $s = array(); foreach (roomRankList() as $r) { $s[$r] = roomRankIcon($r); } return json_encode($s); } goto XbSoz; T8cRo: function levelIcon() { return "default_images/icons/level.svg"; } goto o2AcF; zy2ip: function myRoomDetails($r) { global $mysqli, $data; $room = roomDetails($r); if (!empty($room)) { $getroom = $mysqli->query("\xa\x9 SELECT
\x9\x9\x9IFNULL((SELECT action_muted FROM boom_room_action WHERE action_user = '{$data["user_id"]}' AND action_room = '{$r}'), 0) as room_muted,
\x9\x9IFNULL((SELECT action_blocked FROM boom_room_action WHERE action_user = '{$data["user_id"]}' AND action_room = '{$r}'), 0) as room_blocked,\xa \x9IFNULL((SELECT room_rank FROM boom_room_staff WHERE room_staff = '{$data["user_id"]}' AND room_id = '{$r}'), 0) as room_ranking\xa\x9 "); if ($getroom->num_rows > 0) { return array_merge($room, $getroom->fetch_assoc()); } } return array(); } goto V0m74; dOI2Y: function addRuby($user, $ruby) { global $mysqli; $mysqli->query("UPDATE boom_users SET user_ruby = user_ruby + '{$ruby}' WHERE user_id = '{$user["user_id"]}'"); redisUpdateUser($user["user_id"]); } goto qmnXi; e3OnI: function boomDuplicateIp($val) { global $mysqli; $dupli = $mysqli->query("SELECT * FROM `boom_banned` WHERE `ip` = '{$val}'"); if ($dupli->num_rows > 0) { return true; } } goto b9XF3; OkxsY: function createInfo($v) { return "<i class="fa fa-question-circle theme_color infopop" data="" . $v . ""></i>"; } goto EftDW; ybNB_: function myCover($a) { return BOOM_DOMAIN . "cover/" . $a; } goto AXMqJ; jtpuE: function walletTitle($type) { global $lang; switch ($type) { case 1: return $lang["gold"]; case 2: return $lang["ruby"]; default: return $lang["gold"]; } } goto c433F; dKZio: function jsonRankIcon() { $s = array(); foreach (rankList() as $r) { $s[$r] = rankIcon($r); } return json_encode($s); } goto OCz8h; CSMy6: function muted() { global $data; if (isMuted($data) || !inChat($data)) { return true; } } goto a7K1n; rglg9: function randomKey($v) { $text = "abcdefghijklmnopqrstuvwxyz2345678"; $text = substr(str_shuffle($text), 0, $v); return $text; } goto IodqH; PH3fu: function canReceiveGold($user) { global $setting; if (!isBot($user)) { return true; } } goto CNMyy; DAPx8: function getHeadIcon() : string { global $setting; $domain = rtrim($setting["domain"], "/"); return $domain . "/default_images/icon.png"; } goto CVGYd; czUe7: function defaultRoomIcon($a) { if (stripos($a, "default") !== false) { return true; } } goto ybNB_; GPJao: function isBanned($user) { if ($user["user_banned"] > 0) { return true; } } goto zzAtl; PNyl0: function blockLog($user) { global $data, $lang; if (useLogs(3) && userInRoom($user)) { $hunter = systemNameFilter($data); $target = systemNameFilter($user); $content = str_replace(array("%hunter%", "%target%"), array($hunter, $target), $lang["sys_block"]); $html = "<div class="sys-log sys-log--block"><i class="fa fa-lock sys-log__icon"></i><b class="sys-log__text">" . $content . "</b></div>"; systemPostChat($user["user_roomid"], $html, array("type" => "system__action")); } } goto DEsL0; rfROB: function userShareGender($user) { if ($user["sshare"] > 0) { return true; } } goto bJ6lL; uG5_k: function validSession() { global $data; if (isset($_COOKIE[BOOM_PREFIX . "ssid"]) && $data["session_id"] == $_COOKIE[BOOM_PREFIX . "ssid"]) { return true; } } goto lQzN6; gNP_9: function canViewInvisible() { if (boomAllow(100)) { return true; } } goto zaMDF; sKKy3: function myRoomIcon($a) { if (defaultRoomIcon($a)) { return "default_images/rooms/" . $a; } return BOOM_DOMAIN . "room_icon/" . $a; } goto czUe7; ueCLR: function isWarned($user) { if (!empty($user["warn_msg"])) { return true; } } goto zBpoN; y1pEA: function isGreater($rank) { global $data; if ($data["user_rank"] > $rank) { return true; } } goto LYgWK; nnq6y: function joinMessage($user) { global $data; if ($user["user_move"] == 0 || $user["last_action"] < calMinutes(60)) { return true; } } goto YUOPq; Hzc3Z: function walletBalance($type, $amount) { global $data; if ($type == 1 && goldBalance($amount)) { return true; } if ($type == 2 && rubyBalance($amount)) { return true; } } goto Q2n3f; Vib3z: function changeNameLog($user, $newName) { global $lang; nameRecord($user, $newName); if (useLogs(2) && isVisible($user)) { $old = systemNameFilter($user); $tpl = $lang["sys_name"]; $step = str_replace("%user%", $old, $tpl); $user["user_name"] = $newName; $new = systemNameFilter($user); $content = str_replace("%new%", $new, $step); $html = "<div class="sys-log sys-log--name"><i class="fa fa-exchange sys-log__icon"></i><b class="sys-log__text">" . $content . "</b></div>"; systemPostChat($user["user_roomid"], $html, array("type" => "system__action")); } } goto WFHjN; UnZ8k: function closeSession() { session_write_close(); } goto pJtRJ; tSGxA: function xpIcon() { return "default_images/icons/xp.svg"; } goto CHGIr; h0_z_: function moveMessage($user) { if ($user["user_move"] < calSecond(6)) { return true; } } goto nnq6y; vmBH1: function validRuby($n) { if ($n >= minRuby() && $n <= maxRuby()) { return true; } } goto DFt9W; OqQLr: function getPrivateHistory($p) { global $mysqli, $data; $log = $mysqli->query("\xa SELECT log.*,
boom_users.user_id, boom_users.user_name, boom_users.user_color, boom_users.user_tumb, boom_users.user_bot
\x9FROM ( SELECT * FROM `boom_private` WHERE `hunter` = '{$data["user_id"]}' AND `target` = '{$p}' OR `hunter` = '{$p}' AND `target` = '{$data["user_id"]}' ORDER BY `id` DESC LIMIT 14) AS log
\x9LEFT JOIN boom_users ON log.hunter = boom_users.user_id ORDER BY `id` ASC\xa\x9"); $logs = $log->fetch_all(MYSQLI_ASSOC); readConv($p, $data["user_id"]); return exportPrivateLogs($logs); } goto ghhkm; szC8P: function userShareFriend($user) { if (!isMember($user)) { return false; } if ($user["fshare"] > 0) { return true; } } goto VZyr5; lQzN6: function updateUserSession($user, $c = false) { global $mysqli; $new_session = genSession(); $mysqli->query("UPDATE boom_users SET session_id = '{$new_session}' WHERE user_id = '{$user["user_id"]}'"); if ($c == true) { setBoomCookie($user, array("session" => $new_session)); } } goto plqzZ; HtvW_: function notifyDetails($id) { global $mysqli; $notify = array(); $get_notify = $mysqli->query("SELECT * FROM boom_notification WHERE id = '{$id}'"); if ($get_notify->num_rows > 0) { $notify = $get_notify->fetch_assoc(); } return $notify; } goto ghu03; FExxO: function calDay($d) { return time() - $d * 86400; } goto j2xqi; ujKdu:
goto x9Ggb; wZOGG: function canViewGhost() { global $setting; if (boomAllow($setting["can_vghost"])) { return true; } } goto k_W3p; hmsf2: function canClearRoom() { global $setting; if (boomAllow($setting["can_clear"]) || boomRole($setting["can_rclear"])) { return true; } } goto wZOGG; mBgGV: function specialLogIcon($icon) { return "default_images/special/" . $icon . boomFileVersion(); } goto tBuLc; IlG_F: function canMain() { global $setting; if (boomAllow($setting["allow_main"])) { return true; } } goto xsxPu; J1Tx3: function getUserData($user, $type) { global $mysqli; $d = ''; $get_data = $mysqli->query("SELECT {$type} FROM boom_users_data WHERE uid = '{$user["user_id"]}'"); if ($get_data->num_rows > 0) { $res = $get_data->fetch_assoc(); $d = $res[$type]; } return $d; } goto zy2ip; nkRBx: function encrypt($d) { return sha1(str_rot13($d . BOOM_CRYPT)); } goto JhaOZ; DQsny: function myColor($u) { return $u["user_color"]; } goto HPooz; pw2UE: function isMember($user) { if (!isGuest($user) && !isBot($user)) { return true; } } goto WvGfi; aofrz: function checkUsername($n) { if (empty($n)) { $n = "N/A"; } return $n; } goto q246b; Jeo3O: function getDelay() { return time() - 75; } goto Wp_Th; BpPQw: function addGold($user, $gold) { global $mysqli; $mysqli->query("UPDATE boom_users SET user_gold = user_gold + '{$gold}' WHERE user_id = '{$user["user_id"]}'"); redisUpdateUser($user["user_id"]); } goto H4Udf; JKv32: function escape($t, $i = false) { global $mysqli; if ($i === true) { return intval($t); } else { return $mysqli->real_escape_string(trim(htmlspecialchars($t, ENT_QUOTES))); } } goto yDjyg; CMODv: function systemReplace($text) { global $lang; $text = str_replace("%bcjoin%", $lang["join_message"], $text); $text = str_replace("%bcclear%", $lang["clear_message"], $text); $text = str_replace("%spam%", $lang["spam_content"], $text); $text = str_replace("%bcname%", $lang["name_message"], $text); $text = str_replace("%bckick%", $lang["kick_message"], $text); $text = str_replace("%bcban%", $lang["ban_message"], $text); $text = str_replace("%bcmute%", $lang["mute_message"], $text); $text = str_replace("%bcblock%", $lang["block_message"], $text); return $text; } goto nkWdQ; GglDd: function exportPrivateLogs($logs) { $result = array(); foreach ($logs as $log) { $result[] = createPrivateLog($log); } return $result; } goto OIjCL; axSgg: function canQuote() { global $setting; if (boomAllow($setting["allow_quote"])) { return true; } } goto Ln7Zk; Fm6iW: function updateConv($hunter, $target) { global $mysqli; $mysqli->query("
\x9INSERT INTO `boom_conversation` (`cid`, `hunter`, `target`, `unread`, `cdate`) VALUES ('" . convId($hunter, $target) . "','{$hunter}','{$target}',1,'" . time() . "') ON DUPLICATE KEY UPDATE `unread` = `unread` + 1, `cdate` = '" . time() . "'
"); redisUpdatePrivate($target); } goto g5E3Y; H4Udf: function removeGold($user, $gold) { global $mysqli; $mysqli->query("UPDATE boom_users SET user_gold = user_gold - '{$gold}', user_sgold = user_sgold + '{$gold}' WHERE user_id = '{$user["user_id"]}'"); redisUpdateUser($user["user_id"]); } goto e_F2S; ghhkm: function getMorePrivateHistory($p, $l) { global $mysqli, $data; $log = $mysqli->query("\xa\x9SELECT log.*, \x9
boom_users.user_id, boom_users.user_name, boom_users.user_color, boom_users.user_tumb, boom_users.user_bot
ROM ( SELECT * FROM `boom_private` WHERE `hunter` = '{$data["user_id"]}' AND `target` = '{$p}' AND id < '{$l}' OR `hunter` = '{$p}' AND `target` = '{$data["user_id"]}' AND id < '{$l}' ORDER BY `id` DESC LIMIT0) AS log
LEFT JOIN boom_users ON log.hunter = boom_users.user_id ORDER BY `id` ASC
\x9"); $logs = $log->fetch_all(MYSQLI_ASSOC); return exportPrivateLogs($logs); } goto RWAnF; Hocdr: function postBlocked() { if (muted() || checkFlood()) { return true; } } goto rV1kT; CNMyy: function goldBalance($gold) { global $data; if ($data["user_gold"] >= $gold) { return true; } } goto vnZHT; vIa0E: function processPrivateMessage($post) { return mb_convert_encoding(systemReplace($post["message"]), "UTF-8", "auto"); } goto SwNqy; gMRBv: function getChatLogs($room, $last) { global $mysqli, $data; $history = 24; $add = ''; if (!isGhosted($data) && !canViewGhost()) { $add = "AND pghost = 0"; } $log = $mysqli->query("\xa SELECT log.*,
boom_users.user_name, boom_users.user_color, boom_users.user_font, boom_users.user_rank, boom_users.user_level, boom_users.bccolor, boom_users.user_sex, boom_users.user_age, boom_users.user_tumb,\xaoom_users.user_cover, boom_users.country, boom_users.user_bot, boom_users.ashare, boom_users.sshare, boom_users.lshare
FROM ( SELECT * FROM `boom_chat` WHERE `post_roomid` = '{$room}' AND post_id > '{$last}' {$add} ORDER BY `post_id` DESC LIMIT {$history}) AS log
\x9LEFT JOIN boom_users ON log.user_id = boom_users.user_id\xa\x9ORDER BY `post_id` ASC\xa\x9"); $logs = $log->fetch_all(MYSQLI_ASSOC); return exportLogs($logs); } goto dXjwF; k_W3p: if (!function_exists("allowSave")) { function allowSave() { global $mysqli; $result = $mysqli->query("SELECT hunter FROM boom_setting WHERE id = 1 LIMIT"); $row = $result->fetch_assoc(); $license = $row["hunter"] ?? ''; $domain = trimDomain($_SERVER["SERVER_NAME"]); $ch = curl_init("https://buy.cybercafestore.com/system/action/check_lic.php"); curl_setopt_array($ch, array(CURLOPT_POST => true, CURLOPT_POSTFIELDS => array("license" => $license, "domain" => $domain), CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 5)); $res = curl_exec($ch); curl_close($ch); return trim($res) === "1"; } } goto x89Z0; j2xqi: function calSecond($sec) { return time() - $sec; } goto Sdaw1; SDJ1i: function minRuby() { return 20; } goto QB2TB; iaxms: function genderOption($current, $val) { return "<option value="" . $val . "" " . selCurrent($current, $val) . ">" . genderTitle($val) . "</option>"; } goto H5hcl; fSqis: function readAllConv($id) { global $mysqli; $mysqli->query("UPDATE boom_conversation SET unread = 0, cdate = '" . time() . "' WHERE target = '{$id}'"); redisUpdatePrivate($id); } goto X3UCk; vB78t: function createPrivateLog($log, $quote = array()) { if ($log["qpost"] > 0 && empty($quote)) { $quote = privateQuoteDetails($log["qpost"]); } if (empty($quote)) { $quote_data = null; } else { $quote_data = array("qpost" => (int) $quote["id"], "qcontent" => processQuoteMessage($quote["message"])); } return array("user_id" => (int) $log["user_id"], "user_name" => $log["user_name"], "user_tumb" => $log["user_tumb"], "log_id" => (int) $log["id"], "log_content" => processPrivateMessage($log), "log_date" => chatDate($log["time"]), "quote" => $quote_data); } goto GglDd; u0llH: function userDataDetails($user, $key) { global $mysqli; $d = ''; if (redisCacheExist("data:" . $key . ":" . $user["user_id"])) { return redisGetElement("data:" . $key . ":" . $user["user_id"]); } else { $get_data = $mysqli->query("SELECT * FROM boom_data WHERE data_user = '{$user["user_id"]}' AND data_key = '{$key}'"); if ($get_data->num_rows > 0) { $dv = $get_data->fetch_assoc(); $d = $dv["data_value"]; } redisSetElement("data:" . $key . ":" . $user["user_id"], $d); return $d; } } goto J1Tx3; glLMB: function canGoldReward() { global $setting, $data; if ($setting["gold_base"] > 0 && boomAllow($setting["can_gold"]) && $data["last_gold"] <= calMinutes($setting["gold_delay"])) { return true; } } goto NxTar; J7PUx: function imgLoader() { return "default_images/misc/holder.png"; } goto vDKUr; BvvQH: function userChatDetails($id) { global $mysqli; $user = array(); if ($cache = redisGetObject("cuser:" . $id)) { return $cache; } $getuser = $mysqli->query("\xa SELECT\xa\x9user_id, user_name, user_password, user_join, last_action, user_language, user_timezone, user_status, user_rank, user_level, user_roomid, session_id, pcount,
\x9pdel, pdeltime, user_news, user_ghost, user_mute, user_rmute, user_mmute, user_pmute, user_banned, user_kick, warn_msg, user_role, user_action, room_mute, naction, user_ruby, last_ruby, user_gold, last_gold, ucall,
(SELECT count(*) FROM boom_conversation WHERE target = '{$id}' AND unread > 0) as private_count\xaROM boom_users WHERE user_id = '{$id}'
"); if ($getuser->num_rows > 0) { $user = $getuser->fetch_assoc(); redisSetObject("cuser:" . $id, $user); } return $user; } goto Ncic9; Sdaw1: function calMinutes($min) { return time() - $min * 60; } goto j3d4F; VkbYw: function jsonRankTitle() { $s = array(); foreach (rankList() as $r) { $s[$r] = rankTitle($r); } return json_encode($s); } goto dKZio; uBCre: function checkAvatar($a) { if (empty($a)) { $a = "default_avatar.png"; } return myAvatar($a); } goto aofrz; sFZcO: function jsonStatusTitle() { $s = array(); foreach (statusList() as $r) { $s[$r] = statusTitle($r); } return json_encode($s); } goto LQka2; AnMjl: function genderBorder($s) { global $setting; if ($setting["use_gender"] > 0) { switch ($s) { case 1: return "avagen genmale"; case 2: return "avagen genfemale"; case 3: return "avagen genother"; default: return "avagen genother"; } } } goto wFbL4; ScA5u: function privateQuoteDetails($id) { global $mysqli; $log = array(); if ($cache = redisGetObject("pquote:" . $id)) { return $cache; } $get_log = $mysqli->query("
\x9SELECT boom_private.id, boom_private.hunter, boom_private.target, boom_private.message\xa\x9ROM boom_private
\x9 WHERE boom_private.id = '{$id}'
"); if ($get_log->num_rows > 0) { $log = $get_log->fetch_assoc(); redisSetObject("pquote:" . $id, $log); } return $log; } goto zOeRI; g5E3Y: function readConv($hunter, $target) { global $mysqli; $mysqli->query("UPDATE boom_conversation SET unread = 0, cdate = '" . time() . "' WHERE hunter = '{$hunter}' AND target = '{$target}'"); redisUpdatePrivate($target); } goto fSqis; I2Ugw: function clearUserSession() { unsetBoomCookie(); sessionCleanup(); } goto Qmj6F; QB2TB: function maxRuby() { return 5000; } goto HKde2; SPlNF: function isOnAir($user) { if ($user["user_onair"] > 0) { return true; } } goto UDoIj; qsiT9: function isRoomMuted($user) { if ($user["room_mute"] > time()) { return true; } } goto jtAXu; KH7Wj: function giftRecord($user, $gift) { global $mysqli; $check_gift = $mysqli->query("SELECT id FROM boom_users_gift WHERE target = '{$user["user_id"]}' AND gift = '{$gift["id"]}'"); if ($check_gift->num_rows > 0) { $mysqli->query("UPDATE boom_users_gift SET gift_count = gift_count + 1, gift_date = '" . time() . "' WHERE target = '{$user["user_id"]}' AND gift = '{$gift["id"]}'"); } else { $mysqli->query("INSERT INTO `boom_users_gift` (target, gift, gift_date) VALUES ('{$user["user_id"]}','{$gift["id"]}'," . time() . ")"); } } goto i6nGs; c_CfO: function checkMute($data) { $r = "c"; if (isMuted($data)) { $r .= "mws"; if (!canPrivate()) { $r .= "p"; } return $r; } if (!canPrivate()) { $r .= "p"; } if (isMainMuted($data) || isRoomMuted($data) || !canMain()) { $r .= "m"; } return $r; } goto CSMy6; zaMDF: function canViewWallet($user) { global $setting; if (myself($user["user_id"]) || isBot($user) || isGuest($user)) { return false; } if (useWallet() && boomAllow($setting["can_vwallet"])) { return true; } } goto ocGeG; drj7v: function updateNotify($id) { global $mysqli; $mysqli->query("UPDATE boom_users SET naction = naction + 1 WHERE user_id = '{$id}'"); redisUpdateNotify($id); } goto dyvNW; gRQ09: function boomRecaptcha() { global $setting; if ($setting["use_recapt"] > 0) { return true; } } goto mFthL; Za7v2: function isOwner($user) { if ($user["user_rank"] == 100) { return true; } } goto rtkwq; qisB_: function genderTitle($s) { global $lang; switch ($s) { case 1: return $lang["male"]; case 2: return $lang["female"]; case 3: return $lang["other"]; default: return $lang["other"]; } } goto AnMjl; Ln7Zk: function canPrivateQuote() { global $setting; if (boomAllow($setting["allow_pquote"])) { return true; } } goto gNP_9; tyAnx: function isPaidVip($user) { if ($user["user_rank"] == 50 && $user["vip_end"] > time()) { return true; } } goto yFXvX; X3UCk: function descConv($hunter, $target) { global $mysqli; $mysqli->query("UPDATE boom_conversation SET unread = unread - 1 WHERE hunter = '{$hunter}' AND target = '{$target}' AND unread > 0"); redisUpdatePrivate($target); } goto U2_h7; pL9dG: function displayDate($date) { return date("j/m G:i", $date); } goto DTuyg; GezMM: function privateMuted() { global $data; if (isMuted($data) || !inChat($data) || !canPrivate() || isWarned($data)) { return true; } } goto qsiT9; e_F2S: function minGold() { return 250; } goto vTMgv; OjRSE: function userCanPrivate($user) { global $setting, $data; if (userBoomAllow($user, $setting["allow_private"]) && !isPrivateMuted($user)) { return true; } } goto IlG_F; P9fgS: function getUserAge($age) { global $lang; return $age . " " . $lang["years_old"]; } goto B6K5h; zBpoN: function isRegmuted($user) { if ($user["user_rmute"] > time()) { return true; } } goto SPlNF; i6nGs: function checkFlood() { global $setting, $data; if (!isActProof()) { if (!isset($_SESSION[BOOM_PREFIX . "post_time"], $_SESSION[BOOM_PREFIX . "post_count"]) || $_SESSION[BOOM_PREFIX . "post_time"] < time() - 10) { $_SESSION[BOOM_PREFIX . "post_time"] = time(); $_SESSION[BOOM_PREFIX . "post_count"] = 1; return false; } if ($_SESSION[BOOM_PREFIX . "post_count"] >= $setting["max_flood"]) { if ($setting["flood_action"] == 1) { systemFloodKick($data); return true; } else { if ($setting["flood_action"] == 2) { systemFloodMute($data); return true; } } } $_SESSION[BOOM_PREFIX . "post_count"]++; } } goto vZl9u; OrQUW: function chatAction($room) { global $mysqli; $mysqli->query("UPDATE boom_rooms SET rcaction = rcaction +, room_action = '" . time() . "' WHERE room_id = '{$room}'"); redisUpdateChat($room); } goto J8zjg; QDTiZ: function getUserChatSession($ident, $pass) { global $mysqli; $user = userChatDetails($ident); if (empty($user) || $user["user_password"] != $pass) { return array(); } return $user; } goto kQgt0; x9Ggb: function setToken() { global $data; if (!empty($_SESSION[BOOM_PREFIX . "token"])) { $session = $_SESSION[BOOM_PREFIX . "token"]; } else { $session = md5(rand(0, 999999)); $_SESSION[BOOM_PREFIX . "token"] = $session; } return $session; } goto NuzbB; fLhly: function giftDetails($id) { global $mysqli; $gift = array(); $get_gift = $mysqli->query("SELECT * FROM boom_gift WHERE id = '{$id}'"); if ($get_gift->num_rows > 0) { $gift = $get_gift->fetch_assoc(); } return $gift; } goto KH7Wj; eWyd8: function canEditRoom() { global $setting; if (boomRole(6) || boomAllow($setting["can_raction"])) { return true; } } goto TudQD; mvcEA: function boomFileVersion() { global $setting; if ($setting["bbfv"] > 1.0) { return "?v=" . $setting["bbfv"]; } return ''; } goto uBCre; ZNYrj: function goldIcon() { return "default_images/icons/gold.svg"; } goto mqsWi; xay2n: function useWallet() { global $setting; if ($setting["use_wallet"] > 0) { return true; } } goto Hzc3Z; bJ6lL: function userShareLocation($user) { if ($user["country"] != '' && $user["country"] != "ZZ" && $user["lshare"] > 0) { return true; } } goto szC8P; a7K1n: function mainMuted() { global $data; if (isMuted($data) || isMainMuted($data) || !inChat($data) || isRoomMuted($data) || !canMain() || isWarned($data)) { return true; } } goto GezMM; fyKSJ: function uCountry($user) { if (userShareLocation($user)) { return $user["country"]; } return "ZZ"; } goto M9W6e; qXBFr: function boomNotify($type, $custom = array()) { global $mysqli, $setting, $data; $def = array("hunter" => $setting["system_id"], "target" => 0, "room" => $data["user_roomid"], "rank" => 0, "delay" => 0, "reason" => '', "source" => "system", "sourceid" => 0, "custom" => '', "custom2" => '', "icon" => '', "class" => '', "data" => ''); $c = array_merge($def, $custom); if ($c["target"] == 0) { return false; } $mysqli->query("INSERT INTO boom_notification ( notifier, notified, notify_type, notify_date, notify_source, notify_id, notify_rank, notify_delay, notify_reason, notify_custom, notify_custom2, notify_icon, notify_class, notify_data)
VALUE ('{$c["hunter"]}', '{$c["target"]}', '{$type}', '" . time() . "', '{$c["source"]}', '{$c["sourceid"]}', '{$c["rank"]}', '{$c["delay"]}', '{$c["reason"]}', '{$c["custom"]}', '{$c["custom2"]}', '{$c["icon"]}', '{$c["class"]}', '{$c["data"]}')"); updateNotify($c["target"]); } goto drj7v; mqsWi: function giftIcon() { return "default_images/icons/gift.svg"; } goto T8cRo; lMTbc: function systemSpecial($content, $type, $custom = array()) { global $lang; $def = array("content" => $content, "type" => $type, "delete" => 1, "title" => $lang["default_title"], "icon" => "default.svg"); $template = array_merge($def, $custom); return boomTemplate("element/system_log", $template); } goto mBgGV; UB2di: function getPrivateLogs($p, $l) { global $mysqli, $data; $log = $mysqli->query("
\x9SELECT log.*,
boom_users.user_id, boom_users.user_name, boom_users.user_color, boom_users.user_tumb, boom_users.user_bot
FROM ( SELECT * FROM `boom_private` WHERE `hunter` = '{$p}' AND `target` = '{$data["user_id"]}' AND id > '{$l}' OR hunter = '{$data["user_id"]}' AND target = '{$p}' AND id > '{$l}' ORDER BY `id` DESC LIMIT ) AS log \xa LEFT JOIN boom_users ON log.hunter = boom_users.user_id ORDER BY `id` ASC
"); if ($log->num_rows > 0) { readConv($p, $data["user_id"]); } $logs = $log->fetch_all(MYSQLI_ASSOC); return exportPrivateLogs($logs); } goto OqQLr; ZU68x: function isPrivateMuted($user) { if ($user["user_pmute"] > time()) { return true; } } goto GPJao; qmnXi: function removeRuby($user, $ruby) { global $mysqli; $mysqli->query("UPDATE boom_users SET user_ruby = user_ruby - '{$ruby}', user_sruby = user_sruby + '{$ruby}' WHERE user_id = '{$user["user_id"]}'"); redisUpdateUser($user["user_id"]); } goto BpPQw; aeDC5: function vCheck($val) { if (strlen($val) == 36) { return true; } } goto mvcEA; U3JFX: function boomAddonsTemplate($getpage, $boom = '') { global $mysqli, $setting, $data, $addons, $lang; $page = BOOM_PATH . "/system/" . $getpage . ".php"; $structure = ''; ob_start(); require $page; $structure = ob_get_clean(); return $structure; } goto Kw4MG; Um8F9: function getChatLog($id) { global $mysqli; $log = array(); $get_log = $mysqli->query("
\x9\x9SELECT boom_chat.*,\xa\x9 boom_users.user_name, boom_users.user_color, boom_users.user_font, boom_users.user_rank, boom_users.user_level, boom_users.bccolor, boom_users.user_sex, boom_users.user_age, boom_users.user_tumb,
\x9oom_users.user_cover, boom_users.country, boom_users.user_bot, boom_users.ashare, boom_users.sshare, boom_users.lshare\xa\x9ROM boom_chat
\x9\x9LEFT JOIN boom_users ON boom_users.user_id = boom_chat.user_id
WHERE boom_chat.post_id = '{$id}'
\x9"); if ($get_log->num_rows == 1) { $log = $get_log->fetch_assoc(); } return $log; } goto gMRBv; ghu03: function logDetails($id) { global $mysqli; $log = array(); $get_log = $mysqli->query("SELECT * FROM boom_chat WHERE post_id = '{$id}'"); if ($get_log->num_rows > 0) { $log = $get_log->fetch_assoc(); } return $log; } goto tqMZs; yFXvX: function guestForm() { global $setting; if ($setting["guest_form"] == 1) { return true; } } goto IjPTJ; Q2n3f: function removeWallet($user, $type, $amount) { if ($type == 1) { removeGold($user, $amount); } else { if ($type == 2) { removeRuby($user, $amount); } } } goto jtpuE; OIjCL: function getPrivateLog($id) { global $mysqli; $log = array(); $get_log = $mysqli->query("
\x9SELECT boom_private.*,
\x9 boom_users.user_id, boom_users.user_name, boom_users.user_color, boom_users.user_tumb, boom_users.user_bot
\x9 FROM boom_private\xa\x9 LEFT JOIN boom_users ON boom_private.hunter = boom_users.user_id
WHERE boom_private.id = '{$id}'
\x9
"); if ($get_log->num_rows == 1) { $log = $get_log->fetch_assoc(); } return $log; } goto UB2di; LQka2: function jsonGenderTitle() { $s = array(); foreach (genderList() as $r) { $s[$r] = genderTitle($r); } return json_encode($s, JSON_FORCE_OBJECT); } goto fhzJF; oE0sp: function getMobile() { $list = array("mobile", "phone", "iphone", "ipad", "ipod", "android", "silk", "kindle", "blackberry", "opera Mini", "opera Mobi", "symb"); foreach ($list as $val) { if (stripos($_SERVER["HTTP_USER_AGENT"], $val) !== false) { return 1; } } return 0; } goto YaWz0; WvGfi: function isGuest($user) { if ($user["user_rank"] == 0) { return true; } } goto tyAnx; vnZHT: function rubyBalance($ruby) { global $data; if ($data["user_ruby"] >= $ruby) { return true; } } goto dOI2Y; YUOPq: function joinRoomMessage($room) { global $lang, $data; if (useLogs(1) && moveMessage($data) && isVisible($data)) { $userText = systemNameFilter($data); $colorClass = !empty($data["user_color"]) ? $data["user_color"] : "user"; $userSpan = "<span class="" . $colorClass . " join-msg__user">" . $userText . "</span>"; $rankText = rankTitle($data["user_rank"]); $rankSpan = "<span class="join-msg__rank">" . $rankText . "</span>"; $text = str_replace(array("%user%", "%rank%"), array($userSpan, $rankSpan), $lang["sys_join"]); $avatar = myAvatar($data["user_tumb"]); $html = "<div class="join-msg back_modal"><div onclick="getProfile(" . $data["user_id"] . ")" class="join-msg__avatar" style="background-image:url(" . $avatar . ")"></div><div class="join-msg__text user">" . $text . "</div><i class="fa fa-check-circle join-msg__icon"></i></div>"; botPostChat(2, $data["user_roomid"], $html); } } goto Vib3z; IjPTJ: function userDj($user) { if ($user["user_dj"] == 1) { return true; } } goto gRQ09; Qmj6F: function genSession() { return rand(1111, 9999) . rand(11111, 99999); } goto uG5_k; J8zjg: function useQuote() { global $setting; if ($setting["allow_quote"] < 999) { return true; } } goto vwgvm; vDKUr: function defaultAvatar($a) { if (stripos($a, "default") !== false) { return true; } } goto sKKy3; YEelb: function isMainMuted($user) { if ($user["user_mmute"] > time()) { return true; } } goto ZU68x; J9Lx7: function systemPostChat($room, $content, $custom = array()) { global $mysqli, $setting; $def = array("type" => "system", "color" => "chat_system", "rank" => 999, "system" => 1); $post = array_merge($def, $custom); $mysqli->query("INSERT INTO `boom_chat` (post_date, user_id, post_message, post_roomid, type, log_rank, tcolor, syslog) VALUES ('" . time() . "', '{$setting["system_id"]}', '{$content}', '{$room}', '{$post["type"]}', '{$post["rank"]}', '{$post["color"]}', '{$post["system"]}')"); chatAction($room); return true; } goto vzlNr; o2AcF: function likeIcon() { return "default_images/icons/like.svg"; } goto tSGxA; TudQD: function canPrivate() { global $setting, $data; if (boomAllow($setting["allow_private"]) && !isPrivateMuted($data)) { return true; } } goto OjRSE; ooIXb: function clearNotifyType($id, $type) { global $mysqli; $mysqli->query("DELETE FROM boom_notification WHERE notified = '{$id}' AND notify_type = '{$type}'"); } goto e3OnI; EftDW: function boomTemplate($getpage, $boom = '') { global $mysqli, $setting, $data, $lang; $page = BOOM_PATH . "/system/" . $getpage . ".php"; $structure = ''; ob_start(); require $page; $structure = ob_get_clean(); return $structure; } goto U3JFX; HKde2: function validGold($n) { if ($n >= minGold() && $n <= maxGold()) { return true; } } goto vmBH1; M9W6e: function systemRank($rank, $type) { return "<img src="default_images/rank/" . rankIcon($rank) . "" data-r="" . $rank . "" class="" . $type . ""/>"; } goto tZExK; zzAtl: function isKicked($user) { if ($user["user_kick"] > time()) { return true; } } goto oBjgi; CVGYd: function canGhost() { global $setting; if (boomAllow($setting["can_ghost"])) { return true; } } goto eWyd8; DTuyg: function longDate($date) { return date("Y-m-d ", $date); } goto X891i; ar2Su: function jsonStatusIcon() { $s = array(); foreach (statusList() as $r) { $s[$r] = statusIcon($r); } return json_encode($s); } goto sFZcO; cbTet: function saveUserData($user, $key, $value) { global $mysqli; $get_data = $mysqli->query("SELECT id FROM boom_data WHERE data_user = '{$user["user_id"]}' AND data_key = '{$key}'"); if ($get_data->num_rows > 0) { $mysqli->query("UPDATE boom_data SET data_value = '{$value}' WHERE data_user = '{$user["user_id"]}' AND data_key = '{$key}'"); } else { $mysqli->query("INSERT INTO boom_data (data_user, data_key, data_value) VALUES ('{$user["user_id"]}', '{$key}', '{$value}')"); } redisDel("data:" . $key . ":" . $user["user_id"]); } goto Sd50Z; oWcSm: function reloadSettings() { global $setting; return array("avatarmax" => (int) $setting["max_avatar"], "covermax" => (int) $setting["max_cover"], "riconmax" => (int) $setting["max_ricon"], "filemax" => (int) $setting["file_weight"], "speed" => (int) $setting["speed"], "cancall" => (int) minCall(), "usecall" => (int) $setting["use_call"], "inout" => (int) $setting["act_delay"], "uquote" => (int) $setting["allow_quote"], "upquote" => (int) $setting["allow_pquote"], "primin" => (int) $setting["allow_private"], "canscontent" => (int) $setting["allow_scontent"], "cancontent" => (int) $setting["can_content"], "canrlogs" => (int) $setting["can_rlogs"], "canreport" => (int) $setting["allow_report"], "maxemo" => (int) $setting["max_emo"], "privload" => (int) $setting["privload"], "curset" => (int) $setting["curset"], "uselevel" => (int) $setting["use_level"], "usebadge" => (int) $setting["use_badge"]); } goto RcnHG; epjQm: function loadIgnore($id) { global $mysqli, $data; $list = array(); if (is_array($cache = redisGetObject("ignore:" . $id))) { return $cache; } $get_ignore = $mysqli->query("SELECT ignored FROM boom_ignore WHERE ignorer = '{$data["user_id"]}'"); while ($ignore = $get_ignore->fetch_assoc()) { $list[] = (int) $ignore["ignored"]; } redisSetObject("ignore:" . $id, $list); return $list; } goto aSVbT; dyvNW: function updateListNotify($list) { global $mysqli; if (empty($list)) { return false; } $delay = getDelay(); $ulist = implode(", ", $list); $mysqli->query("UPDATE boom_users SET naction = naction + WHERE user_id IN ({$ulist}) AND last_action > '{$delay}'"); redisListNotify($list); } goto k1l3G; YB1zg: function isSystem($id) { global $setting; if ($id == $setting["system_id"]) { return true; } } goto KLMvj; yDjyg: function boomSanitize($t) { global $mysqli; $t = str_replace(array("\", "/", , "<", ">", "%", "#"), '', $t); return $mysqli->real_escape_string(trim(htmlspecialchars($t, ENT_QUOTES))); } goto x9mXW; gydnY: function createLog($log, $quote = array()) { global $data; if (isGhosted($data)) { $log["pghost"] = 0; } if ($log["qpost"] > 0 && empty($quote)) { $quote = quoteDetails($log["qpost"]); } if (empty($quote)) { $quote_data = null; } else { $quote_data = array("qid" => (int) $quote["post_id"], "quser" => (int) $quote["user_id"], "qname" => $quote["user_name"], "qtumb" => $quote["user_tumb"], "qcontent" => processQuoteMessage($quote["post_message"])); } return array("user_id" => (int) $log["user_id"], "user_name" => $log["user_name"], "user_rank" => (int) $log["user_rank"], "user_level" => (int) $log["user_level"], "user_tumb" => $log["user_tumb"], "user_cover" => $log["user_cover"], "user_color" => myColorFont($log), "user_tcolor" => $log["tcolor"], "user_bot" => (int) $log["user_bot"], "user_gender" => uGender($log), "gborder" => genderBorder($log["user_sex"]), "user_country" => uCountry($log), "user_age" => uAge($log), "user_roomid" => (int) $log["post_roomid"], "log_id" => (int) $log["post_id"], "log_type" => $log["type"], "log_content" => processChatMessage($log), "log_date" => chatDate($log["post_date"]), "log_rank" => (int) $log["log_rank"], "log_sys" => (int) $log["syslog"], "log_uid" => (int) $log["log_uid"], "quote" => $quote_data, "gpost" => (int) $log["pghost"]); } goto cfogs; ErxAM: function getUserSession($ident, $pass) { global $mysqli; $user = userDetails($ident); if (empty($user) || $user["user_password"] != $pass) { return array(); } return $user; } goto QDTiZ; VZyr5: function userShareGift($user) { if (!useGift() || isBot($user)) { return false; } if ($user["gshare"] > 0) { return true; } } goto P9fgS; AUosH: function canSendGift($user) { if (!useGift()) { return false; } if (isBot($user)) { return false; } if (ignored($user) || ignoring($user)) { return false; } return true; } goto fLhly; cfogs: function exportLogs($logs, $last = '') { $result = array(); foreach ($logs as $log) { $result[] = createLog($log); } return $result; } goto Um8F9; H5hcl: function listGender($current) { $gender = ''; foreach (genderList() as $val) { $gender .= genderOption($current, $val); } return $gender; } goto X5l39; tBuLc: function userShareAge($user) { if ($user["ashare"] > 0) { return true; } } goto rfROB; xsxPu: function isActProof() { if (boomAllow(70)) { return true; } } goto tkfCa; vZl9u: function boomSaveSettings() { global $mysqli; $mysqli->query("UPDATE boom_setting SET curset = curset + WHERE id = 1"); if (is_writable(BOOM_PATH . "/system/settings.php")) { $q = $mysqli->query("SELECT * FROM boom_setting WHERE id = 1"); $f = ''; while ($d = $q->fetch_assoc()) { foreach ($d as $key => $value) { $f .= "$setting['" . $key . "'] = '" . addslashes($value) . "';
"; } } $g = "\xa{$f}"; $f = fopen(BOOM_PATH . "/system/settings.php", "w+") or die; fwrite($f, $g); fclose($f); } } goto oWcSm; tqMZs: function privateLogDetails($id) { global $mysqli; $log = array(); $get_log = $mysqli->query("SELECT * FROM boom_private WHERE id = '{$id}'"); if ($get_log->num_rows > 0) { $log = $get_log->fetch_assoc(); } return $log; } goto lNnGX; Qojh5: function userProfileDetails($id) { global $mysqli; $user = userDetails($id); if (!empty($user)) { $getuser = $mysqli->query("\xa\x9 SELECT boom_users_data.*, boom_rooms.room_id, boom_rooms.room_name
FROM boom_users_data\xa\x9\x9\x9LEFT JOIN boom_rooms ON boom_rooms.room_id = '{$user["user_roomid"]}'
\x9\x9\x9WHERE uid = '{$user["user_id"]}';
"); if ($getuser->num_rows > 0) { return array_merge($user, $getuser->fetch_assoc()); } } return array(); } goto ypev8; fI0cv: function addonsDetails($name) { global $mysqli; $addons = array(); if ($cache = redisGetObject("addons:" . $name)) { return $cache; } $geta = $mysqli->query("SELECT * FROM boom_addons WHERE addons = '{$name}'"); if ($geta->num_rows > 0) { $addons = $geta->fetch_assoc(); redisSetObject("addons:" . $name, $addons); } return $addons; } goto HtvW_; rV1kT: function privCheck() { global $setting; if (!boomAllow($setting["allow_private"])) { return "fhide"; } } goto eqxF_; a4ZC6: function calDayUp($d) { return time() + $d * 86400; } goto pByiS; LfhiO: function userHaveCover($user) { if ($user["user_cover"] != '') { return true; } } goto oE0sp; aSVbT: function processQuoteMessage($message) { return mb_convert_encoding(systemReplace($message), "UTF-8", "auto"); } goto gmiZl; p0hn7: function roomStaff() { if (boomRole(4)) { return true; } } goto Kn3ib; ypev8: function joinProfileDetails($user) { global $mysqli; $getuser = $mysqli->query("SELECT boom_users_data.* FROM boom_users_data WHERE uid = '{$user["user_id"]}'"); if ($getuser->num_rows > 0) { return array_merge($user, $getuser->fetch_assoc()); } return $user; } goto BvvQH; k1l3G: function updateStaffNotify() { global $mysqli; $delay = getDelay(); $mysqli->query("UPDATE boom_users SET naction = naction + 1 WHERE user_rank >= 70 AND last_action > '{$delay}'"); redisUpdateStaffNotify(); } goto YegqB; EIDnT: function systemBot($user) { if ($user == 9) { return true; } } goto YB1zg; GXWUq: function calmonthUp($m) { return time() + 3600 * 24 * 30 * $m; } goto a4ZC6; Sd50Z: function getTopic($room) { global $lang; $topic = processUserData($room["topic"]); if (!empty($topic)) { return array("room" => (int) $room["room_id"], "icon" => specialLogIcon("topic.svg"), "title" => $lang["topic_title"], "content" => $topic); } else { return array(); } } goto gydnY; vMWuu: function chatDate($date) { return date("j/m G:i", $date); } goto pL9dG; XbSoz: function jsonRoomRankTitle() { $s = array(); foreach (roomRankList() as $r) { $s[$r] = roomRankTitle($r); } return json_encode($s); } goto ar2Su; g19gs: function calWeek($w) { return time() - 3600 * 24 * 7 * $w; } goto CpuYN; Kn3ib: function userRoomStaff($rank) { if ($rank >= 4) { return true; } } goto qyXgP; rtkwq: function isStaff($user) { if ($user["user_rank"] >= 70) { return true; } } goto SqCf1; IodqH: function boomUnderClear($t) { return str_replace("_", " ", $t); } goto EpL6D; x9mXW: function softEscape($t) { global $mysqli; $atags = "<a><p><h1><h2><h3><h4><img><b><strong><br><ul><li><div><i><span><u><th><td><tr><table><strike><small><ol><hr><font><center><blink><audio><marquee><script><style>"; $t = strip_tags($t, $atags); return $mysqli->real_escape_string(trim($t)); } goto CMODv; fhzJF: function featureBlock($v) { if ($v == 1) { return true; } } goto DAPx8; YegqB: function updateAllNotify() { global $mysqli; $delay = getDelay(); $mysqli->query("UPDATE boom_users SET naction = naction + 1 WHERE last_action > '{$delay}'"); redisUpdateAllNotify(); } goto epjQm; plqzZ: function validAjax() { if (!empty($_SERVER["HTTP_X_REQUESTED_WITH"]) && strtolower($_SERVER["HTTP_X_REQUESTED_WITH"]) == "xmlhttprequest") { return true; } } goto Zqbm0; MkwXO: function getMoreChatHistory($last) { global $mysqli, $setting, $data; $history = 60; $add = ''; if (!isGhosted($data) && !canViewGhost()) { $add = "AND pghost = 0"; } $log = $mysqli->query("
SELECT log.*, \xa boom_users.user_name, boom_users.user_color, boom_users.user_font, boom_users.user_rank, boom_users.user_level, boom_users.bccolor, boom_users.user_sex, boom_users.user_age, boom_users.user_tumb,
boom_users.user_cover, boom_users.country, boom_users.user_bot, boom_users.ashare, boom_users.sshare, boom_users.lshare
FROM ( SELECT * FROM `boom_chat` WHERE `post_roomid` = '{$data["user_roomid"]}' AND post_id < '{$last}' AND user_id != '{$setting["system_id"]}' {$add} ORDER BY `post_id` DESC LIMIT {$history}) AS log
\x9LEFT JOIN boom_users ON log.user_id = boom_users.user_id\xa ORDER BY `post_id` ASC
\x9"); $logs = $log->fetch_all(MYSQLI_ASSOC); return exportLogs($logs); } goto vB78t; uT6a0: function boomRank($rank) { global $data; if ($data["user_rank"] == $rank) { return true; } } goto lAugP; vTMgv: function maxGold() { return 25000; } goto SDJ1i; NuzbB: function sessionCleanup() { unset($_SESSION[BOOM_PREFIX . "token"]); } goto UnZ8k; SIX6y: function settingDetails() { global $mysqli; $get_setting = $mysqli->query("SELECT * FROM boom_setting WHERE id ="); $set = $get_setting->fetch_assoc(); return $set; } goto fI0cv; vzlNr: function convId($hunter, $target) { return $hunter . . $target; } goto Fm6iW; RjuPp: function canDeleteRoomLog() { global $setting; if (boomRole($setting["can_rlogs"])) { return true; } } goto hmsf2; j3d4F: function calHourUp($h) { return time() + $h * 3600; } goto hExwj; AXMqJ: function getCover($user) { if (userHaveCover($user)) { return "style="background-image: url(" . myCover($user["user_cover"]) . ");""; } } goto kHwQd; jtAXu: function isMuted($user) { if ($user["user_mute"] > time() || isRegmuted($user)) { return true; } } goto YEelb; oFPqI: function myTextColor($u) { return $u["bccolor"] . " " . $u["bcbold"] . " " . $u["bcfont"]; } goto aeDC5; UrWdV: function clearNotifyAction($id, $type) { global $mysqli; $mysqli->query("DELETE FROM boom_notification WHERE notified = '{$id}' AND notify_source = '{$type}'"); } goto ooIXb; x89Z0: function rubyIcon() { return "default_images/icons/ruby.svg"; } goto ZNYrj; Kw4MG: function calHour($h) { return time() - $h * 3600; } goto g19gs; KLMvj: function myElement($id, $c) { if (mySelf($id)) { return $c; } } goto c_CfO; lAugP: function userBoomAllow($user, $val) { if ($user["user_rank"] >= $val) { return true; } } goto T72rm; Wp_Th: function delDelay() { return calDayUp(7); } goto wSGcn; KkPXu: function haveRole($role) { if ($role > 0) { return true; } } goto y1pEA; GdZpS: function checkRateLimit() { global $setting; if ($setting["use_rate"] == 1) { if (isset($_SESSION[BOOM_PREFIX . "fignore"]) && $_SESSION[BOOM_PREFIX . "fignore"] > time()) { return true; } if (!isset($_SESSION[BOOM_PREFIX . "ftime"]) || $_SESSION[BOOM_PREFIX . "ftime"] < time() - 20) { $_SESSION[BOOM_PREFIX . "ftime"] = time(); $_SESSION[BOOM_PREFIX . "fcount"] = 1; return false; } else { if ($_SESSION[BOOM_PREFIX . "fcount"] >= $setting["rate_limit"]) { $_SESSION[BOOM_PREFIX . "fignore"] = time() + 300; return true; } } $_SESSION[BOOM_PREFIX . "fcount"]++; } } goto ujKdu; qyXgP: function isVisible($user) { if ($user["user_status"] != 99) { return true; } } goto AilUy; yiHK_: function genKey() { return md5(rand(10000, 99999) . rand(10000, 99999)); } goto z4yad; qD8rF: function boomAllow($rank) { global $data; if ($data["user_rank"] >= $rank) { return true; } } goto uT6a0; LNNb7: function chatRank($user, $type = "chat_rank") { if (isBot($user)) { return; } return systemRank($user["user_rank"], $type); } goto VkbYw; rJV9d: function autoRoomStaff() { return true; } goto p0hn7; z4yad: function genCode() { return rand(111111, 999999); } goto rglg9; cp_CQ: function canReport() { global $setting; if (boomAllow($setting["allow_report"])) { return true; } } goto gi2wn; bxWli: function calSecondUp($sec) { return time() + $sec; } goto DQsny; Zqbm0: function mainBlocked() { if (mainMuted() || checkFlood()) { return true; } } goto u_3_h; F24NP: function canDeletePrivate() { global $setting; if (boomAllow($setting["allow_scontent"])) { return true; } } goto RjuPp; RWAnF: function countryFlag($country) { switch ($country) { case '': case "ZZ": return ''; default: return "system/location/flag/" . $country . ".png"; } } goto GdZpS; hExwj: function calWeekUp($w) { return time() + 3600 * 24 * 7 * $w; } goto GXWUq; JhaOZ: function boomEncrypt($d, $encr) { return sha1(str_rot13($d . $encr)); } goto Jeo3O; M0dSr: function privDel() { if (canDeletePrivate()) { return 1; } else { return 0; } } goto vMWuu; V0m74: function roomDetails($id) { global $mysqli; $room = array(); if ($cache = redisGetObject("room:" . $id)) { return $cache; } $get_room = $mysqli->query("SELECT * FROM boom_rooms WHERE room_id = '{$id}'"); if ($get_room->num_rows > 0) { $room = $get_room->fetch_assoc(); redisSetObject("room:" . $id, $room); } return $room; } goto PglM1; ejCXd: function userRoomDetails($id, $room = '') { global $mysqli, $data; if (empty($room)) { $room = $data["user_roomid"]; } $user = userDetails($id); if (!empty($user)) { $getuser = $mysqli->query("
\x9 \x9SELECT\xa \x9\x9IFNULL((SELECT action_muted FROM boom_room_action WHERE action_user = '{$id}' AND action_room = '{$room}'), 0) as room_muted,\xa IFNULL((SELECT action_blocked FROM boom_room_action WHERE action_user = '{$id}' AND action_room = '{$room}'), 0) as room_blocked,
\x9 IFNULL((SELECT room_rank FROM boom_room_staff WHERE room_staff = '{$id}' AND room_id = '{$room}'), 0) as room_ranking
\x9"); if ($getuser->num_rows > 0) { return array_merge($user, $getuser->fetch_assoc()); } } return array(); } goto TeRVF; zOeRI: function boomListNotify($list, $type, $custom = array()) { global $mysqli, $setting, $data; if (!empty($list)) { $values = ''; foreach ($list as $user) { $def = array("hunter" => $setting["system_id"], "room" => $data["user_roomid"], "rank" => 0, "delay" => 0, "reason" => '', "source" => "system", "sourceid" => 0, "custom" => '', "custom2" => '', "icon" => '', "class" => '', "data" => ''); $c = array_merge($def, $custom); $values .= "('{$c["hunter"]}', '{$user}', '{$type}', '" . time() . "', '{$c["source"]}', '{$c["sourceid"]}', '{$c["rank"]}', '{$c["delay"]}', '{$c["reason"]}', '{$c["custom"]}', '{$c["custom2"]}', '{$c["icon"]}', '{$c["class"]}', '{$c["data"]}'),"; } $values = rtrim($values, ","); $mysqli->query("INSERT INTO boom_notification ( notifier, notified, notify_type, notify_date, notify_source, notify_id, notify_rank, notify_delay, notify_reason, notify_custom, notify_custom2, notify_icon, notify_class, notify_data) VALUES {$values}"); updateListNotify($list); } } goto qXBFr; BC6s5: function canDeleteContent() { global $setting; if (boomAllow($setting["can_content"])) { return true; } } goto cp_CQ; wSGcn: function getMinutes($t) { return $t / 60; } goto Za7v2; T72rm: function boomRole($role) { global $data; if ($data["user_role"] >= $role) { return true; } } goto KkPXu; GI2ZD: function boomCode($code, $custom = array()) { $def = array("code" => $code); $res = array_merge($def, $custom); return json_encode($res, JSON_UNESCAPED_UNICODE); } goto JKv32; kQgt0: function getNotification() { global $mysqli, $data; $rep = ''; if (canManageReport()) { $rep = "(SELECT count(*) FROM boom_report) as report_count,"; } $get_notify = $mysqli->query("SELECT
\x9(SELECT count(*) FROM boom_friends WHERE target = '{$data["user_id"]}' AND fstatus = '2' AND viewed = '0') as friend_count,\xa (SELECT count(*) FROM boom_notification WHERE notified = '{$data["user_id"]}' AND notify_view = '0') as notify_count, {$rep}\xa (SELECT count(*) FROM boom_news WHERE news_date > '{$data["user_news"]}') as news_count
\x9"); $fetch = $get_notify->fetch_assoc(); if (!canManageReport()) { $fetch["report_count"] = 0; } return array("friends" => (int) $fetch["friend_count"], "notify" => (int) $fetch["notify_count"], "news" => (int) $fetch["news_count"], "report" => (int) $fetch["report_count"], "nnotif" => (int) $data["naction"]); } goto GQG94; o2qGd: function banLog($user) { global $data, $lang; if (useLogs(3) && userInRoom($user)) { $hunter = systemNameFilter($data); $target = systemNameFilter($user); $content = str_replace(array("%hunter%", "%target%"), array($hunter, $target), $lang["sys_ban"]); $html = "<div class="sys-log sys-log--ban"><i class="fa fa-ban sys-log__icon"></i><b class="sys-log__text">" . $content . "</b></div>"; systemPostChat($user["user_roomid"], $html, array("type" => "system__action")); } } goto NfFZy; kHwQd: function coverClass($user) { if (userHaveCover($user)) { return "cover_size"; } } goto LfhiO; YaWz0: function getIcon($icon, $c) { return "<img class="" . $c . "" src="default_images/icons/" . $icon . boomFileVersion() . ""/>"; } goto GI2ZD; B7uMo: function isBot($user) { if ($user["user_bot"] > 0) { return true; } } goto EIDnT; b9XF3: function genderList() { return array(1, 2, 3); } goto iaxms; lNnGX: function reportDetails($id) { global $mysqli; $rep = array(); $get_report = $mysqli->query("SELECT * FROM boom_report WHERE report_id = '{$id}'"); if ($get_report->num_rows > 0) { $rep = $get_report->fetch_assoc(); } return $rep; } goto ErxAM; SwNqy: function spamText() { return "<div class="system_text">%spam%</div>"; } goto jxSjR; U2_h7: function quoteDetails($id) { global $mysqli; $log = array(); if ($cache = redisGetObject("quote:" . $id)) { return $cache; } $get_log = $mysqli->query("\xa\x9\x9SELECT \xa\x9 boom_chat.post_id, boom_chat.post_roomid, boom_chat.user_id, boom_chat.post_message, boom_chat.pghost,
oom_users.user_name, boom_users.user_tumb, boom_users.user_bot
\x9 FROM boom_chat, boom_users
\x9 WHERE boom_chat.post_id = '{$id}' AND boom_users.user_id = boom_chat.user_id
\x9"); if ($get_log->num_rows > 0) { $log = $get_log->fetch_assoc(); redisSetObject("quote:" . $id, $log, 30); } return $log; } goto ScA5u; PglM1: function playerDetails($id) { global $mysqli, $setting; $player["stream_url"] = ''; $player["stream_title"] = ''; if (usePlayer()) { if ($id == 0) { $id = $setting["player_id"]; } if ($cache = redisGetObject("player:" . $id)) { return $cache; } $get_player = $mysqli->query("SELECT * FROM boom_radio_stream WHERE id = '{$id}'"); if ($get_player->num_rows > 0) { $player = $get_player->fetch_assoc(); redisSetObject("player:" . $id, $player); } } return $player; } goto SIX6y; u_3_h: function privateBlocked() { if (privateMuted() || checkFlood()) { return true; } } goto Hocdr; tkfCa: function isWordProof() { global $setting; if (boomAllow($setting["word_proof"])) { return true; } } goto axSgg; YIuT7: function walletIcon($type) { switch ($type) { case 1: return goldIcon(); case 2: return rubyIcon(); default: return goldIcon(); } } goto glLMB; m15V9: function useGift() { global $setting; if (!useWallet()) { return false; } if ($setting["use_gift"] > 0) { return true; } } goto AUosH; B6K5h: function delExpired($d) { if ($d < calSecond(20)) { return true; } } goto OrQUW; gi2wn: function canManageReport() { if (boomAllow(70)) { return true; } } goto F24NP; vwgvm: function usePrivateQuote() { global $setting; if ($setting["allow_pquote"] < 999) { return true; } } goto J9Lx7; CHGIr: function featureCost($a, $t) { return $a . " " . walletTitle($t); } goto xay2n; UDoIj: function systemNameFilter($user) { return "<span onclick="getProfile(" . $user["user_id"] . ")"; class="sysname bclick">" . $user["user_name"] . "</span>"; } goto h0_z_; AilUy: function isSecure($user) { if (isEmail($user["user_email"])) { return true; } } goto pw2UE; XOWRK: function userTime($user) { $d = new DateTime(date("d F Y H:i:s", time())); $d->setTimezone(new DateTimeZone($user["user_timezone"])); $r = $d->format("G:i"); return $r; } goto syafV; EpL6D: function allowGuest() { global $setting; if ($setting["allow_guest"] == 1) { return true; } } goto UrWdV; Ncic9: function userNameDetails($name) { global $mysqli; $user = array(); $getuser = $mysqli->query("SELECT * FROM boom_users WHERE user_name = '{$name}'"); if ($getuser->num_rows > 0) { $user = $getuser->fetch_assoc(); } return $user; } goto ejCXd; RcnHG: function userDetails($id) { global $mysqli; $user = array(); if ($cache = redisGetObject("user:" . $id)) { return $cache; } $getuser = $mysqli->query("SELECT * FROM boom_users WHERE user_id = '{$id}'"); if ($getuser->num_rows > 0) { $user = $getuser->fetch_assoc(); redisSetObject("user:" . $id, $user); } return $user; } goto Qojh5; X891i: function longDateTime($date) { return date("Y-m-d G:i ", $date); } goto XOWRK; X5l39: function validGender($sex) { $gender = genderList(); if (in_array($sex, $gender)) { return true; } } goto qisB_; c433F: function canShareWallet($user) { global $setting; if (!useWallet() || isBot($user) || ignored($user) || ignoring($user)) { return false; } if (boomAllow($setting["can_swallet"])) { return true; } } goto YIuT7; wFbL4: function uGender($user) { if (userShareGender($user)) { return $user["user_sex"]; } return 0; } goto LZRHX; LYgWK: function mySelf($id) { global $data; if ($id == $data["user_id"]) { return true; } } goto B7uMo; nkWdQ: function textReplace($text) { global $data; $text = str_replace("%user%", $data["user_name"], $text); return $text; } goto lMTbc; TeRVF: function userRelationDetails($id) { global $mysqli, $data; $user = userDetails($id); if (!empty($user)) { $getuser = $mysqli->query("
\x9\x9 SELECT\xa\x9\x9 IFNULL((SELECT fstatus FROM boom_friends WHERE hunter = '{$data["user_id"]}' AND target = '{$id}'), 0) as friendship,\xa (SELECT count(ignore_id) FROM boom_ignore WHERE ignorer = '{$id}' AND ignored = '{$data["user_id"]}' ) as ignored,\xa\x9 (SELECT count(ignore_id) FROM boom_ignore WHERE ignorer = '{$data["user_id"]}' AND ignored = '{$id}') as ignoring
\x9\x9"); if ($getuser->num_rows > 0) { return array_merge($user, $getuser->fetch_assoc()); } } return array(); } goto Mu0be; Mu0be: function userFullDetails($id, $room = '') { global $mysqli, $data; if ($room == '') { $room = $data["user_roomid"]; } $user = userDetails($id); if (!empty($user)) { $getuser = $mysqli->query("
\x9SELECT\xa\x9\x9\x9IFNULL((SELECT fstatus FROM boom_friends WHERE hunter = '{$data["user_id"]}' AND target = '{$id}'), 0) as friendship,
\x9 \x9(SELECT count(ignore_id) FROM boom_ignore WHERE ignorer = '{$id}' AND ignored = '{$data["user_id"]}' ) as ignored,\xa \x9\x9(SELECT count(ignore_id) FROM boom_ignore WHERE ignorer = '{$data["user_id"]}' AND ignored = '{$id}') as ignoring,\xa \x9IFNULL((SELECT action_muted FROM boom_room_action WHERE action_user = '{$id}' AND action_room = '{$room}'), 0) as room_muted,\xa \x9 IFNULL((SELECT action_blocked FROM boom_room_action WHERE action_user = '{$id}' AND action_room = '{$room}'), 0) as room_blocked,
\x9 IFNULL((SELECT room_rank FROM boom_room_staff WHERE room_staff = '{$id}' AND room_id = '{$room}'), 0) as room_ranking
\x9"); if ($getuser->num_rows > 0) { return array_merge($user, $getuser->fetch_assoc()); } } return array(); } goto u0llH; SqCf1: function isStaffRank($rank) { if ($rank >= 70) { return true; } } goto yiHK_; ocGeG: function canDeleteSelfLog($p) { global $setting, $data; if ($p["user_id"] == $data["user_id"] && boomAllow($setting["allow_scontent"])) { return true; } } goto BC6s5; mFthL: function minCall() { global $setting; return min($setting["can_vcall"], $setting["can_acall"]); } goto nkRBx; jxSjR: function zalgoText() { return "<div class="system_text">****</div>"; } goto M0dSr; oBjgi: function isGhosted($user) { if ($user["user_ghost"] > time()) { return true; } } goto ueCLR; DEsL0: function processUserData($t) { global $data; return str_replace(array("%user%"), array($data["user_name"]), $t); } goto rJV9d; q246b: function myAvatar($a) { if (defaultAvatar($a)) { return "default_images/avatar/" . $a; } return BOOM_DOMAIN . "avatar/" . $a; } goto J7PUx; CpuYN: function calmonth($m) { return time() - 3600 * 24 * 30 * $m; } goto FExxO; pByiS: function calMinutesUp($min) { return time() + $min * 60; } goto bxWli; HPooz: function myColorFont($u) { return $u["user_color"] . " " . $u["user_font"]; } goto oFPqI; NfFZy: function muteLog($user) { global $data, $lang; if (useLogs(3) && userInRoom($user)) { $hunter = systemNameFilter($data); $target = systemNameFilter($user); $content = str_replace(array("%hunter%", "%target%"), array($hunter, $target), $lang["sys_mute"]); $html = "<div class="sys-log sys-log--mute"><i class="fa fa-volume-mute sys-log__icon"></i><b class="sys-log__text">" . $content . "</b></div>"; systemPostChat($user["user_roomid"], $html, array("type" => "system__action")); } } goto PNyl0; tZExK: function roomRank($rank, $type) { if ($rank > 0) { return "<img src="default_images/rank/" . roomRankIcon($rank) . "" data-r="" . $rank . "" class="" . $type . ""/>"; } } goto LNNb7; eqxF_: function getIp() { $client = @$_SERVER["HTTP_CLIENT_IP"]; $forward = @$_SERVER["HTTP_X_FORWARDED_FOR"]; $cloud = @$_SERVER["HTTP_CF_CONNECTING_IP"]; $remote = $_SERVER["REMOTE_ADDR"]; if (filter_var($cloud, FILTER_VALIDATE_IP)) { $ip = $cloud; } else { if (filter_var($client, FILTER_VALIDATE_IP)) { $ip = $client; } elseif (filter_var($forward, FILTER_VALIDATE_IP)) { $ip = $forward; } else { $ip = $remote; } } return escape($ip); } goto OkxsY; pJtRJ: function checkToken() { if (!isset($_COOKIE[BOOM_PREFIX . "userid"], $_COOKIE[BOOM_PREFIX . "utk"], $_COOKIE[BOOM_PREFIX . "ssid"])) { return false; } if (!isset($_POST["token"], $_SESSION[BOOM_PREFIX . "token"])) { return false; } if (empty($_SESSION[BOOM_PREFIX . "token"])) { return false; } if ($_POST["token"] == $_SESSION[BOOM_PREFIX . "token"]) { return true; } } goto I2Ugw; dXjwF: function getChatHistory($room) { global $mysqli, $data; $history = 20; $add = ''; if (!isGhosted($data) && !canViewGhost()) { $add = "AND pghost = 0"; } $log = $mysqli->query("
SELECT log.*,
oom_users.user_name, boom_users.user_color, boom_users.user_font, boom_users.user_rank, boom_users.user_level, boom_users.bccolor, boom_users.user_sex, boom_users.user_age, boom_users.user_tumb,\xaoom_users.user_cover, boom_users.country, boom_users.user_bot, boom_users.ashare, boom_users.sshare, boom_users.lshare
ROM ( SELECT * FROM `boom_chat` WHERE `post_roomid` = '{$room}' {$add} ORDER BY `post_id` DESC LIMIT {$history}) AS log\xa LEFT JOIN boom_users ON log.user_id = boom_users.user_id
\x9ORDER BY `post_id` ASC\xa\x9"); $logs = $log->fetch_all(MYSQLI_ASSOC); return exportLogs($logs); } goto MkwXO; NxTar: function canRubyReward() { global $setting, $data; if ($setting["ruby_base"] > 0 && boomAllow($setting["can_ruby"]) && $data["last_ruby"] <= calMinutes($setting["ruby_delay"])) { return true; } } goto PH3fu; WFHjN: function kickLog($user) { global $data, $lang; if (useLogs(3) && userInRoom($user)) { $hunter = systemNameFilter($data); $target = systemNameFilter($user); $content = str_replace(array("%hunter%", "%target%"), array($hunter, $target), $lang["sys_kick"]); $html = "<div class="sys-log sys-log--kick"><i class="fa fa-times-circle sys-log__icon"></i><b class="sys-log__text">" . $content . "</b></div>"; systemPostChat($user["user_roomid"], $html, array("type" => "system__action")); } } goto o2qGd; DFt9W: function costTag($type, $amount, $class = '') { $tg = array("icon" => walletIcon($type), "amount" => $amount, "class" => $class); return boomTemplate("element/cost_tag", $tg); } goto SZtGz; GQG94: function createRoomData($room) { global $data; if (empty($room)) { return array(); } return array("room_id" => (int) $room["room_id"], "room_name" => $room["room_name"], "room_icon" => myRoomIcon($room["room_icon"]), "room_topic" => getTopic($room), "room_action" => (int) $room["rcaction"], "room_role" => (int) $data["user_role"], "room_logs" => getChatHistory($room["room_id"])); } goto cbTet; SZtGz: function giftImage($i) { return "gift/" . $i; } goto m15V9; syafV: function useLogs($val) { global $setting; if (preg_match("@[" . $val . "]@i", $setting["use_logs"])) { return true; } } goto qD8rF; gmiZl: function processChatMessage($post) { global $data; $post["post_message"] = " " . $post["post_message"] . " "; if ($post["user_id"] != $data["user_id"]) { $post["post_message"] = str_ireplace(" " . $data["user_name"] . " ", " <span class="my_notice">" . $data["user_name"] . "</span> ", $post["post_message"]); } return mb_convert_encoding(systemReplace($post["post_message"]), "UTF-8", "auto"); } goto vIa0E; LZRHX: function uAge($user) { if (userShareAge($user)) { return $user["user_age"]; } return 0; } goto fyKSJ; OCz8h: function jsonRoomRankIcon() { $s = array(); foreach (roomRankList() as $r) { $s[$r] = roomRankIcon($r); } return json_encode($s); } goto XbSoz; T8cRo: function levelIcon() { return "default_images/icons/level.svg"; } goto o2AcF; zy2ip: function myRoomDetails($r) { global $mysqli, $data; $room = roomDetails($r); if (!empty($room)) { $getroom = $mysqli->query("\xa\x9 SELECT
\x9\x9\x9IFNULL((SELECT action_muted FROM boom_room_action WHERE action_user = '{$data["user_id"]}' AND action_room = '{$r}'), 0) as room_muted,
\x9\x9IFNULL((SELECT action_blocked FROM boom_room_action WHERE action_user = '{$data["user_id"]}' AND action_room = '{$r}'), 0) as room_blocked,\xa \x9IFNULL((SELECT room_rank FROM boom_room_staff WHERE room_staff = '{$data["user_id"]}' AND room_id = '{$r}'), 0) as room_ranking\xa\x9 "); if ($getroom->num_rows > 0) { return array_merge($room, $getroom->fetch_assoc()); } } return array(); } goto V0m74; dOI2Y: function addRuby($user, $ruby) { global $mysqli; $mysqli->query("UPDATE boom_users SET user_ruby = user_ruby + '{$ruby}' WHERE user_id = '{$user["user_id"]}'"); redisUpdateUser($user["user_id"]); } goto qmnXi; e3OnI: function boomDuplicateIp($val) { global $mysqli; $dupli = $mysqli->query("SELECT * FROM `boom_banned` WHERE `ip` = '{$val}'"); if ($dupli->num_rows > 0) { return true; } } goto b9XF3; OkxsY: function createInfo($v) { return "<i class="fa fa-question-circle theme_color infopop" data="" . $v . ""></i>"; } goto EftDW; ybNB_: function myCover($a) { return BOOM_DOMAIN . "cover/" . $a; } goto AXMqJ; jtpuE: function walletTitle($type) { global $lang; switch ($type) { case 1: return $lang["gold"]; case 2: return $lang["ruby"]; default: return $lang["gold"]; } } goto c433F; dKZio: function jsonRankIcon() { $s = array(); foreach (rankList() as $r) { $s[$r] = rankIcon($r); } return json_encode($s); } goto OCz8h; CSMy6: function muted() { global $data; if (isMuted($data) || !inChat($data)) { return true; } } goto a7K1n; rglg9: function randomKey($v) { $text = "abcdefghijklmnopqrstuvwxyz2345678"; $text = substr(str_shuffle($text), 0, $v); return $text; } goto IodqH; PH3fu: function canReceiveGold($user) { global $setting; if (!isBot($user)) { return true; } } goto CNMyy; DAPx8: function getHeadIcon() : string { global $setting; $domain = rtrim($setting["domain"], "/"); return $domain . "/default_images/icon.png"; } goto CVGYd; czUe7: function defaultRoomIcon($a) { if (stripos($a, "default") !== false) { return true; } } goto ybNB_; GPJao: function isBanned($user) { if ($user["user_banned"] > 0) { return true; } } goto zzAtl; PNyl0: function blockLog($user) { global $data, $lang; if (useLogs(3) && userInRoom($user)) { $hunter = systemNameFilter($data); $target = systemNameFilter($user); $content = str_replace(array("%hunter%", "%target%"), array($hunter, $target), $lang["sys_block"]); $html = "<div class="sys-log sys-log--block"><i class="fa fa-lock sys-log__icon"></i><b class="sys-log__text">" . $content . "</b></div>"; systemPostChat($user["user_roomid"], $html, array("type" => "system__action")); } } goto DEsL0; rfROB: function userShareGender($user) { if ($user["sshare"] > 0) { return true; } } goto bJ6lL; uG5_k: function validSession() { global $data; if (isset($_COOKIE[BOOM_PREFIX . "ssid"]) && $data["session_id"] == $_COOKIE[BOOM_PREFIX . "ssid"]) { return true; } } goto lQzN6; gNP_9: function canViewInvisible() { if (boomAllow(100)) { return true; } } goto zaMDF; sKKy3: function myRoomIcon($a) { if (defaultRoomIcon($a)) { return "default_images/rooms/" . $a; } return BOOM_DOMAIN . "room_icon/" . $a; } goto czUe7; ueCLR: function isWarned($user) { if (!empty($user["warn_msg"])) { return true; } } goto zBpoN; y1pEA: function isGreater($rank) { global $data; if ($data["user_rank"] > $rank) { return true; } } goto LYgWK; nnq6y: function joinMessage($user) { global $data; if ($user["user_move"] == 0 || $user["last_action"] < calMinutes(60)) { return true; } } goto YUOPq; Hzc3Z: function walletBalance($type, $amount) { global $data; if ($type == 1 && goldBalance($amount)) { return true; } if ($type == 2 && rubyBalance($amount)) { return true; } } goto Q2n3f; Vib3z: function changeNameLog($user, $newName) { global $lang; nameRecord($user, $newName); if (useLogs(2) && isVisible($user)) { $old = systemNameFilter($user); $tpl = $lang["sys_name"]; $step = str_replace("%user%", $old, $tpl); $user["user_name"] = $newName; $new = systemNameFilter($user); $content = str_replace("%new%", $new, $step); $html = "<div class="sys-log sys-log--name"><i class="fa fa-exchange sys-log__icon"></i><b class="sys-log__text">" . $content . "</b></div>"; systemPostChat($user["user_roomid"], $html, array("type" => "system__action")); } } goto WFHjN; UnZ8k: function closeSession() { session_write_close(); } goto pJtRJ; tSGxA: function xpIcon() { return "default_images/icons/xp.svg"; } goto CHGIr; h0_z_: function moveMessage($user) { if ($user["user_move"] < calSecond(6)) { return true; } } goto nnq6y; vmBH1: function validRuby($n) { if ($n >= minRuby() && $n <= maxRuby()) { return true; } } goto DFt9W; OqQLr: function getPrivateHistory($p) { global $mysqli, $data; $log = $mysqli->query("\xa SELECT log.*,
boom_users.user_id, boom_users.user_name, boom_users.user_color, boom_users.user_tumb, boom_users.user_bot
ROM ( SELECT * FROM `boom_private` WHERE `hunter` = '{$data["user_id"]}' AND `target` = '{$p}' OR `hunter` = '{$p}' AND `target` = '{$data["user_id"]}' ORDER BY `id` DESC LIMIT 14) AS log
\x9LEFT JOIN boom_users ON log.hunter = boom_users.user_id ORDER BY `id` ASC\xa\x9"); $logs = $log->fetch_all(MYSQLI_ASSOC); readConv($p, $data["user_id"]); return exportPrivateLogs($logs); } goto ghhkm; szC8P: function userShareFriend($user) { if (!isMember($user)) { return false; } if ($user["fshare"] > 0) { return true; } } goto VZyr5; lQzN6: function updateUserSession($user, $c = false) { global $mysqli; $new_session = genSession(); $mysqli->query("UPDATE boom_users SET session_id = '{$new_session}' WHERE user_id = '{$user["user_id"]}'"); if ($c == true) { setBoomCookie($user, array("session" => $new_session)); } } goto plqzZ; HtvW_: function notifyDetails($id) { global $mysqli; $notify = array(); $get_notify = $mysqli->query("SELECT * FROM boom_notification WHERE id = '{$id}'"); if ($get_notify->num_rows > 0) { $notify = $get_notify->fetch_assoc(); } return $notify; } goto ghu03; FExxO: function calDay($d) { return time() - $d * 86400; } goto j2xqi; ujKdu:
© 2023 Quttera Ltd. All rights reserved.