Guest User

Untitled

a guest
Jun 25th, 2018
206
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 33.49 KB | None | 0 0
  1. <?php
  2. $con = $connect("$host", "$user", "$pass")or die(mysql_error());
  3.  
  4. //Session Exists ?
  5. if (!isset($_SESSION))
  6. {
  7.   session_start();
  8. }
  9.  
  10. //Set Date
  11. date_default_timezone_set('US/Pacific');
  12. $date = date("l F d, Y @ g:i A");
  13.  
  14. //Login Session
  15. $login = "";
  16.  
  17. if(isset($_SESSION['acms_user']))
  18. {
  19.   $login = $_SESSION['acms_user'];
  20. }
  21.  
  22. //Logout
  23. function logout()
  24. {
  25.   if(isset($_GET['page']))
  26.   {
  27.     $page = $_GET['page'];
  28.     if($page == "logout")
  29.     {
  30.       session_unset();
  31.       session_destroy();
  32.       header("Location: ./");
  33.     }
  34.   }
  35. }
  36.  
  37. //Global Site News/Pages System
  38. function news_pages()
  39. {
  40.   //Check For News & Pages
  41.   global $query, $array, $row, $connect, $db_s;
  42.  
  43.   $sql = $query("SELECT id, name, active FROM $db_s.styles WHERE active='1' ORDER BY id DESC LIMIT 1")or die(mysql_error());
  44.   while($get = $array($sql))
  45.   {
  46.     $style = $get['name'];
  47.   }
  48.  
  49.   ob_start();
  50.   if(isset($_GET['page']))
  51.   {
  52.     if(file_exists('./styles/'.$style.'/pages/'.$_GET['page'].'.php'))
  53.     {
  54.       include('./styles/'.$style.'/pages/'.$_GET['page'].'.php');
  55.     }
  56.     else
  57.     {
  58.       include('./styles/'.$style.'/pages/not_found.php');
  59.     }
  60.      
  61.   }
  62.   else
  63.   {
  64.     include('./styles/'.$style.'/news.php');
  65.   }
  66.   $contents = ob_get_contents();
  67.   ob_end_clean();
  68.   return $contents; // page stored in a variable thanks to ob!
  69. }
  70.  
  71. //Site News
  72. class news
  73. {
  74.   public $news_posts = array();
  75.  
  76.   function news()
  77.   {
  78.     global $query, $array, $db_s;
  79.  
  80.     $sql = $query("SELECT id, author, title, body, date, avatar FROM $db_s.news ORDER BY id DESC LIMIT 5")or die(mysql_error());
  81.     while($get = $array($sql))
  82.     {
  83.       $get = str_replace(array("\r\n", "\r", "\n"), "<br />", $get);
  84.       $this->news_posts[] = $get;
  85.     }
  86.   }
  87. }
  88.  
  89. //Site Login
  90.  
  91. function login()
  92. {
  93.   global $query, $array, $num, $connect, $db_s, $db_a, $cap, $date, $_CLEAN;
  94.  
  95.   if(isset($_POST['login']))
  96.   {
  97.      //Post Username Caps & Clean
  98.     $username = $cap($_CLEAN['username']);
  99.  
  100.     if(empty($_POST['username']))
  101.     {
  102.       $username = "Anonymous";
  103.     }
  104.  
  105.      //Post Clean & Encrypt Password With Salty Sha1
  106.     $password = $_CLEAN['password'];
  107.     $password = sha1(strtoupper($username) . ":" . strtoupper($password));
  108.  
  109.     $get_admin = $query("SELECT username, sha_pass_hash FROM $db_a.account WHERE username='$username' AND sha_pass_hash='$password'")or die(mysql_error());
  110.     $got_admin = $num($get_admin);
  111.     if($got_admin == 1)
  112.     {
  113.       //User Valid, Set Session
  114.       $_SESSION['acms_user'] = "$username";
  115.       session_register("username");
  116.       session_register("password");
  117.       header("Location: ?page=account");
  118.     }
  119.     else
  120.     {
  121.       //User InValid, Redirect
  122.       header("Location: ?page=unlogin");
  123.     }
  124.   }
  125. }
  126.  
  127. //Site Account Creation
  128. function register()
  129. {
  130. if(isset($_POST['register']))
  131.   {
  132.     global $query, $array, $num, $row, $connect, $db_a, $cap, $_CLEAN, $_STRIP_1, $_STRIP_2, $_STRIP_3, $db_f, $db_s, $expansion;
  133.    
  134.     //Empty Field
  135.     if(empty($_POST['username']))
  136.     {
  137.       return'Account name je prázdný.';
  138.     }
  139.     else
  140.     {
  141.       //Post Username, Caps & Clean
  142.       $username = $cap($_CLEAN['username']);
  143.       $username_clean = $_CLEAN['username'];
  144.       $username_clean = strtolower($username_clean);
  145.     }
  146.    
  147.     //Empty Field
  148.     if(empty($_POST['password']))
  149.     {
  150.       return'Passworld je prázdný.';
  151.     }
  152.     else
  153.     {
  154.       //Post Password & Clean
  155.       $password = $_CLEAN['password'];
  156.     }
  157.    
  158.     //Empty Field
  159.     if(empty($_POST['forum']))
  160.     {
  161.       return'Forum je prázdný.';
  162.     }
  163.     else
  164.     {
  165.       //Post Password & Clean
  166.       $password = $_CLEAN['password'];
  167.     }
  168.    
  169.     //Empty Field
  170.     if(empty($_POST['email']))
  171.     {
  172.       return'Email je prázdný.';
  173.     }
  174.     else
  175.     {
  176.       //Post Email & Clean
  177.       $email = $cap($_STRIP_1($_STRIP_2($_STRIP_3($_POST['email']))));
  178.     }
  179.    
  180.     //Anti-Bot
  181.     $code[1] = $_POST['code1'];
  182.     //Anti-Bot Match
  183.     $code[2] = $_POST['code2'];
  184.    
  185.     //Invalid Anti-Bot
  186.     if($code[1] != "$code[2]")
  187.     {
  188.       return'Špatně si opsal Anti-Bot.';
  189.     }
  190.     else
  191.     {
  192.       $forum = $query("SELECT active, path FROM $db_s.forum_prop WHERE active='1' LIMIT 1")or die(mysql_error());
  193.       $active = $num($forum);
  194.      
  195.       switch($active)
  196.       {
  197.       case 1:
  198.         while($path = $array($forum))
  199.         {
  200.           $path = $path['path'];
  201.        
  202.         $pulldata = mysql_query("SELECT `account`.`username`, `phpbb_users`.`username`, `phpbb_users`.`username_clean` FROM `$db_a`.`account`, `$db_f`.`phpbb_users` WHERE `account`.`username` = '$username' OR `phpbb_users`.`username` = '$username' OR `phpbb_users`.`username_clean` = '$username_clean'")or die(mysql_error());
  203.         $pull = $row($pulldata);
  204.         if($pull[0] == "$username" || $pull[1] == "$username"  || $pull[2] == "$username_clean")
  205.         {
  206.           return"The username '<font color=\"#90cf5d\">{$username}</font>' is already in use.";
  207.         }
  208.         else
  209.         {
  210.           define('IN_PHPBB', true);
  211.        
  212.           global $phpbb_root_path, $phpEx, $user, $db, $config, $cache, $template;
  213.        
  214.           $phpbb_root_path = "{$path}/";  // Your path here
  215.           $phpEx = substr(strrchr(__FILE__, '.'), 1);
  216.           include($phpbb_root_path . 'common.' . $phpEx);
  217.  
  218.           // Start session management
  219.           $user->session_begin();
  220.           $auth->acl($user->data);
  221.           $user->setup();
  222.  
  223.           require($phpbb_root_path .'includes/functions_user.php');
  224.  
  225.           // Do a check if username is allready there, same for email, otherwhise a nasty error will occur
  226.           $user_row = array(
  227.           'username'         => $username,
  228.           'username_clean'   => $username,
  229.           'user_password'      => phpbb_hash($password),
  230.           'user_pass_convert'   => 0,
  231.           'forum'         => $forum,
  232.           'user_email'      => strtolower($email),
  233.           'user_email_hash'   => crc32(strtolower($email)) . strlen($email),
  234.           'group_id'         => 2,
  235.           'user_timezone' => '1.00',
  236.           'user_dst' => 0,
  237.           'user_lang' => 'en',
  238.           'user_type' => '0',
  239.           'user_actkey' => '',
  240.           'user_dateformat' => 'd M Y H:i',
  241.           'user_style' => 1,
  242.           'user_regdate' => time(),
  243.           );
  244.           $phpbb_user_id = user_add($user_row);
  245.          
  246.           if($phpbb_user_id == true)
  247.           {
  248.             //Encrypt Password With Salty Sha1
  249.             $password = sha1(strtoupper($username) . ":" . strtoupper($password));
  250.             $password = strtoupper($password);
  251.        
  252.             //Set Staff_Id
  253.             $staff = rand(100000000, 900000000);
  254.        
  255.             //Creation Complete
  256.             $sql = $query("INSERT INTO $db_a.account (username, sha_pass_hash, email, expansion, acp, staff_id, forum) VALUES ('$username', '$password', '$email', '$expansion', '0', '$staff', '$forum')")or die(mysql_error());
  257.        
  258.             //Print Success
  259.             return'The account \'<font color="#90cf5d">'.$username.'</font>\' has been created!<br/>
  260.            Helpful Link: <a href="?page=connect">Connection Guide</a>';
  261.           }
  262.         }}
  263.       break;
  264.       case 0:
  265.         $get_user = $query("SELECT username FROM $db_a.account WHERE username='$username'")or die(mysql_error());
  266.         $got_user = $num($get_user);
  267.      
  268.         //Username Is Taken
  269.         if($got_user == 1)
  270.         {
  271.           return"The username '<font color=\"#90cf5d\">{$username}</font>' is already in use.";
  272.         }
  273.         else
  274.         {
  275.            //Encrypt Password With Salty Sha1
  276.           $password = sha1(strtoupper($username) . ":" . strtoupper($password));
  277.           $password = strtoupper($password);
  278.        
  279.           //Set Staff_Id
  280.           $staff = rand(100000000, 900000000);
  281.        
  282.           //Creation Complete
  283.           $sql = $query("INSERT INTO $db_a.account (username, sha_pass_hash, email, expansion, acp, staff_id, forum) VALUES ('$username', '$password', '$email', '$expansion', '0', '$staff', '$forum')")or die(mysql_error());
  284.        
  285.           //Print Success
  286.           return'Account \'<font color="#90cf5d">'.$username.'</font>\' Byl vytvořen. Teď se můžeš připojit!<br/>
  287.       ';
  288.         break;
  289.         }
  290.       }
  291.     }
  292.   }
  293. }
  294.  
  295. //Site Shoutbox
  296. #Post Shouts
  297. function shout()
  298. {
  299.   if(isset($_POST['shout']))
  300.   {
  301.     //Shout Is Empty
  302.     if(empty($_POST['body']))
  303.     {
  304.       return'<center>Shout was empty.</center><br/><br/>';
  305.     }
  306.     else
  307.     {
  308.       global $query, $connect, $db_s, $cap, $login, $_STRIP_1, $_STRIP_2, $_STRIP_3;
  309.       //Check If Logged In
  310.       if(!$login)
  311.       {
  312.         return'<center>You Must Login To Shout.</center><br/><br/>';
  313.       }
  314.       else
  315.       {
  316.         //Set Date
  317.         $date = date('M d, Y');
  318.         //Post Shout, Cap & Strip
  319.         $body = $cap($_STRIP_1($_STRIP_2($_STRIP_3($_POST['body']))));
  320.        
  321.         //Success, Shout Is Posted
  322.         $sql= $query("INSERT INTO $db_s.shouts (author, body, date) VALUES ('$login', '$body', '$date')")or die(mysql_error());
  323.        
  324.         header("Location: ./#shoutid");
  325.       }
  326.     }
  327.   }
  328. }
  329.  
  330. //View Shouts
  331. class shouts
  332. {
  333.   public $view_shouts = array();
  334.   public $shout_url;
  335.  
  336.   function shouts()
  337.   {
  338.     global $query, $array, $assoc, $num, $connect, $db_s, $cap;
  339.  
  340.     //ShoutBox Table
  341.     $table = "shouts";
  342.     // How many adjacent pages should be shown on each side?
  343.     $adjacents = 3;
  344.  
  345.     $sql = $query("SELECT COUNT(id) as num FROM $db_s.$table")or die(mysql_error());
  346.       $total_pages = $assoc($sql);
  347.       $total_pages = $total_pages['num'];
  348.    
  349.       $targetpage = "./";   //your file name  (the name of this file)
  350.       $limit = 5;                               //how many items to show per page
  351.    
  352.       if(isset($_GET['shout']))
  353.       {
  354.         $page = $_GET['shout'];
  355.       }
  356.       else
  357.       {
  358.         $page = 1;
  359.       }
  360.       if($page)
  361.       {
  362.         $start = ($page - 1) * $limit;
  363.       }             //first item to display on this page
  364.       else
  365.       {
  366.         $start = 0;
  367.       }
  368.    
  369.       /* Get data. */
  370.       $result = $query("SELECT id, author, body, date FROM $db_s.$table ORDER BY id DESC LIMIT $start, $limit")or die(mysql_error());
  371.    
  372.       /* Setup page vars for display. */
  373.       if ($page == 0) $page = 1;                    //if no page var is given, default to 1.
  374.       $prev = $page - 1;                            //previous page is page - 1
  375.       $next = $page + 1;                            //next page is page + 1
  376.       $lastpage = ceil($total_pages/$limit);        //lastpage is = total pages / items per page, rounded up.
  377.     $lpm1 = $lastpage - 1;                      //last page minus 1
  378.  
  379.       while($get = $array($result))
  380.       {
  381.         $get = str_replace(array("\r\n", "\r", "\n"), "<br />", $get);
  382.         $this->view_shouts[] = $get;
  383.     }
  384.     $this->shout_url = '<br/><center>Page: <a href="./?shout='.$prev.'#shoutid"><u>Previous</u></a> - <a href="./?shout='.$next.'#shoutid"><u>Next</u></a></center><br/>';
  385.   }
  386. }
  387.  
  388. //List Realms
  389. class realms
  390. {
  391.   public $view_realms = array();
  392.   public $realm_world;
  393.   public $total_number;
  394.  
  395.   function realms()
  396.   {
  397.     global $query, $array, $num, $db_s, $host;
  398.      
  399.     //Get Realms
  400.     $sql = $query("SELECT id, name, type, char_db, port, p_limit FROM $db_s.realms")or die(mysql_error());
  401.     while($get = $array($sql))
  402.     {
  403.       $limit = $get['p_limit'];
  404.       $db_c = $get['char_db'];
  405.       $chars = $query("SELECT online FROM $db_c.characters WHERE online='1'")or die(mysql_error());
  406.       $char = $num($chars);
  407.       $number = $char / $limit;
  408.       $total_number = $number * 100;
  409.       $this->total_number = $total_number;
  410.       $err = array('no' => NULL, 'str' => NULL);
  411.       $arcemu = @fsockopen($host, $get['port'], $err['no'], $err['str'], (float)1.0);
  412.       $this->view_realms[] = $get;
  413.           if(!$arcemu)
  414.           {
  415.         $world = "Offline";
  416.         $this->realm_world = $world;
  417.       }
  418.       else
  419.       {
  420.         $world = "<font color=\"#90cf5d\">Online</font>";
  421.         $this->realm_world = $world;
  422.         fclose($arcemu);
  423.       }
  424.     }
  425.   }
  426. }
  427.  
  428. //Account Panel Info
  429. class account
  430. {
  431.   public $user_get = array();
  432.   public $admin;
  433.   public $curip;
  434.   public $banned;
  435.  
  436.   function info()
  437.   {
  438.     global $query, $array, $assoc, $db_a, $login;
  439.    
  440.     //Get Info By Query
  441.     $account_info = $query("SELECT id, username, email, joindate, locked, last_ip, expansion, acp, vp, dp FROM $db_a.account WHERE username='$login'")or die(mysql_error());
  442.     while($get = $array($account_info))
  443.     {
  444.       //Banned?
  445.       if($get['locked'] == 0)
  446.       {
  447.         $this->banned = "No";
  448.       }
  449.       else
  450.       {
  451.         $this->banned = "Yes";
  452.       }
  453.       //User Info
  454.       $this->user_get[] = $get;
  455.       //User's Current IP
  456.       $this->curip = $_SERVER['REMOTE_ADDR'];
  457.       //User's Site Rank
  458.       if($get['acp'] == 1)
  459.       {
  460.         //User Is Admin
  461.         $this->admin = "Admin - [<a href=\"./acp\" target=\"_BLANK\">Acp</a>]";
  462.       }
  463.       else
  464.       {
  465.         //User Is User
  466.         $this->admin = "User";
  467.       }
  468.     }
  469.   }
  470. }
  471.  
  472. //Forgot Password
  473. function forgot()
  474. {
  475.   global $query, $db_a, $login, $_CLEAN, $_STRIP_1, $_STRIP_2, $_STRIP_3, $copyr, $cap, $num;
  476.  
  477.   if(isset($_POST['forgot']))
  478.   {
  479.   //Post username
  480.   $username = $cap($_CLEAN['username']);
  481.   //Post Email
  482.   $email = $cap($_STRIP_1($_STRIP_2($_STRIP_3($_POST['email']))));
  483.  
  484.   //Validate User
  485.   $validate = $query("SELECT username, email FROM $db_a.account WHERE username='$username' and email='$email'")or die(mysql_error());
  486.   $valid = $num($validate);
  487.  
  488.   if($valid != 1)
  489.   {
  490.     //Account Invalid
  491.     return'An account with the details entered, could not be found.';
  492.   }
  493.   else
  494.   {
  495.   //Generate New Password
  496.   $password = rand(10000, 90000);
  497.  
  498.   //Email Subject
  499.   $subject = "{$copyr} - Password Retrieval";
  500.   //Email From?
  501.   $from = "new-password@{$copyr}.com";
  502.   //Email Body
  503.   $body = "Hi {$username}, Your New Password Is: {$password}";
  504.   //Email To?
  505.   $to = "{$email}";
  506.  
  507.     if (mail($to, $subject, $body, $from))
  508.     {
  509.       //Encrypt New Password With Salty Sha1
  510.       $password = sha1(strtoupper($username) . ":" . strtoupper($password));
  511.       $password = strtoupper($password);
  512.    
  513.       //Success, Update Account
  514.       $sql = $query("UPDATE $db_a.account SET sha_pass_hash='$password', v='0', s='0' WHERE username='$username' AND email='$email'")or die(mysql_error());
  515.    
  516.       return'<br/>Your Password Was Emailed To You.';
  517.     }
  518.     else
  519.     {
  520.       return'<br/>Were sorry, your password could not be emailed to you, please contact an administrator if this is your account.';
  521.     }
  522.   }
  523.   }
  524. }
  525.  
  526. //Change Password
  527. function change_password()
  528. {
  529.   if(isset($_POST['change']))
  530.   {
  531.     //Check for empty passwords
  532.     if(empty($_POST['opass']))
  533.     {
  534.       //Old Password Field Was Empty
  535.       return'<br/><center>Old password is invalid.</center>';
  536.     }
  537.     else
  538.     {
  539.       if(empty($_POST['npass']))
  540.       {
  541.         //New Password Field Was Empty
  542.         return'<br/><center>New password is invalid.</center>';
  543.       }
  544.       else
  545.       {
  546.         if(empty($_POST['cpass']))
  547.         {
  548.           //Confirm password Field Was Empty
  549.           return'<br/><center>Confirm password is invalid.</center>';
  550.         }
  551.         else
  552.         {
  553.           global $query, $db_a, $login, $num, $_CLEAN;
  554.          
  555.           //Post Passwords
  556.           $opass = $_CLEAN['opass'];
  557.           $npass = $_CLEAN['npass'];
  558.           $cpass = $_CLEAN['cpass'];
  559.          
  560.           //Encrypt Old Password With Salty Sha1
  561.           $opass = sha1(strtoupper($login) . ":" . strtoupper($opass));
  562.           $opass = strtoupper($opass);
  563.          
  564.           //Get Account
  565.           $sql = $query("SELECT username, sha_pass_hash FROM $db_a.account WHERE username='$login' AND sha_pass_hash='$opass'")or die(mysql_error());
  566.           $go = $num($sql);
  567.          
  568.           //Is Password Right?
  569.           if($go != 1)
  570.           {
  571.             //Password Is Wrong
  572.             return'<br/><center>Old password is wrong.</center>';
  573.           }
  574.           else
  575.           {
  576.             //Do Passwords Match?
  577.             if($npass != "$cpass")
  578.             {
  579.               //Passwords Do Not Match
  580.               return'<br/><center>New and confirmed passwords do not match.</center>';
  581.             }
  582.             else
  583.             {
  584.               //Encrypt New Password With Salty Sha1
  585.               $npass = sha1(strtoupper($login) . ":" . strtoupper($npass));
  586.               $npass = strtoupper($npass);
  587.              
  588.               //Success Update Account
  589.               $query("UPDATE $db_a.account SET sha_pass_hash='$npass', sessionkey='', v='', s='' WHERE username='$login'")or die(mysql_error());
  590.              
  591.               return'<br/><center>Your password has been changed!</center>';
  592.             }
  593.           }
  594.         }
  595.       }
  596.     }
  597.   }
  598. }
  599.  
  600. //Character Unstuck & Revive
  601. class char_opt
  602. {
  603.   public $view_realm = array();
  604.   public $view_char = array();
  605.  
  606.   function char_opt()
  607.   {
  608.     global $query, $array, $row, $db_a, $db_s, $login;
  609.  
  610.     $realmid = $query("SELECT id, name, char_db FROM $db_s.realms")or die(mysql_error());
  611.     while($realm = $array($realmid))
  612.     {
  613.       //Get Char Db
  614.       $db_c = $realm['char_db'];
  615.       //Get Realm Name & Id
  616.       $this->view_realm[] = $realm;
  617.     }
  618.     //Select Account's Characters
  619.     $sql = $query("SELECT `account`.`id`, `account`.`username`, `characters`.`guid`, `characters`.`account`, `characters`.`name` FROM $db_a.`account`, $db_c.`characters` WHERE `account`.`id` = `characters`.`account` AND `account`.`username` = '$login'")or die(mysql_error());
  620.     while($get = $row($sql))
  621.     {
  622.       $this->view_char[] = $get;
  623.     }
  624.   }
  625. }
  626.  
  627. function unstuck_revive()
  628. {
  629.   if(isset($_POST['tool']))
  630.   {
  631.     global $query, $array, $num, $db_a, $db_s, $login, $_STRIP_1, $_STRIP_2, $_STRIP_3;
  632.    
  633.     //Get Character & Realm Id
  634.     $data = $_STRIP_1($_STRIP_2($_STRIP_3($_POST['chart'])));
  635.    
  636.     //Separate Ids
  637.     $sep = explode("-", $data);
  638.     //Character Id
  639.     $guid = $sep[0];
  640.     //Realm Id
  641.     $realm = $sep[1];
  642.    
  643.     //Get Character Db
  644.     $sql = $query("SELECT id, char_db FROM $db_s.realms WHERE id='$realm'")or die(mysql_error());
  645.     while($get = $array($sql))
  646.     {
  647.       //Character Db
  648.       $db_c = $get['char_db'];
  649.      
  650.       //Get Character's Parent Account
  651.       $gchar = $query("SELECT account FROM $db_c.characters WHERE guid='$guid'")or die(mysql_error());
  652.       $check = $num($gchar);
  653.      
  654.       //Validate Ownership
  655.       if($check != 1)
  656.       {
  657.         //Character Does Not Exist.
  658.         return'<br/><center>Invalid character.</center>';
  659.       }
  660.       else
  661.       {
  662.         while($char = $array($gchar))
  663.         {
  664.           //Character's Parent Account
  665.           $char_id = $char['account'];
  666.          
  667.           //Validate Ownership
  668.           $acc = $query("SELECT id, username FROM $db_a.account WHERE username='$login'")or die(mysql_error());
  669.           while($ac = mysql_fetch_array($acc))
  670.           {
  671.             $account = $ac['id'];
  672.             if($account != "$char_id")
  673.             {
  674.               //Character Is Not Yours
  675.               return'<br/><center>That character does not belong to you.</center>';
  676.             }
  677.             else
  678.             {
  679.               //Position X
  680.               $px='-14406.599609';
  681.               //Position Y
  682.               $py='419.352997';
  683.               //Position Z
  684.               $pz='22.390306';
  685.               //Orientation
  686.               $o='0.000000';
  687.               //Map Id
  688.               $m='0';
  689.               //Zone Id
  690.               $z='33';
  691.              
  692.               //Success, Update Character
  693.               $sql = $query("UPDATE $db_c.characters SET  drunk = 0, playerFlags = playerFlags & ~ 16, position_x = '$px', position_y = '$py', position_z = '$pz', zone = '$z', map = '$m' WHERE guid='$guid' AND account='$char_id' LIMIT 1")or die(mysql_error());
  694.              
  695.               return'<center><br/>Your character has been unstucked and revived.</center>';
  696.             }
  697.           }
  698.         }
  699.       }
  700.     }
  701.   }
  702. }
  703.  
  704. //Online Players
  705. class online
  706. {
  707.   public $show_online = array();
  708.   public $realm_name;
  709.  
  710.   function online()
  711.   {
  712.     global $con, $query, $assoc, $array, $db_s;
  713.    
  714.     if(isset($_GET['page']))
  715.     {
  716.       $page = $_GET['page'];
  717.      
  718.     if($page == "realm")
  719.     {
  720.       //Get Realm Id
  721.       if(isset($_GET['id']))
  722.       {
  723.         $realm_id = $_GET['id'];
  724.       }
  725.       //Get Realm
  726.       $get_realms = sprintf("SELECT id, name, char_db FROM $db_s.realms WHERE id='%s'", $realm_id, "int");
  727.       $got_realms = $query($get_realms, $con) or die(mysql_error());
  728.       $gr = $assoc($got_realms);
  729.    
  730.       //Realm Id
  731.       $realmid = $gr['id'];
  732.       if($realm_id != $realmid)
  733.       {
  734.         $this->realm_name = "<b>Invalid Realm Id.</b>";
  735.       }
  736.       else
  737.       {
  738.         //Character Db
  739.         $realmdb = $gr['char_db'];
  740.         //Realm Name
  741.         $the_actual_name = $gr['name'];
  742.         $this->realm_name = "Online Players For The <b>{$the_actual_name}</b> Realm.";
  743.    
  744.         if($realm_id == "$realmid")
  745.         {
  746.           //Get Online Characters
  747.           $get_online_char = $query("SELECT * FROM $realmdb.characters WHERE online='1'")or die(mysql_error());
  748.           while($g_o_c = $array($get_online_char))
  749.           {
  750.             $this->show_online[] = $g_o_c;
  751.           }
  752.         }
  753.       }
  754.     }
  755.   }}
  756. }
  757.  
  758. //Vote System
  759. class vote
  760. {
  761.   public $view_sites = array();
  762.  
  763.   function vote()
  764.   {
  765.     if(isset($_GET['page']))
  766.     {
  767.       $page = $_GET['page'];
  768.    
  769.     if($page == "vote")
  770.     {
  771.       global $query, $array, $db_s;
  772.      
  773.       $get_site = $query("SELECT id, name, cost, url, img FROM $db_s.vote_sites")or die(mysql_error());
  774.       while($site = $array($get_site))
  775.       {
  776.         $this->view_sites[] = $site;
  777.       }
  778.     }}
  779.   }
  780. }
  781.  
  782. function vote_go()
  783. {
  784.   global $query, $array, $num, $db_a, $db_s, $login, $date;
  785.  
  786.   if(isset($_POST['site']))
  787.   {
  788.     $sid = $_POST['site'];
  789.     $get_sites = $query("SELECT id, name, cost, url, img FROM $db_s.vote_sites WHERE id='$sid'")or die(mysql_error());
  790.     $got_sites = $num($get_sites);
  791.     if($got_sites == 0)
  792.     {
  793.       return "Invalid Site.";
  794.     }
  795.     else
  796.     {
  797.       if(!$login)
  798.       {
  799.         return "<br/>You must login to receive vote points.";
  800.       }
  801.       else
  802.       {
  803.         $time = "";
  804.         $get_time = $query("SELECT site, user, date FROM $db_s.vote_log WHERE site='$sid' AND user='$login' ORDER BY id DESC LIMIT 1")or die(mysql_error());
  805.         while($gtime = $array($get_time))
  806.         {
  807.           $time = $gtime['date'];
  808.           $inputtime = DateTime::createFromFormat('l F d, Y @ g:i A',''.$time.'',new DateTimeZone("US/Pacific"));
  809.           $diff = $inputtime->getTimestamp() - time();
  810.         }
  811.         if($time == "" || abs($diff) > 43200)
  812.         {
  813.           $get_sites = $query("SELECT id, name, cost, url, img FROM $db_s.vote_sites WHERE id='$sid'")or die(mysql_error());
  814.           while($sites = $array($get_sites))
  815.           {
  816.             $get_vp = $query("SELECT vp FROM $db_a.account WHERE username='$login'")or die(mysql_error());
  817.             while($get = $array($get_vp))
  818.             {
  819.               $old_vp = $get['vp'];
  820.               $site_cost = $sites['cost'];
  821.               $vp = $old_vp + $site_cost;
  822.              
  823.               $sql1 = $query("INSERT INTO $db_s.vote_log (site, type, user, cost, date) VALUES ('$sid', 'Vote', '$login', '$site_cost', '$date')")or die(mysql_error());
  824.               $sql2 = $query("UPDATE $db_a.account SET vp='$vp' WHERE username='$login'")or die(mysql_error());
  825.              
  826.               header("Location: #vote");
  827.             }
  828.           }
  829.         }
  830.         else
  831.         {
  832.           return "<br/>You must wait 12 hours before you can vote for this site again.";
  833.         }
  834.       }
  835.     }
  836.   }
  837. }
  838.  
  839. //Vote & V.I.P Store Functions
  840. //Store Realm Selection
  841. class store_realm
  842. {
  843.   public $view_realm = array();
  844.  
  845.   function store_realm()
  846.   {
  847.     global $db_s, $query, $array;
  848.    
  849.     $realms = $query("SELECT id, name FROM $db_s.realms")or die(mysql_error());
  850.     while($realm = $array($realms))
  851.     {
  852.       $this->view_realm[] = $realm;
  853.     }
  854.   }
  855. }
  856.  
  857. //Store Character Selection
  858. class store_char
  859. {
  860.   public $view_char = array();
  861.   public $char_view_db;
  862.   public $char_view_id;
  863.  
  864.   function store_char()
  865.   {
  866.     global $query, $array, $db_s, $row, $db_a, $login;
  867.    
  868.     if(isset($_POST['select']))
  869.     {
  870.       $id = $_POST['realm'];
  871.       $this->char_view_id = $id;
  872.      
  873.       $char_db = $query("SELECT char_db FROM $db_s.realms WHERE id='$id'")or die(mysql_error());
  874.       while($db_c = $array($char_db))
  875.       {
  876.         $db_c = $db_c['char_db'];
  877.         $this->char_view_db = $db_c;
  878.        
  879.         $chars = $query("SELECT `account`.`id`, `account`.`username`, `characters`.`guid`, `characters`.`account`, `characters`.`name` FROM $db_a.`account`, $db_c.`characters` WHERE `account`.`id` = `characters`.`account` AND `account`.`username` = '$login'")or die(mysql_error());
  880.         while($char = $row($chars))
  881.         {
  882.           $this->view_char[] = $char;
  883.         }
  884.       }
  885.     }
  886.   }
  887. }
  888.  
  889. //Vote Items
  890. class store_vitems
  891. {
  892.   public $view_vitem = array();
  893.   public $view_vamount;
  894.  
  895.   function store_vitems()
  896.   {
  897.     if(isset($_POST['select']))
  898.     {
  899.       global $query, $array, $db_s;
  900.    
  901.       $id = $_POST['realm'];
  902.    
  903.       $items = $query("SELECT id, name, item_id, amount, cost, type, realm FROM $db_s.store WHERE type='vote' AND realm='$id' ORDER BY id")or die(mysql_error());
  904.       while($item = $array($items))
  905.       {
  906.         $this->view_vitem[] = $item;
  907.       }
  908.     }
  909.   }
  910. }
  911.  
  912. //V.I.P Items
  913. class store_ditems
  914. {
  915.   public $view_ditem = array();
  916.   public $view_damount;
  917.  
  918.   function store_ditems()
  919.   {
  920.     if(isset($_POST['select']))
  921.     {
  922.       global $query, $array, $db_s;
  923.    
  924.       $id = $_POST['realm'];
  925.    
  926.       $items = $query("SELECT id, name, item_id, amount, cost, type, realm FROM $db_s.store WHERE type='vip' AND realm='$id' ORDER BY id")or die(mysql_error());
  927.       while($item = $array($items))
  928.       {
  929.         $this->view_ditem[] = $item;
  930.       }
  931.     }
  932.   }
  933. }
  934.  
  935. //Store Purchase
  936. function store_purchase()
  937. {
  938.   if(isset($_POST['buy']))
  939.   {
  940.     if(empty($_POST['char']))
  941.     {
  942.       //Character Was Invalid
  943.       return"Invalid Character.";
  944.     }
  945.     else
  946.     {
  947.       if(empty($_POST['item']))
  948.       {
  949.         //Item Was Invalid
  950.         return"Invalid Item.";
  951.       }
  952.       else
  953.       {
  954.         global $query, $array, $num, $assoc, $_STRIP_1, $_STRIP_2, $_STRIP_3, $db_a, $db_s, $login, $host, $rauser, $rapass, $con, $date;
  955.    
  956.         //Clean Data
  957.         $character = $_STRIP_1($_STRIP_2($_STRIP_3($_POST['char'])));
  958.         $item = $_STRIP_1($_STRIP_2($_STRIP_3($_POST['item'])));
  959.    
  960.         //Explode To Separate Data
  961.         $sep_c = explode("-", $character);
  962.         $sep_i = explode("-", $item);
  963.    
  964.         //Character Database
  965.         $db_c = $sep_c[0];
  966.         //Character Guid
  967.         $guid = $sep_c[1];
  968.         //Character's Parent Realm
  969.         $realm = $sep_c[2];
  970.         //Purchase Type
  971.         $type = $sep_i[0];
  972.         //Item Purchased
  973.         $item = $sep_i[1];
  974.         //Item Cost
  975.         $cost = $sep_i[2];
  976.         //Item Amount
  977.         $amount = $sep_i[3];
  978.        
  979.         //Split Items
  980.         $split_items = explode(",", $item);
  981.         if(empty($split_items[0]))
  982.         {
  983.           $item_1 = "";
  984.         }
  985.         else
  986.         {
  987.           $item_1 = "{$split_items[0]}[:{$amount}]";
  988.         }
  989.        
  990.         if(empty($split_items[1]))
  991.         {
  992.           $item_2 = "";
  993.         }
  994.         else
  995.         {
  996.           $item_2 = "{$split_items[1]}[:{$amount}]";
  997.         }
  998.        
  999.         if(empty($split_items[2]))
  1000.         {
  1001.           $item_3 = "";
  1002.         }
  1003.         else
  1004.         {
  1005.           $item_3 = "{$split_items[2]}[:{$amount}]";
  1006.         }
  1007.        
  1008.         if(empty($split_items[3]))
  1009.         {
  1010.           $item_4 = "";
  1011.         }
  1012.         else
  1013.         {
  1014.           $item_4 = "{$split_items[3]}[:{$amount}]";
  1015.         }
  1016.        
  1017.         if(empty($split_items[4]))
  1018.         {
  1019.           $item_5 = "";
  1020.         }
  1021.         else
  1022.         {
  1023.           $item_5 = "{$split_items[4]}[:{$amount}]";
  1024.         }
  1025.        
  1026.         //Get Realm's Ra_Port
  1027.         $raport = $query("SELECT id, ra_port FROM $db_s.realms WHERE id='$realm'")or die(mysql_error());
  1028.         while($rap = $array($raport))
  1029.         {
  1030.           $ra = $rap['ra_port'];
  1031.         }
  1032.        
  1033.         //Get Account Data
  1034.         $accounts = $query("SELECT username, email, vp, dp FROM $db_a.account WHERE username='$login'")or die(mysql_error());
  1035.         while($account = $array($accounts))
  1036.         {
  1037.           //Account Email For Logs
  1038.           $email = $account['email'];
  1039.           //Old Vote Points
  1040.           $ovp = $account['vp'];
  1041.           //Old V.I.P Points
  1042.           $odp = $account['dp'];
  1043.      
  1044.           //Get Character Guid For Matching
  1045.           $chara = $query("SELECT name FROM $db_c.characters WHERE guid='$guid'")or die(mysql_error());
  1046.           $vchar = $num($chara);
  1047.      
  1048.           while($chars = $array($chara))
  1049.           {
  1050.             //Character name
  1051.             $char = $chars['name'];
  1052.           }
  1053.      
  1054.           if($vchar != 1)
  1055.           {
  1056.             //Character Is Invalid
  1057.             return'Invalid Character.';
  1058.           }
  1059.           else
  1060.           {
  1061.             if($type == "vip")
  1062.             {
  1063.               if($odp < "$cost")
  1064.               {
  1065.                 //User Doesn't Have Enough V.I.P Points
  1066.                 return'You do not have enough V.I.P points.';
  1067.               }
  1068.               else
  1069.               {
  1070.                 //Subtract New V.I.P Points From Old V.I.P Points
  1071.                 $dp = $odp - $cost;
  1072.                 //V.I.P Mail Subject
  1073.                 $subject = "V.I.P Items";
  1074.                 //V.I.P Mail Body
  1075.                 $text = "Thank you for donating, here is your reward!";
  1076.            
  1077.                 //Update Account's V.I.P Points
  1078.                 $go = ("UPDATE $db_a.account SET dp='$dp' WHERE username='$login'");
  1079.                 $greater = 1;
  1080.               }
  1081.             }
  1082.             else if($type == "vote")
  1083.             {
  1084.               if($ovp < "$cost")
  1085.               {
  1086.             //User Doesn't Have Enough Vote Points
  1087.             return'You do not have enough vote points.';
  1088.               }
  1089.               else
  1090.               {
  1091.                 //Subtract New Vote Points From Old Vote Points
  1092.                 $vp = $ovp - $cost;
  1093.                 //Vote Mail Subject
  1094.                 $subject = "Vote Items";
  1095.                 //Vote Mail Body
  1096.                 $text = "Thank you for voting, here is your reward!";
  1097.            
  1098.                 //Update Account's Vote Points
  1099.                 $go = ("UPDATE $db_a.account SET vp='$vp' WHERE username='$login'");
  1100.                 $greater = 1;
  1101.               }
  1102.             }
  1103.             if($item == "")
  1104.             {
  1105.               //Item Is Invalid
  1106.               return'Invalid Item.';
  1107.             }
  1108.             else
  1109.             {
  1110.               if($greater == 1)
  1111.               {
  1112.                 //Purchase Was UnSuccessful
  1113.                 $status = "UnSuccessful";
  1114.            
  1115.                 //Connect To Server Via Telnet Using Ra_Mail
  1116.                 $telnet = fsockopen($host, $ra, $error, $error_str, 3);
  1117.                 if($telnet)
  1118.                 {
  1119.  
  1120.                   sleep(3);
  1121.                   fputs($telnet, ''.$rauser."\n");
  1122.                   sleep(3);
  1123.                   fputs($telnet, ''.$rapass."\n");
  1124.                   sleep(3);
  1125.            
  1126.                       //User's Account Name
  1127.                   $playername = $login;
  1128.            
  1129.                   //Send Items
  1130.                   fputs($telnet, ".send items $char \"{$subject}\" \"{$text}\" {$item_1} {$item_2} {$item_3} {$item_4} {$item_5} \n");
  1131.                  
  1132.                   sleep(3);
  1133.                   fclose($telnet);
  1134.              
  1135.                   //Item Was Sent, Purchase Was Successful
  1136.                   $exe = $query($go, $con)or die(mysql_error());
  1137.                   $status = "Successful";
  1138.                  
  1139.                 }
  1140.                 else
  1141.                 {
  1142.                   //Telnet Connection Was Not Made
  1143.                   return"<br/>A Telnet connection issue occured: <i>".$error_str."</i><br>";
  1144.                 }
  1145.                 //Log Purchase
  1146.                 $query("INSERT INTO $db_s.store_log (`type`, `character`, `item`, `cost`, `date`, `status`) VALUES ('$type', '$char', '$item', '$cost', '$date', '$status')") or die("Error: ".mysql_error());
  1147.                 return'Item was sent via in-game mail.';
  1148.               }
  1149.               else
  1150.               {
  1151.               }
  1152.             }
  1153.           }
  1154.         }
  1155.       }
  1156.     }
  1157.   }
  1158. }
  1159.  
  1160. //Arena Ladder
  1161. class top
  1162. {
  1163.   public $top = array();
  1164.   public $top_race;
  1165.  
  1166.   function top()
  1167.   {
  1168.     global $query, $array, $db_s;
  1169.    
  1170.     if(isset($_GET['page']) == "realm" && isset($_GET['id']) == true)
  1171.     {
  1172.       $id = "";
  1173.       if(isset($_GET['id']))
  1174.       {
  1175.         $id = $_GET['id'];
  1176.       }
  1177.       $sql = $query("SELECT id, char_db FROM $db_s.realms WHERE id='$id'")or die(mysql_error());
  1178.       while($get = $array($sql))
  1179.       {
  1180.         $db_c = $get['char_db'];
  1181.       }
  1182.       $sql = $query("SELECT name, race, class, gender, totalKills, todayKills FROM $db_c.characters ORDER BY totalKills DESC LIMIT 0, 10")or die(mysql_error());
  1183.           while($get = $array($sql))
  1184.           {
  1185.             $this->top[] = $get;
  1186.           }
  1187.     }
  1188.   }
  1189. }
  1190. ?>
Add Comment
Please, Sign In to add comment