Advertisement
Guest User

core

a guest
May 5th, 2016
143
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 46.41 KB | None | 0 0
  1. <?php
  2. /*=========================================================+
  3. || # HabboCMS - Sistema de administración de contenido Habbo.
  4. |+=========================================================+
  5. || # Copyright © 2010 Kolesias123. All rights reserved.
  6. || # http://www.infosmart.com.mx
  7. || # Partes Copyright © 2009 Yifan Lu. All rights reserved.
  8. || # http://www.yifanlu.com
  9. || # Base Copyright © 2007-2008 Meth0d. All rights reserved.
  10. || # http://www.meth0d.org
  11. |+=========================================================+
  12. || # InfoSmart 2010. The power of Proyects.
  13. || # Este es un Software de código libre, libre edición.
  14. |+=========================================================+
  15. || # Todas las imagenes, scripts y temas
  16. || # Copyright (C) 2010 Sulake Ltd. All rights reserved.
  17. |+=========================================================*/
  18.  
  19. ########## INICIO DEL NUCLEO ####################################################
  20.  
  21. define("IN_HOLOCMS", TRUE);
  22. define("MY_IP", $_SERVER['REMOTE_ADDR']);
  23.  
  24. session_start();
  25.  
  26. @include('./includes/config.php');
  27. @include('../includes/config.php');
  28.  
  29. define("PATH", "http://".$path.$subpath);
  30.  
  31. ########## CONEXIÓN A LA BASE DE DATOS ##########################################
  32.  
  33. if(empty($dbhost) || empty($dbuser) || empty($dbpass) || empty($dbname)){
  34.  
  35. header("Location: ./setup/"); exit;
  36.  
  37. }else{
  38.  
  39. @mysql_connect($dbhost, $dbuser, $dbpass)or die("<br><font size='2' face='Tahoma'><b>¡Ha sucedido un error fatal!</b><br>Lo sentimos, pero por ahora el Hotel no se encuentra en condiciones para funcionar. Si eres el Administrador del Sitio, revisa la configuración de tu HabboCMS.</font>");
  40. @mysql_select_db($dbname)or die("<br><font size='2' face='Tahoma'><b>¡Ha sucedido un error fatal!</b><br>Lo sentimos, pero por ahora el Hotel no se encuentra en condiciones para funcionar. Si eres el Administrador del Sitio, revisa la configuración de tu HabboCMS.</font>");
  41.  
  42. }
  43.  
  44. ########## DECLARACIÓN DE VARIABLES GLOBALES ####################################
  45.  
  46. $sitename = getConfig("sitename");
  47. $shortname = getConfig("shortname");
  48. $client = getConfig("client");
  49. $maintenance = getConfig("site_closed");
  50. $analytics = getConfig("analytics");
  51. $description = getConfig("site_description");
  52. $keywords = getConfig("site_keywords");
  53. $online_count = getSystem("onlinecount");
  54.  
  55. $H = date('H');
  56. $i = date('i');
  57. $s = date('s');
  58. $m = date('m');
  59. $d = date('d');
  60. $Y = date('Y');
  61. $j = date('j');
  62. $n = date('n');
  63.  
  64. $date_normal = date('d-m-Y',mktime($m,$d,$Y));
  65. $date_reversed = date('Y-m-d', mktime($m,$d,$y));
  66. $date_name = $d."-".getMonth($m)."-".$Y." ".$H.":".$i.":".$s;
  67. $date_full = date('d-m-Y H:i:s',mktime($H,$i,$s,$m,$d,$Y));
  68. $date_time = date('H:i:s',mktime($H,$i,$s));
  69. $time_compare = (time() - 501);
  70.  
  71. ####################################################################################
  72.  
  73. function getConfig($value)
  74. {
  75. $sql = mysql_query("SELECT ".$value." FROM cms_system LIMIT 1") or die(mysql_error());
  76. $row = mysql_fetch_assoc($sql);
  77.  
  78. return $row[$value];
  79. }
  80.  
  81. function getSystem($value)
  82. {
  83. $sql = mysql_query("SELECT ".$value." FROM system LIMIT 1") or die(mysql_error());
  84. $row = mysql_fetch_assoc($sql);
  85.  
  86. return $row[$value];
  87. }
  88.  
  89. function getPub($value)
  90. {
  91. $sql = mysql_query("SELECT ".$value." FROM cms_pubs LIMIT 1") or die(mysql_error());
  92. $row = mysql_fetch_assoc($sql);
  93.  
  94. return $row[$value];
  95. }
  96.  
  97. function getRpx($value, $exist=false)
  98. {
  99. $sql = mysql_query("SELECT ".$value." FROM cms_rpx LIMIT 1") or die(mysql_error());
  100. $row = mysql_fetch_assoc($sql);
  101.  
  102. if($exist == true)
  103. {
  104. if(empty($row[$value])) { return false; } else { return true; }
  105. }
  106. else
  107. {
  108. return $row[$value];
  109. }
  110. }
  111.  
  112. function getServer($value, $switch = false){
  113.  
  114. $sql = mysql_query("SELECT sval FROM system_config WHERE skey = '".$value."' LIMIT 1") or die(mysql_error());
  115. $row = mysql_fetch_assoc($sql);
  116.  
  117. if($switch !== true){
  118. return $row['sval'];
  119. } else if($switch && $row['sval'] == "1"){
  120. return "Activado(s)";
  121. } else if($switch && $row['sval'] !== "1"){
  122. return "Desactivado(s)";
  123. }
  124.  
  125. }
  126.  
  127. ####################################################################################
  128.  
  129. if($require_facebook == true || $_SESSION['rpx'] == "facebook"){
  130.  
  131. @include('./facebook/facebook.php');
  132. @include('../facebook/facebook.php');
  133.  
  134. $facebook = new Facebook(getRpx("facebook_api"), getRpx("facebook_secret"));
  135. $fid = $facebook->require_login();
  136.  
  137. }
  138.  
  139. ####################################################################################
  140.  
  141. if($require_rpx == true || $_SESSION['rpx'] == "rpx"){
  142.  
  143. if(isset($_POST['token'])) {
  144. $_SESSION['rpx_token'] = $_POST['token'];
  145. }
  146.  
  147. @include('./rpx/rpx.php');
  148. @include('../rpx/rpx.php');
  149.  
  150. if($auth_info['stat'] == 'ok') {
  151.  
  152. $profile = $auth_info['profile'];
  153.  
  154. } else {
  155.  
  156. unset($_SESSION['rpx_token']);
  157. unset($_SESSION['rpx']);
  158.  
  159. $_SESSION['error'] = "<li>¡Ha sucedido un error fatal!</li>";
  160. header("location:".PATH."?page=".$_SERVER["REQUEST_URI"]."&username="); exit;
  161.  
  162. }
  163. }
  164.  
  165. ####################################################################################
  166.  
  167. function HoloHash($password)
  168. {
  169. @include('./includes/config.php');
  170. @include('../includes/config.php');
  171.  
  172. if($pass_hash){
  173. $string = sha1(sha1($password.infohabcms.strtolower($password)));
  174. }else{
  175. $string = $password;
  176. }
  177.  
  178. return $string;
  179. }
  180.  
  181. ####################################################################################
  182.  
  183. function getMonth($number)
  184. {
  185. switch ($number) {
  186. case "01":
  187. $return = "ene";
  188. break;
  189. case "02":
  190. $return = "feb";
  191. break;
  192. case "03":
  193. $return = "mar";
  194. break;
  195. case "04":
  196. $return = "abr";
  197. break;
  198. case "05":
  199. $return = "may";
  200. break;
  201. case "06":
  202. $return = "jun";
  203. break;
  204. case "07":
  205. $return = "jul";
  206. break;
  207. case "08":
  208. $return = "ago";
  209. break;
  210. case "09":
  211. $return = "sep";
  212. break;
  213. case "10":
  214. $return = "oct";
  215. break;
  216. case "11":
  217. $return = "nov";
  218. break;
  219. case "12":
  220. $return = "dic";
  221. break;
  222. }
  223. return $return;
  224. }
  225.  
  226. ####################################################################################
  227.  
  228. function showfriendsOnline($my_id, $show_names = false)
  229. {
  230.  
  231. $get_myfriends = mysql_query("SELECT * FROM messenger_friendships WHERE userid = '".$my_id."' OR friendid = '".$my_id."'") or die(mysql_error());
  232. $time_compare = (time() - 501);
  233. $counter = 0;
  234. $users = "";
  235.  
  236. while ($row = mysql_fetch_array($get_myfriends)){
  237.  
  238. if($row['userid'] == $my_id){
  239. $get_friend = mysql_query("SELECT name FROM users WHERE id = '".$row['friendid']."' AND online >= ".$time_compare." LIMIT 1");
  240. } else {
  241. $get_friend = mysql_query("SELECT name FROM users WHERE id = '".$row['userid']."' AND online >= ".$time_compare." LIMIT 1");
  242. }
  243.  
  244. $row2 = mysql_fetch_assoc($get_friend);
  245. $friend_exist = mysql_num_rows($get_friend);
  246.  
  247. if($friend_exist > 0){
  248. $counter++;
  249. $users = $users."\n<a href=\"".PATH."/home/".$row2['name']."\">".$row2['name']."</a>, ";
  250. }
  251.  
  252. }
  253.  
  254. if($show_names){
  255. return $users;
  256. } else {
  257. return $counter;
  258. }
  259. }
  260.  
  261.  
  262. ####################################################################################
  263.  
  264. function showfriendsOffline($my_id)
  265. {
  266.  
  267. $get_myfriends = mysql_query("SELECT * FROM messenger_friendships WHERE userid = '".$my_id."' OR friendid = '".$my_id."'") or die(mysql_error());
  268. $time_compare = (time() - 501);
  269. $counter = 0;
  270.  
  271. while ($row = mysql_fetch_array($get_myfriends)){
  272. if($row['userid'] == $my_id){
  273. $get_friend = mysql_query("SELECT name FROM users WHERE id = '".$row['friendid']."' AND online < ".$time_compare." LIMIT 1");
  274. } else {
  275. $get_friend = mysql_query("SELECT name FROM users WHERE id = '".$row['userid']."' AND online < ".$time_compare." LIMIT 1");
  276. }
  277.  
  278. $row2 = mysql_fetch_assoc($get_friend);
  279. $friend_exist = mysql_num_rows($get_friend);
  280.  
  281. if($friend_exist > 0){
  282. $counter++;
  283. }
  284. }
  285.  
  286. return $counter;
  287. }
  288.  
  289. ####################################################################################
  290.  
  291. function showtags($my_id)
  292. {
  293.  
  294. $get_tags = mysql_query("SELECT * FROM cms_tags WHERE ownerid = '".$my_id."'") or die(mysql_error());
  295. $get_total = mysql_num_rows($get_tags);
  296. $tags = "";
  297. $total_tags = 1;
  298.  
  299. while ($row = mysql_fetch_array($get_tags)){
  300. if($total_tags == $get_total){
  301. $final = "";
  302. } else {
  303. $final = ",";
  304. }
  305.  
  306. $tags = $tags.$row['tag'].$final;
  307. $total_tags++;
  308. }
  309.  
  310. return $tags;
  311. }
  312.  
  313. ####################################################################################
  314.  
  315. function IsFriend($myid, $userid)
  316. {
  317.  
  318. $get = mysql_query("SELECT * FROM messenger_friendships WHERE userid = '".$myid."' AND friendid = '".$userid."' LIMIT 1") or die(mysql_error());
  319. $get2 = mysql_query("SELECT * FROM messenger_friendships WHERE userid = '".$userid."' AND friendid = '".$myid."' LIMIT 1") or die(mysql_error());
  320.  
  321. if(mysql_num_rows($get) > 0 || mysql_num_rows($get2) > 0){
  322. return true;
  323. } else {
  324. return false;
  325. }
  326. }
  327.  
  328. ####################################################################################
  329.  
  330. if(!session_is_registered(username) && $_COOKIE['remember'] == "remember")
  331. {
  332.  
  333. $cname = FilterText($_COOKIE['rusername']);
  334. $cpass = FilterText($_COOKIE['rpassword']);
  335.  
  336. $csql = mysql_query("SELECT password FROM users WHERE name = '".$cname."' OR email = '".$cname."' LIMIT 1") or die(mysql_error());
  337. $cnum = mysql_num_rows($csql);
  338.  
  339. setcookie("remember", "", time()-60*60*24*100, "/"); setcookie("cookpass", "", time()-60*60*24*100, "/");
  340. setcookie("rusername", "", time()-60*60*24*100, "/"); setcookie("cookpass", "", time()-60*60*24*100, "/");
  341. setcookie("rpassword", "", time()-60*60*24*100, "/"); setcookie("cookpass", "", time()-60*60*24*100, "/");
  342.  
  343. if($cnum > 0){
  344.  
  345. $crow = mysql_fetch_assoc($csql);
  346. $correct_pass = $crow['password'];
  347.  
  348. if(HoloHash($cpass) == $correct_pass){
  349.  
  350. $_SESSION['check_username'] = $cname;
  351. $_SESSION['check_password'] = $cpass;
  352.  
  353. header("Location:".PATH."/security_check"); exit;
  354.  
  355. }
  356. }
  357. }
  358.  
  359. ####################################################################################
  360.  
  361. function IsEven($intNumber)
  362. {
  363. if($intNumber % 2 == 0){
  364. return "even";
  365. } else {
  366. return "odd";
  367. }
  368. }
  369.  
  370. ####################################################################################
  371.  
  372. function bbcode_format($str){
  373.  
  374. $simple_search = array(
  375. '/\[b\](.*?)\[\/b\]/is',
  376. '/\[i\](.*?)\[\/i\]/is',
  377. '/\[u\](.*?)\[\/u\]/is',
  378. '/\[s\](.*?)\[\/s\]/is',
  379. '/\[quote\](.*?)\[\/quote\]/is',
  380. '/\[link\=(.*?)\](.*?)\[\/link\]/is',
  381. '/\[url\=(.*?)\](.*?)\[\/url\]/is',
  382. '/\[color\=(.*?)\](.*?)\[\/color\]/is',
  383. '/\[size=small\](.*?)\[\/size\]/is',
  384. '/\[size=large\](.*?)\[\/size\]/is',
  385. '/\[code\](.*?)\[\/code\]/is',
  386. '/\[habbo\=(.*?)\](.*?)\[\/habbo\]/is',
  387. '/\[room\=(.*?)\](.*?)\[\/room\]/is',
  388. '/\[group\=(.*?)\](.*?)\[\/group\]/is'
  389. );
  390.  
  391. $simple_replace = array(
  392. '<strong>$1</strong>',
  393. '<em>$1</em>',
  394. '<u>$1</u>',
  395. '<s>$1</s>',
  396. "<div class='bbcode-quote'>$1</div>",
  397. "<a href='$1'>$2</a>",
  398. "<a href='$1'>$2</a>",
  399. "<font color='$1'>$2</font>",
  400. "<font size='1'>$1</font>",
  401. "<font size='3'>$1</font>",
  402. '<pre>$1</pre>',
  403. "<a href='".PATH."/home/$1/id'>$2</a>",
  404. "<a onclick=\"roomForward(this, '$1', 'private'); return false;\" target=\"client\" href=\"".PATH."/client?forwardId=2&roomId=$1\">$2</a>",
  405. "<a href='".PATH."/groups/$1/id'>$2</a>"
  406. );
  407.  
  408. $str = preg_replace ($simple_search, $simple_replace, $str);
  409. $str = str_replace(":)", " <img src='".PATH."/web-gallery/smilies/smile.gif' border='0'> ", $str);
  410. $str = str_replace(";)", " <img src='".PATH."/web-gallery/smilies/wink.gif' border='0'> ", $str);
  411. $str = str_replace(":P", " <img src='".PATH."/web-gallery/smilies/tongue.gif' border='0'> ", $str);
  412. $str = str_replace(";P", " <img src='".PATH."/web-gallery/smilies/winktongue.gif' border='0'> ", $str);
  413. $str = str_replace(":p", " <img src='".PATH."/web-gallery/smilies/tongue.gif' border='0'> ", $str);
  414. $str = str_replace(";p", " <img src='".PATH."/web-gallery/smilies/winktongue.gif' border='0'> ", $str);
  415. $str = str_replace("(L)", " <img src='".PATH."/web-gallery/smilies/heart.gif' border='0'> ", $str);
  416. $str = str_replace("(l)", " <img src='".PATH."/web-gallery/smilies/heart.gif' border='0'> ", $str);
  417. $str = str_replace(":o", " <img src='".PATH."/web-gallery/smilies/shocked.gif' border='0'> ", $str);
  418. $str = str_replace(":O", " <img src='".PATH."/web-gallery/smilies/shocked.gif' border='0'> ", $str);
  419.  
  420. return $str;
  421. }
  422.  
  423. ####################################################################################
  424.  
  425. function GenerateRandom($type = "sso", $length = 0)
  426. {
  427.  
  428. switch($type){
  429. case "sso":
  430. $data = GenerateRandom("random",8)."-".GenerateRandom("random",4)."-".GenerateRandom("random",4)."-".GenerateRandom("random",4)."-".GenerateRandom("random",12);
  431. return $data;
  432. break; case "app_key":
  433. $data = strtoupper(GenerateRandom("random",32)).".resin-fe-".GenerateRandom("random_number",1);
  434. return $data;
  435. break; case "random":
  436. $data = "";
  437. $possible = "0123456789abcdef";
  438. $i = 0;
  439. while ($i < $length) {
  440. $char = substr($possible, mt_rand(0, strlen($possible)-1), 1);
  441. $data .= $char;
  442. $i++;
  443. }
  444. return $data;
  445. break; case "random_number":
  446. $data = "";
  447. $possible = "0123456789";
  448. $i = 0;
  449. while ($i < $length) {
  450. $char = substr($possible, mt_rand(0, strlen($possible)-1), 1);
  451. $data .= $char;
  452. $i++;
  453. }
  454. return $data;
  455. break;
  456. }
  457. }
  458.  
  459. ####################################################################################
  460.  
  461. if(session_is_registered('username'))
  462. {
  463.  
  464. $rawname = FilterText($_SESSION['username']);
  465. $rawpass = HoloHash($_SESSION['password']);
  466.  
  467. $usersql = mysql_query("SELECT * FROM users WHERE name = '".$rawname."' AND password = '".$rawpass."' LIMIT 1");
  468. $myrow = mysql_fetch_assoc($usersql);
  469. $password_correct = mysql_num_rows($usersql);
  470.  
  471. if($password_correct !== 1){
  472.  
  473. unset($_SESSION['username']);
  474. unset($_SESSION['password']);
  475. $_SESSION['error'] = "Contraseña incorrecta";
  476. header("Location: ".PATH."/?page=".$_SERVER["REQUEST_URI"]."&username=".$rawname); exit;
  477.  
  478. } else if(IsUserBanned($myrow['id'], MY_IP)){
  479.  
  480. unset($_SESSION['username']);
  481. unset($_SESSION['password']);
  482. $_SESSION['error'] = "¡Has sido baneado! La razón es: \"".IsUserBanned($myrow['id'], MY_IP, true, false)." (id: ".$myrow['id'].")\", y acabará en ".IsUserBanned($myrow['id'], MY_IP, false, true).".";
  483. header("Location: ".PATH."/?page=".$_SERVER["REQUEST_URI"]."&username=".$rawname); exit;
  484. }
  485.  
  486. $my_rank = $myrow['rank'];
  487. $my_id = $myrow['id'];
  488. $name = FilterText($myrow['name']);
  489.  
  490. if($_SESSION['special_login'] == "habboid"){
  491.  
  492. $is_email = true;
  493. $explode = explode("@", $myrow['email']);
  494. $name_email = $explode[0];
  495. $avatar_image = "http://static.ak.fbcdn.net/pics/q_silhouette.gif";
  496.  
  497. } else if($_SESSION['special_login'] == "facebook"){
  498.  
  499. $is_facebook = true;
  500. $no_rea = true;
  501. $name_account = FilterText(textInJS($_SESSION['facebook']['name']));
  502. $first_name = FilterText(textInJS($_SESSION['facebook']['first_name']));
  503. $avatar_image = FilterText($_SESSION['facebook']['avatar']);
  504. $friends_now = $_SESSION['facebook']['friends'];
  505.  
  506. } else if($_SESSION['special_login'] == "rpx"){
  507.  
  508. $is_rpx = true;
  509. $no_rea = true;
  510. $provider = FilterText($_SESSION['srpx']['provider']);
  511. $first_name = FilterText(textInJS($_SESSION['srpx']['first_name']));
  512. $avatar_image = FilterText($_SESSION['srpx']['avatar']);
  513.  
  514. }
  515.  
  516. define("LOGGED_IN", TRUE);
  517.  
  518. } else {
  519.  
  520. $my_rank = "0";
  521. $my_id = "0";
  522. $name = "";
  523. define("LOGGED_IN", FALSE);
  524.  
  525. }
  526.  
  527. ####################################################################################
  528.  
  529. if(session_is_registered('email') && $_SESSION['already_login'] !== true)
  530. {
  531.  
  532. $rawemail = FilterText($_SESSION['email']);
  533. $rawpass = HoloHash($_SESSION['password']);
  534.  
  535. $usersql = mysql_query("SELECT * FROM users WHERE email = '".$rawemail."' AND password = '".$rawpass."' ORDER BY id LIMIT 1");
  536. $myrow = mysql_fetch_assoc($usersql);
  537. $password_correct = mysql_num_rows($usersql);
  538.  
  539. if($password_correct !== 1){
  540.  
  541. unset($_SESSION['email']);
  542. unset($_SESSION['password']);
  543. $_SESSION['error'] = "Contraseña incorrecta";
  544. header("Location: ".PATH."/?page=".$_SERVER["REQUEST_URI"]."&username=".$rawemail); exit;
  545.  
  546. } else if(IsUserBanned($myrow['id'], MY_IP)){
  547.  
  548. unset($_SESSION['email']);
  549. unset($_SESSION['password']);
  550. $_SESSION['error'] = "¡Has sido baneado! La razón es: \"".IsUserBanned($myrow['id'], MY_IP, true, false)." (id: ".$myrow['id'].")\", y acabará en ".IsUserBanned($myrow['id'], MY_IP, false, true).".";
  551. header("Location: ".PATH."/?page=".$_SERVER["REQUEST_URI"]."&username=".$rawemail); exit;
  552. }
  553.  
  554. $my_rank = $myrow['rank'];
  555. $my_id = $myrow['id'];
  556.  
  557. $explode = explode("@", $rawemail);
  558. $name = $explode[0];
  559. $fid = "0";
  560.  
  561. define("EMAIL_LOGGED_IN", TRUE);
  562.  
  563. } else {
  564. define("EMAIL_LOGGED_IN", FALSE);
  565. }
  566.  
  567. ####################################################################################
  568.  
  569. if($_SESSION['rpx'] == "facebook")
  570. {
  571. $usersql = mysql_query("SELECT * FROM users WHERE rpxid = '".$fid."' AND rpx_type = 'facebook' ORDER BY id LIMIT 1");
  572. $exist = mysql_num_rows($usersql);
  573. $myrow = mysql_fetch_assoc($usersql);
  574.  
  575. if($exist == 0){
  576.  
  577. unset($_SESSION['rpx']);
  578. $_SESSION['error'] = "¡Error desconcido al autenticarte!";
  579. header("Location: ".PATH."/?page=".$_SERVER["REQUEST_URI"]."&username="); exit;
  580.  
  581. } else if(IsUserBanned($myrow['id'], MY_IP)){
  582.  
  583. unset($_SESSION['rpx']);
  584. $_SESSION['error'] = "¡Has sido baneado! La razón es: \"".IsUserBanned($myrow['id'], MY_IP, true, false)." (id: ".$myrow['id'].")\", y acabará en ".IsUserBanned($myrow['id'], MY_IP, false, true).".";
  585. header("Location: ".PATH."/?page=".$_SERVER["REQUEST_URI"]."&username="); exit;
  586. }
  587.  
  588. $user_details = $facebook->api_client->users_getInfo($fid, array("first_name", "name", "pic_with_logo"));
  589.  
  590. foreach ($user_details as $details){
  591. $first_name = textInJS($details['first_name']);
  592. $name = textInJS($details['name']);
  593. $avatar_image = $details['pic_with_logo'];
  594. }
  595.  
  596. $friends_now = $facebook->api_client->friends_getAppUsers();
  597. $my_rank = $myrow['rank'];
  598. $my_id = $myrow['id'];
  599.  
  600. define("FACEBOOK_LOGGED_IN", TRUE);
  601.  
  602. } else {
  603. define("FACEBOOK_LOGGED_IN", FALSE);
  604. }
  605.  
  606. ####################################################################################
  607.  
  608. if($_SESSION['rpx'] == "rpx"){
  609.  
  610. $usersql = mysql_query("SELECT * FROM users WHERE rpxid = '".textInJS($profile['displayName'])."' AND rpx_type = 'rpx' ORDER BY id LIMIT 1");
  611. $exist = mysql_num_rows($usersql);
  612. $myrow = mysql_fetch_assoc($usersql);
  613.  
  614. if($exist == 0){
  615.  
  616. unset($_SESSION['rpx']);
  617. $_SESSION['error'] = "¡Error desconcido al autenticarte!";
  618. header("Location: ".PATH."/?page=".$_SERVER["REQUEST_URI"]."&username="); exit;
  619.  
  620. } else if(IsUserBanned($myrow['id'], MY_IP)){
  621.  
  622. unset($_SESSION['rpx']);
  623. $_SESSION['error'] = "¡Has sido baneado! La razón es: \"".IsUserBanned($myrow['id'], MY_IP, true, false)." (id: ".$myrow['id'].")\", y acabará en ".IsUserBanned($myrow['id'], MY_IP, false, true).".";
  624. header("Location: ".PATH."/?page=".$_SERVER["REQUEST_URI"]."&username="); exit;
  625. }
  626.  
  627. $first_name = textInJS($profile['preferredUsername'], true);
  628. $name = textInJS($profile['displayName'], true);
  629. $avatar_image = $profile['photo'];
  630.  
  631. $my_rank = $myrow['rank'];
  632. $my_id = $myrow['id'];
  633. define("RPX_LOGGED_IN", TRUE);
  634.  
  635. } else {
  636. define("RPX_LOGGED_IN", FALSE);
  637. }
  638.  
  639. ####################################################################################
  640.  
  641. if(getConfig("hotel_status") == "1")
  642. {
  643. $online = "online";
  644. }
  645. elseif(getConfig("hotel_status") == "2" && $my_rank > 4)
  646. {
  647. $online = "online";
  648. $staffs_only = true;
  649. } else {
  650. $online = "offline";
  651. }
  652.  
  653. ####################################################################################
  654.  
  655. function GetUserBadge($strName)
  656. {
  657.  
  658. $check = mysql_query("SELECT id FROM users WHERE (id = '".FilterText($strName)."' OR name = '".FilterText($strName)."') AND badge_status = '1' LIMIT 1") or die(mysql_error());
  659. $exists = mysql_num_rows($check);
  660.  
  661. if($exists > 0){
  662. $usrrow = mysql_fetch_assoc($check);
  663. $check = mysql_query("SELECT * FROM users_badges WHERE userid = '".$usrrow['id']."' AND iscurrent = '1' LIMIT 1") or die(mysql_error());
  664. $hasbadge = mysql_num_rows($check);
  665. if($hasbadge > 0){
  666. $badgerow = mysql_fetch_assoc($check);
  667. return $badgerow['badgeid'];
  668. } else {
  669. return false;
  670. }
  671. } else {
  672. return false;
  673. }
  674. }
  675.  
  676. ####################################################################################
  677.  
  678. function GetUserGroup($my_id){
  679.  
  680. $check = mysql_query("SELECT groupid FROM groups_memberships WHERE userid = '".$my_id."' AND is_current = '1' LIMIT 1") or die(mysql_error());
  681. $has_fave = mysql_num_rows($check);
  682.  
  683. if($has_fave > 0){
  684.  
  685. $row = mysql_fetch_assoc($check);
  686. $groupid = $row['groupid'];
  687.  
  688. return $groupid;
  689.  
  690. } else {
  691.  
  692. return false;
  693.  
  694. }
  695. }
  696.  
  697. ####################################################################################
  698.  
  699. function GetUserGroupBadge($my_id){
  700.  
  701. $check = mysql_query("SELECT groupid FROM groups_memberships WHERE userid = '".$my_id."' AND is_current = '1' LIMIT 1") or die(mysql_error());
  702. $has_badge = mysql_num_rows($check);
  703.  
  704. if($has_badge > 0){
  705.  
  706. $row = mysql_fetch_assoc($check);
  707. $groupid = $row['groupid'];
  708.  
  709. $check = mysql_query("SELECT badge FROM groups_details WHERE id = '".$groupid."' LIMIT 1") or die(mysql_error());
  710.  
  711. $row = mysql_fetch_assoc($check);
  712. $badge = $row['badge'];
  713.  
  714. return $badge;
  715.  
  716. } else {
  717.  
  718. return false;
  719.  
  720. }
  721. }
  722.  
  723. ####################################################################################
  724.  
  725. function HCDaysLeft($my_id, $type = false){
  726.  
  727. $sql = mysql_query("SELECT months_left,date_monthstarted,type FROM users_club WHERE userid = '".$my_id."' LIMIT 1") or die(mysql_error());
  728. $tmp = mysql_fetch_assoc($sql);
  729. $valid = mysql_num_rows($sql);
  730.  
  731. if($valid > 0){
  732.  
  733. if($type == true){ return $tmp['type']; } else {
  734.  
  735. $months_left = $tmp['months_left'];
  736. $month_started = $tmp['date_monthstarted'];
  737.  
  738. $days_left = $months_left * 31;
  739.  
  740. $tmp = explode("-", $month_started);
  741. $day = $tmp[0];
  742. $month = $tmp[1];
  743. $year = $tmp[2];
  744.  
  745. $then = mktime(0, 0, 0, $month, $day, $year, 0);
  746. $now = time();
  747. $difference = $now - $then;
  748.  
  749. if ($difference < 0){
  750. $difference = 0;
  751. }
  752.  
  753. $days_expired = floor($difference/60/60/24);
  754. $days_left = $days_left - $days_expired;
  755.  
  756. return $days_left;
  757.  
  758. }
  759.  
  760. } else {
  761. if($type == true){
  762. return "";
  763. } else {
  764. return 0;
  765. }
  766. }
  767. }
  768.  
  769.  
  770. ####################################################################################
  771.  
  772. function IsHCMember($my_id){
  773. if(HCDaysLeft($my_id) > 0 && HCDaysLeft($my_id, true) == "hc"){
  774. return true;
  775. } else {
  776. $check = mysql_query("SELECT * FROM users_club WHERE userid = '".$my_id."' and type = 'hc' LIMIT 1");
  777. $clubrecord = mysql_num_rows($check);
  778.  
  779. if($clubrecord > 0){
  780. mysql_query("UPDATE users SET hc_before = '1' WHERE id = '".$my_id."' LIMIT 1") or die(mysql_error());
  781. mysql_query("UPDATE users SET rank = '1' WHERE id = '".$my_id."' AND rank = '2' LIMIT 1") or die(mysql_error());
  782. mysql_query("DELETE FROM users_badges WHERE badgeid = 'ACH_BasicClub1' OR badgeid = 'ACH_BasicClub2' AND userid = '".$my_id."' LIMIT 1");
  783. mysql_query("DELETE FROM users_club WHERE userid = '".$my_id."' LIMIT 1") or die(mysql_error());
  784. @SendMUSData('UPRS' . $my_id);
  785. }
  786.  
  787. return false;
  788. }
  789. }
  790.  
  791. ####################################################################################
  792.  
  793. function IsVIPMember($my_id){
  794. if(HCDaysLeft($my_id) > 0 && HCDaysLeft($my_id, true) == "vip"){
  795. return true;
  796. } else {
  797.  
  798. $check = mysql_query("SELECT * FROM users_club WHERE userid = '".$my_id."' and type = 'vip' LIMIT 1");
  799. $clubrecord = mysql_num_rows($check);
  800.  
  801. if($clubrecord > 0){
  802. mysql_query("UPDATE users SET hc_before = '1' WHERE id = '".$my_id."' LIMIT 1") or die(mysql_error());
  803. mysql_query("UPDATE users SET rank = '1' WHERE id = '".$my_id."' AND rank = '3' LIMIT 1") or die(mysql_error());
  804. mysql_query("DELETE FROM users_badges WHERE badgeid = 'ACH_VipClub1' OR badgeid = 'ACH_VipClub2' AND userid = '".$my_id."' LIMIT 1");
  805. mysql_query("DELETE FROM users_club WHERE userid = '".$my_id."' LIMIT 1") or die(mysql_error());
  806. @SendMUSData('UPRS' . $my_id);
  807. }
  808.  
  809. return false;
  810. }
  811. }
  812.  
  813. ####################################################################################
  814.  
  815. function GiveHC($user_id, $months){
  816.  
  817. $sql = mysql_query("SELECT * FROM users_club WHERE userid = '".$user_id."' LIMIT 1") or die(mysql_error());
  818. $valid = mysql_num_rows($sql);
  819.  
  820. if($valid > 0){
  821.  
  822. mysql_query("UPDATE users SET rank = '2' WHERE rank = '1' AND id = '".$user_id."' LIMIT 1") or die(mysql_error());
  823. mysql_query("UPDATE users_club SET months_left = months_left + ".$months." WHERE userid = '".$user_id."' LIMIT 1") or die(mysql_error());
  824.  
  825. if(getBadge($user_id, "ACH_BasicClub1") == false){
  826. mysql_query("INSERT INTO users_badges (userid,badgeid,iscurrent) VALUES ('".$user_id."','ACH_BasicClub1','1')") or die(mysql_error());
  827. } else if(getBadge($user_id, "ACH_BasicClub2") == false){
  828. mysql_query("UPDATE users_badges SET badgeid = 'ACH_BasicClub2' WHERE badgeid = 'ACH_BasicClub1' AND userid = '".$user_id."'") or die(mysql_error());;
  829. }
  830.  
  831. } else {
  832. $m = date('m');
  833. $d = date('d');
  834. $Y = date('Y');
  835. $date = date('d-m-Y', mktime($m,$d,$Y));
  836. mysql_query("INSERT INTO users_club (userid,date_monthstarted,months_expired,months_left,type) VALUES ('".$user_id."','".$date."','0','0','hc')") or die(mysql_error());
  837. GiveHC($user_id, $months);
  838. }
  839.  
  840. @SendMUSData('UPRS'.$user_id);
  841. @SendMUSData('UPRC'.$user_id);
  842. }
  843.  
  844. ####################################################################################
  845.  
  846. function GiveVIP($user_id, $months){
  847.  
  848. $sql = mysql_query("SELECT * FROM users_club WHERE userid = '".$user_id."' LIMIT 1") or die(mysql_error());
  849. $valid = mysql_num_rows($sql);
  850.  
  851. if($valid > 0){
  852. mysql_query("UPDATE users SET rank = '3' WHERE (rank = '1' OR rank = '2') AND id = '".$user_id."' LIMIT 1") or die(mysql_error());
  853. mysql_query("UPDATE users_club SET months_left = months_left + ".$months.", type = 'vip' WHERE userid = '".$user_id."' LIMIT 1") or die(mysql_error());
  854.  
  855. if(getBadge($user_id, "ACH_VipClub1") == false){
  856. mysql_query("INSERT INTO users_badges (userid,badgeid,iscurrent) VALUES ('".$user_id."','ACH_VipClub1','1')") or die(mysql_error());
  857. } else if(getBadge($user_id, "ACH_VipClub2") == false){
  858. mysql_query("UPDATE users_badges SET badgeid = 'ACH_VipClub2' WHERE badgeid = 'ACH_VipClub1' AND userid = '".$user_id."'") or die(mysql_error());;
  859. }
  860.  
  861. } else {
  862. $m = date('m');
  863. $d = date('d');
  864. $Y = date('Y');
  865. $date = date('d-m-Y', mktime($m,$d,$Y));
  866. mysql_query("INSERT INTO users_club (userid,date_monthstarted,months_expired,months_left,type) VALUES ('".$user_id."','".$date."','0','0','vip')") or die(mysql_error());
  867. GiveVIP($user_id, $months);
  868. }
  869.  
  870. @SendMUSData('UPRS'.$user_id);
  871. @SendMUSData('UPRC'.$user_id);
  872. }
  873.  
  874. ####################################################################################
  875.  
  876. if($no_refresh == true)
  877. { $web_online = "0"; } else { $web_online = time(); }
  878.  
  879. if(LOGGED_IN == TRUE)
  880. {
  881. mysql_query("UPDATE users SET web_online = '".$web_online."', ipaddress_last = '".MY_IP."' WHERE id = '".$my_id."' LIMIT 1") or die(mysql_error());
  882. }
  883.  
  884. ####################################################################################
  885.  
  886. if($config['rea_time'] > 0 && LOGGED_IN == TRUE)
  887. {
  888.  
  889. $rea_time = time() - ($config['rea_time'] * 60);
  890. $logout_time = time() - (($config['rea_time'] * 2) * 60);
  891.  
  892. if($myrow['web_online'] < $logout_time && $no_rea !== true)
  893. {
  894.  
  895. header("location:".PATH."/account/logout?token=".$myrow['token']); exit;
  896.  
  897. }
  898. else if($myrow['web_online'] < $rea_time && $no_rea !== true)
  899. {
  900.  
  901. $_SESSION['page'] = $_SERVER["REQUEST_URI"];
  902. header("location:".PATH."/account/reauthenticate"); exit;
  903.  
  904. }
  905. }
  906.  
  907. ####################################################################################
  908.  
  909. function IsUserOnline($intUID, $inWeb = false)
  910. {
  911.  
  912. $result = mysql_query("SELECT online, web_online FROM users WHERE id = '".FilterText($intUID)."' OR name = '".FilterText($intUID)."' LIMIT 1") or die(mysql_error());
  913. $row = mysql_fetch_assoc($result);
  914. $time_compare = (time() - 501);
  915.  
  916. if($inWeb == false)
  917. {
  918. if($row['online'] >= $time_compare){ return true; } else { return false; }
  919. }
  920. else
  921. {
  922. if($row['web_online'] >= $time_compare){ return true; } else { return false; }
  923. }
  924.  
  925. }
  926.  
  927. ####################################################################################
  928.  
  929. function IsUserBanned($my_id, $ip = "", $thereason = false, $theexpire = false){
  930.  
  931. $check = mysql_query("SELECT * FROM users_bans WHERE userid = '".$my_id."' OR ipaddress = '".$ip."' LIMIT 1") or die(mysql_error());
  932. $is_banned = mysql_num_rows($check);
  933.  
  934. if(!is_numeric($my_id)){ $return = false; }
  935.  
  936. if($is_banned > 0){
  937. $bandata = mysql_fetch_assoc($check);
  938. $reason = $bandata['descr'];
  939. $expire = $bandata['date_expire'];
  940.  
  941. $xbits = explode(" ", $expire);
  942. $xtime = explode(":", $xbits[1]);
  943. $xdate = explode("-", $xbits[0]);
  944.  
  945. $stamp_now = time();
  946. $stamp_expire = mktime($xtime[0], $xtime[1], $xtime[2], $xdate[0], $xdate[1], $xdate[2]);
  947.  
  948. if($stamp_now < $stamp_expire){
  949. if($thereason == true){ $return = $reason; }
  950. else if($theexpire == true){ $return = $expire; }
  951. else { $return = true; }
  952. } else {
  953. mysql_query("DELETE FROM users_bans WHERE userid = '".$my_id."' LIMIT 1") or die(mysql_error());
  954. $return = false;
  955. }
  956. } else {
  957. $return = false;
  958. }
  959.  
  960. return $return;
  961. }
  962.  
  963. ####################################################################################
  964.  
  965. function mysql_evaluate($query, $default_value="undefined") {
  966. $result = mysql_query($query) or die(mysql_error());
  967.  
  968. if(mysql_num_rows($result) < 1){
  969. return $default_value;
  970. } else {
  971. return mysql_result($result, 0);
  972. }
  973. }
  974.  
  975. ####################################################################################
  976.  
  977. function FilterText($str, $advanced=false, $bbcode=false) {
  978. if($advanced == true){ return mysql_real_escape_string($str); }
  979. $str = mysql_real_escape_string(htmlspecialchars($str));
  980. return $str;
  981. }
  982.  
  983. function HoloText($str, $advanced=false, $bbcode=false) {
  984. if($advanced == true){ return stripslashes($str); }
  985. $str = stripslashes(nl2br(htmlspecialchars($str)));
  986. if($bbcode == true){$str = bbcode_format($str); }
  987. return $str;
  988. }
  989.  
  990. function stringToURL($str,$lowercase=true,$spaces=false){
  991. $str = trim(preg_replace('/\s\s+/',' ',preg_replace("/[^A-Za-z0-9-]/", " ", $str)));
  992. if($lowercase == true){ $str = strtolower($str); }
  993. if($spaces == true){ $str = str_replace(" ", "-", $str); }else{ str_replace(" ", "", $str); }
  994. return $str;
  995. }
  996.  
  997. function textInJS($str, $clean = false){
  998. $str = str_replace("¡","¡",$str);
  999. $str = str_replace("¿","¿",$str);
  1000. $str = str_replace("í‘","Ñ",$str);
  1001. $str = str_replace("ñ","ñ",$str);
  1002. $str = str_replace("í","Á",$str);
  1003. $str = str_replace("á","á",$str);
  1004. $str = str_replace("í‰","É",$str);
  1005. $str = str_replace("é","é",$str);
  1006. $str = str_replace("í“","Ó",$str);
  1007. $str = str_replace("ó","ó",$str);
  1008. $str = str_replace("íš","Ú",$str);
  1009. $str = str_replace("ú","ú",$str);
  1010. $str = str_replace("í","Í",$str);
  1011. $str = str_replace("Ã","í",$str);
  1012.  
  1013. if($clean == true)
  1014. {
  1015. $str = str_replace("Ñ","N",$str);
  1016. $str = str_replace("ñ","n",$str);
  1017. $str = str_replace("Á","A",$str);
  1018. $str = str_replace("á","a",$str);
  1019. $str = str_replace("É","E",$str);
  1020. $str = str_replace("é","e",$str);
  1021. $str = str_replace("Ó","O",$str);
  1022. $str = str_replace("ó","o",$str);
  1023. $str = str_replace("Ú","U",$str);
  1024. $str = str_replace("ú","u",$str);
  1025. $str = str_replace("Í","I",$str);
  1026. $str = str_replace("í","i",$str);
  1027. }
  1028.  
  1029. return $str;
  1030. }
  1031.  
  1032. ####################################################################################
  1033.  
  1034. function avatarURL($figure,$style,$return = 0){
  1035. $figure = HoloText($figure);
  1036. $hash = md5($figure.strtolower($style));
  1037. $style = explode(",", $style);
  1038. if($style[0] == "s"){ $style[6] = "1"; }else{ $style[6] = "0"; }
  1039. if($style[3] == "sml"){ $style[7] = "1"; }else{ $style[7] = "0"; }
  1040. $expandedstyle = "s-".$style[6].".g-".$style[7].".d-".$style[1].".h-".$style[2].".a-0";
  1041. $URL = "http://www.habbo.com/habbo-imaging/avatarimage?figure=".$figure."&size=".$style[0]."&direction=".$style[1]."&head_direction=".$style[2]."&crr=".$style[5]."&gesture=".$style[3]."&frame=".$style[4];
  1042. if($return == 0){ return $URL; }else{ return $hash; }
  1043. }
  1044.  
  1045. ####################################################################################
  1046.  
  1047. class HoloFigureCheck {
  1048. var $error = 0;
  1049. function HoloFigureCheck($figure=null,$gender=null,$club=false){
  1050. if(getConfig("check_figures") == "1"){
  1051. if(empty($figure)){ $error = 12; return false; }
  1052. $xml = @simplexml_load_file('./xml/figuredata_old.xml');
  1053. if(!$xml){
  1054. $xml = @simplexml_load_file('../xml/figuredata_old.xml');
  1055. }
  1056. $sets = explode(".",$figure);
  1057. foreach($sets as $set){
  1058. $valid = array(false,false,false,false);
  1059. $parts = explode("-",$set);
  1060. $havesets[] = $parts[0];
  1061. foreach($xml->sets->settype as $settype){
  1062. if((string) $settype['mandatory'] == "1"){ $mandatory[] = $settype['type']; }
  1063. if((string) $settype['type'] == $parts[0]){
  1064. $parts[3] = $settype['paletteid'];
  1065. $valid[0] = true; $type = $settype;
  1066. break;
  1067. }
  1068. }
  1069. if($valid[0] != true){ $error = 1; return false; }
  1070. foreach($type->set as $xset){
  1071. if((string) $xset['id'] == $parts[1]){
  1072. if($xset['selectable'] == "0"){ $error = 2; return false; }
  1073. if($xset['colorable'] == "0"){ $nocolor = true; if($parts[2] != ""){ $error = 3; return false; } }else{ $nocolor = false; }
  1074. if($xset['gender'] != $gender && $xset['gender'] != "U"){ $error = 4; return false; }
  1075. if($xset['club'] == "1" && $club == false){ $error = 5; return false; }
  1076. $valid[1] = true; $details = $xset;
  1077. break;
  1078. }
  1079. }
  1080. if($valid[1] != true){ $error = 6; return false; }
  1081. if($nocolor != true){
  1082. foreach($xml->colors->palette as $palette){
  1083. if((string) $palette['id'] == (string) $parts[3]){
  1084. $valid[2] = true; $pat = $palette;
  1085. break;
  1086. }
  1087. }
  1088. if($valid[2] != true){ $error = 7; return false; }
  1089. foreach($pat->color as $color){
  1090. if((string) $color['id'] == $parts[2]){
  1091. if($color['club'] == "1" && $club == false){ $error = 8; return false; }
  1092. if($color['selectable'] == "0"){ $error = 9; return false; }
  1093. $valid[3] = true;
  1094. break;
  1095. }
  1096. }
  1097. if($valid[3] != true){ $error = 10; return false; }
  1098. }
  1099. }
  1100. if(count($mandatory) != count(array_intersect($mandatory,$havesets))){ $error = 11; return false; }
  1101. return true;
  1102. } else {
  1103. return true;
  1104. }
  1105. }
  1106. }
  1107.  
  1108.  
  1109. ####################################################################################
  1110.  
  1111. function generateFigure($club = true, $gender = null){
  1112. if($gender == null){ if(rand(0,1) == 0){ $gender = "M"; }else{ $gender = "F"; } }
  1113. if($club == true){ $club = (bool) rand(0,1); }
  1114. $xml = @simplexml_load_file('./xml/figuredata_old.xml');
  1115. if(!$xml){
  1116. $xml = @simplexml_load_file('../xml/figuredata_old.xml');
  1117. }
  1118. $figure = "";
  1119. foreach($xml->sets->settype as $settype){
  1120. if((string) $settype['mandatory'] == "1" || rand(0,1) == 1){
  1121. $item['settype'] = $settype['type'];
  1122. $palette = (int) $settype['paletteid'];
  1123. $possible = array();
  1124. foreach($settype->set as $xset){
  1125. if($xset['gender'] != "U" && $xset['gender'] != $gender){ $fail = true; }
  1126. if($xset['selectable'] == "0"){ $fail = true; }
  1127. if($xset['colorable'] == "0"){ $color = false; }else{ $color = true; }
  1128. if($xset['club'] == "1" && $club == false){ $fail = true; }
  1129. if($fail != true){ $possible[] = array($xset['id'],$color); }
  1130. $fail = false; $color = false;
  1131. }
  1132. $count = count($possible);
  1133. $num = rand(0,$count-1);
  1134. $item['set'] = $possible[$num][0];
  1135. if($possible[$num][1] == false){ $item['color'] = ""; }else{
  1136. $possible = array();
  1137. foreach($xml->colors->palette[$palette-1]->color as $color){
  1138. if($color['club'] == "1" && $club == false){ $fail = true; }
  1139. if($color['selectable'] == "0"){ $fail = true; }
  1140. if($fail != true){ $possible[] = $color['id']; }
  1141. $fail = false;
  1142. }
  1143. $count = count($possible);
  1144. $num = rand(0,$count-1);
  1145. $item['color'] = $possible[$num];
  1146. }
  1147. $figure .= $item['settype']."-".$item['set']."-".$item['color'].".";
  1148. }
  1149. }
  1150. $figure = substr($figure, 0, -1);
  1151. return array($figure,$gender);
  1152. }
  1153.  
  1154. ####################################################################################
  1155.  
  1156. if($auto_styles == false)
  1157. {
  1158. $webgallery = PATH."/web-gallery";
  1159. }
  1160. else
  1161. {
  1162. $webgallery = $styles_path;
  1163. }
  1164.  
  1165.  
  1166. ####################################################################################
  1167.  
  1168. if($maintenance == "1" && $my_rank <= 4 && $no_maintenance !== true)
  1169. {
  1170. session_destroy();
  1171. @include("./maintenance.php");
  1172. @include("../maintenance.php");
  1173. exit;
  1174. }
  1175. else if($maintenance == "1" && $my_rank >= 5)
  1176. {
  1177. $notify_maintenance = true;
  1178. }
  1179.  
  1180. ####################################################################################
  1181.  
  1182. if($hkzone == true)
  1183. {
  1184. define("HPATH", PATH."/".$hpath."/");
  1185. }
  1186.  
  1187. ####################################################################################
  1188.  
  1189. function SendMUSData($data){
  1190.  
  1191. if(getServer("server_mus_enabled") !== "0"){
  1192.  
  1193. $mus_ip = getConfig("ip");
  1194. $mus_port = getServer("server_mus_port");
  1195.  
  1196. $sock = socket_create(AF_INET, SOCK_STREAM, getprotobyname('tcp'));
  1197. socket_connect($sock, $mus_ip, $mus_port);
  1198.  
  1199. if(!is_resource($sock)){
  1200. return false;
  1201. } else {
  1202. socket_send($sock, $data, strlen($data), MSG_DONTROUTE);
  1203. return true;
  1204. }
  1205.  
  1206. socket_close($sock);
  1207.  
  1208. } else {
  1209. return false;
  1210. }
  1211. }
  1212.  
  1213. ####################################################################################
  1214.  
  1215. function randomVoucher($code) {
  1216. $characters = "1234567890abdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ";
  1217. $key = $characters{rand(0,71)};
  1218. for($i=1;$i<$code;$i++)
  1219. {
  1220. $key .= $characters{rand(0,71)};
  1221. }
  1222. return $key;
  1223. }
  1224.  
  1225. ####################################################################################
  1226.  
  1227. function UpdateSSO($my_id)
  1228. {
  1229. $myticket = GenerateRandom();
  1230. mysql_query("UPDATE users SET ticket_sso = '".$myticket."' WHERE id = '".$my_id."' LIMIT 1") or die(mysql_error());
  1231. return $myticket;
  1232. }
  1233.  
  1234. ####################################################################################
  1235.  
  1236. function SweardsWordFilter($str)
  1237. {
  1238.  
  1239. $sql = mysql_query("SELECT * FROM system_wordfilter WHERE word LIKE '%".$str."%'") or die(mysql_error());
  1240. $exist = mysql_num_rows($sql);
  1241.  
  1242. if($exist > 0){ return true; } else { return false; }
  1243. }
  1244.  
  1245. ####################################################################################
  1246.  
  1247. function SwitchWordFilter($str)
  1248. {
  1249.  
  1250. $sql = mysql_query("SELECT word FROM system_wordfilter") or die(mysql_error());
  1251.  
  1252. while($row = mysql_fetch_assoc($sql)){
  1253. $str = str_replace($row['word'],getServer("wordfilter_censor"),$str);
  1254. }
  1255.  
  1256. return $str;
  1257.  
  1258. }
  1259.  
  1260. ####################################################################################
  1261.  
  1262. if(LOGGED_IN == TRUE || EMAIL_LOGGED_IN == TRUE || FACEBOOK_LOGGED_IN == TRUE || RPX_LOGGED_IN == TRUE)
  1263. {
  1264.  
  1265. $check_figure = new HoloFigureCheck();
  1266.  
  1267. if(IsHCMember($my_id) || IsVIPMember($my_id)){
  1268. $exclusive = true;
  1269. } else {
  1270. $exclusive = false;
  1271. }
  1272.  
  1273. if(!$check_figure->HoloFigureCheck($myrow['figure'], $myrow['sex'], $exclusive)){
  1274.  
  1275. mysql_query("UPDATE users SET figure = 'hd-180-7.ch-210-66.lg-270-82.sh-300-64.hr-100-.wa-2012-', sex = 'M' WHERE id = '".$my_id."' LIMIT 1") or die(mysql_error());
  1276. $myrow['figure'] = "hd-180-7.ch-210-66.lg-270-82.sh-300-64.hr-100-.wa-2012-";
  1277. $myrow['sex'] = "M";
  1278.  
  1279. }
  1280. }
  1281.  
  1282. ####################################################################################
  1283.  
  1284. if(LOGGED_IN == FALSE && $require_login == true)
  1285. {
  1286. header("Location: ".PATH); exit;
  1287. }
  1288.  
  1289. ####################################################################################
  1290.  
  1291. function userData($key, $value)
  1292. {
  1293. $sql = mysql_query("SELECT ".$key." FROM users WHERE name = '".$value."' OR id = '".$value."' LIMIT 1") or die(mysql_error());
  1294. $row = mysql_fetch_assoc($sql);
  1295.  
  1296. return $row[$key];
  1297. }
  1298.  
  1299. ####################################################################################
  1300.  
  1301. function userRPXData($key, $value)
  1302. {
  1303. $sql = mysql_query("SELECT ".$key." FROM users WHERE rpxid = '".$value."' LIMIT 1") or die(mysql_error());
  1304. $row = mysql_fetch_assoc($sql);
  1305.  
  1306. return $row[$key];
  1307. }
  1308.  
  1309. ####################################################################################
  1310.  
  1311. if(LOGGED_IN == TRUE && $pagename !== "Reiniciar" && empty($fid))
  1312. {
  1313. if($myrow['browser'] !== $_SERVER['HTTP_USER_AGENT'].MY_IP)
  1314. {
  1315. $_SESSION['logout_reason'] = "concurrentlogin";
  1316. header("Location: ".PATH."/account/logout?token=".$myrow['token']."&reason=concurrentlogin"); exit;
  1317. }
  1318. }
  1319.  
  1320. ####################################################################################
  1321.  
  1322. function newTransaction($uid, $date, $amount, $desc)
  1323. {
  1324. mysql_query("INSERT INTO cms_transactions (userid,date,amount,descr) VALUES ('".$uid."','".$date."','".$amount."','".$desc."')") or die(mysql_error());
  1325. }
  1326.  
  1327. ####################################################################################
  1328.  
  1329. function getBadge($myid, $badge)
  1330. {
  1331. $check = mysql_query("SELECT badgeid FROM users_badges WHERE userid = '".$myid."' AND badgeid = '".$badge."' LIMIT 1") or die(mysql_error());
  1332. $exist = mysql_num_rows($check);
  1333.  
  1334. if($exist > 0) { return true; } else { return false; }
  1335. }
  1336.  
  1337. ####################################################################################
  1338.  
  1339. function newBadge($uid, $code, $replace=false, $oldcode="")
  1340. {
  1341. $sql = mysql_query("SELECT * FROM users WHERE id = '".$uid."' LIMIT 1") or die(mysql_error());
  1342. $exist = mysql_num_rows($sql);
  1343.  
  1344. if($exist > 0 && $replace == false)
  1345. {
  1346. mysql_query("INSERT INTO users_badges (userid, badgeid) VALUES ('".$uid."', '".$code."')") or die(mysql_error());
  1347. }
  1348. else if($exist > 0 && $replace == true)
  1349. {
  1350. mysql_query("UPDATE users_badges SET badgeid = '".$code."' WHERE badgeid = '".$oldcode."' AND userid = '".$uid."' LIMIT 1") or die(mysql_error());
  1351. }
  1352.  
  1353. @SendMUSData('UPRS' . $uid);
  1354. }
  1355.  
  1356. ####################################################################################
  1357.  
  1358. function mgmBadge($uid)
  1359. {
  1360. $invites = userData("invitedUsers", $uid);
  1361.  
  1362. switch($invites)
  1363. {
  1364. case "1":
  1365. newBadge($uid, "ACH_MGM1"); break;
  1366. case "2":
  1367. newBadge($uid, "ACH_MGM2", true, "ACH_MGM1"); break;
  1368. case "3":
  1369. newBadge($uid, "ACH_MGM3", true, "ACH_MGM2"); break;
  1370. case "5":
  1371. newBadge($uid, "ACH_MGM4", true, "ACH_MGM3"); break;
  1372. case "7":
  1373. newBadge($uid, "ACH_MGM5", true, "ACH_MGM4"); break;
  1374. case "9":
  1375. newBadge($uid, "ACH_MGM6", true, "ACH_MGM5"); break;
  1376. case "11":
  1377. newBadge($uid, "ACH_MGM7", true, "ACH_MGM6"); break;
  1378. case "13":
  1379. newBadge($uid, "ACH_MGM8", true, "ACH_MGM7"); break;
  1380. case "15":
  1381. newBadge($uid, "ACH_MGM9", true, "ACH_MGM8"); break;
  1382. case "17":
  1383. newBadge($uid, "ACH_MGM10", true, "ACH_MGM9"); break;
  1384. }
  1385. @SendMUSData('UPRS' . $uid);
  1386. }
  1387.  
  1388. ####################################################################################
  1389.  
  1390. if(getConfig('time_lotery') == "0")
  1391. {
  1392. $date = time() + (1 * 60 * 60);
  1393. mysql_query("UPDATE cms_system SET time_lotery = '".$date."' LIMIT 1") or die(mysql_error());
  1394.  
  1395. } else {
  1396. $date = getConfig('time_lotery');
  1397. }
  1398.  
  1399. if(time() > $date)
  1400. {
  1401. $date = getConfig('time_lotery') + (1 * 60 * 60);
  1402.  
  1403. $win1 = mysql_query("SELECT userid FROM cms_lotery ORDER BY RAND() LIMIT 1") or die(mysql_error());
  1404. $wrow1 = mysql_fetch_assoc($win1);
  1405. $win2 = mysql_query("SELECT userid FROM cms_lotery ORDER BY RAND() LIMIT 1") or die(mysql_error());
  1406. $wrow2 = mysql_fetch_assoc($win2);
  1407.  
  1408. if(mysql_num_rows($win1) > 0)
  1409. {
  1410. mysql_query("UPDATE users SET credits = credits + 200, pixels = pixels + 150 WHERE id = '".$wrow1['userid']."'") or die(mysql_error());
  1411. mysql_query("INSERT INTO cms_alerts (userid, template, alert) VALUES ('".$wrow1['userid']."', '2', '¡Has gando la loteria! ¡Felicidades! Has obtenido con éxito tu premio.')") or die(mysql_error());
  1412.  
  1413. @SendMUSData('UPRC' . $wrow1['userid']);
  1414. @SendMUSData('HKTM' . $wrow1['userid'] . chr(2) . "¡Has ganado la loteria! Felicidades ;D");
  1415. }
  1416.  
  1417. if(mysql_num_rows($win2) > 0)
  1418. {
  1419. mysql_query("UPDATE users SET credits = credits + 200, pixels = pixels + 150 WHERE id = '".$wrow2['userid']."'") or die(mysql_error());
  1420. mysql_query("INSERT INTO cms_alerts (userid, template, alert) VALUES ('".$wrow2['userid']."', '2', '¡Has gando la loteria! ¡Felicidades! Has obtenido con éxito tu premio.')") or die(mysql_error());
  1421.  
  1422. @SendMUSData('UPRC' . $wrow2['userid']);
  1423. @SendMUSData('HKTM' . $wrow2['userid'] . chr(2) . "¡Has ganado la loteria! Felicidades ;D");
  1424. }
  1425.  
  1426. mysql_query("UPDATE cms_system SET time_lotery = '".$date."' LIMIT 1") or die(mysql_error());
  1427. mysql_query("TRUNCATE TABLE `cms_lotery`;") or die(mysql_error());
  1428. }
  1429.  
  1430. $time_tolotery = $date - time();
  1431.  
  1432. ####################################################################################
  1433.  
  1434. @include('./includes/version.php');
  1435. @include('../includes/version.php');
  1436.  
  1437. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement