Advertisement
Guest User

Untitled

a guest
Jun 4th, 2017
563
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 10.73 KB | None | 0 0
  1. <?php
  2.  
  3. class realmd{
  4.    
  5.     var $db;
  6.     var $id;
  7.    
  8.     FUNCTION __construct($db, $link) {
  9.        
  10.         $this->db = $db;
  11.         $this->id = $link;
  12.        
  13.     }
  14.    
  15.     FUNCTION membership() {
  16.        
  17.         IF(isset($_POST['login_username']) && isset($_POST['login_password']) && !isset($_SESSION['username'])) { $this->login($_POST['login_username'], $_POST['login_password']); }
  18.        
  19.         IF(!isset($_SESSION['username'])) {
  20.            
  21.             $output = '<form method="post" action="?p=home" style="text-align:center;">
  22.                  <input name="login_username" type="text" value="Username" onFocus="this.value=\'\'"/>
  23.                <br />
  24.                <input name="login_password" type="password" value="Password" onFocus="this.value=\'\'"/>
  25.                <br />
  26.                  <input type="submit" value="Login" />
  27.              </form><br />
  28.              <center>No account? <a href="?p=register">Create one here!</a></center>';
  29.            
  30.         } ELSE {
  31.            
  32.             $info = mysql_query("SELECT * FROM ".$this->db.".account WHERE username = '".$_SESSION['username']."'", $this->id);
  33.             $info_row = mysql_fetch_assoc($info);
  34.            
  35.             $_SESSION['shoutboxnick'] = $info_row['nickname'];
  36.            
  37.             $exp[0] = "None";
  38.             $exp[1] = "TBC";
  39.             $exp[2] = "WoTLK";
  40.            
  41.             $ingame[0] = "<span style='color:red;'>No</span>";
  42.             $ingame[1] = "<span style='color:green;'>Yes</span>";
  43.            
  44.             $rank[0] = "Player";
  45.             $rank[1] = "GM Helper";
  46.             $rank[2] = "GameMaster";
  47.             $rank[3] = "Admin";
  48.             $rank[4] = "Owner";
  49.            
  50.             IF($_SESSION['rank'] >= 3) {
  51.                 $acp = '<tr>
  52.                 <td>&bull; <a href="?p=admin">Admin panel</a></td>
  53.                 </tr>';
  54.             } ELSE { $acp = ""; }
  55.            
  56.             $output = '<center>Welcome <b>'.$_SESSION['username'].'</b>! [<a href="?p=logout">Logout</a>]<br /><br />
  57.             <table>
  58.                 <tr>
  59.                     <td><b>Flags: </b></td>
  60.                     <td>'.$exp[$info_row['expansion']].'</td>
  61.                 </tr>
  62.                 <tr>
  63.                     <td><b>Email: </b></td>
  64.                     <td>'.$info_row['email'].'</td>
  65.                 </tr>
  66.                 <tr>
  67.                     <td><b>Last IP: </b></td>
  68.                     <td>'.$info_row['last_ip'].'</td>
  69.                 </tr>
  70.                 <tr>
  71.                     <td><b>Current IP: </b></td>
  72.                     <td>'.$_SERVER['REMOTE_ADDR'].'</td>
  73.                 </tr>
  74.                 <tr>
  75.                     <td><b>Online: </b></td>
  76.                     <td>'.$ingame[$info_row['online']].'</td>
  77.                 </tr>
  78.                     <tr>
  79.                     <td><b>Rank: </b></td>
  80.                     <td>'.$rank[$_SESSION['rank']].'</td>
  81.                 </tr>
  82.                
  83.                 <tr>
  84.                     <td><b>Vp: </b></td>
  85.                     <td>'.$info_row['vp'].'</td>
  86.                 </tr>
  87.                
  88.                 <tr>
  89.                     <td><b>Dp: </b></td>
  90.                     <td>'.$info_row['dp'].'</td>
  91.                 </tr>
  92.                
  93.                 <tr>
  94.                     <td><b>Sb Nick: </b></td>
  95.                     <td>'.$_SESSION['shoutboxnick'].'</td>
  96.                 </tr>
  97.                
  98.                
  99.             </table><br />
  100.            
  101.             <table width="90%">
  102.                 <tr>
  103.                 <td><b>Account tools</b></td>
  104.                 </tr>
  105.                 <tr>
  106.                 <td>&bull; <a href="?p=changepw">Change password</a></td>
  107.                 </tr>
  108.                
  109.                 <tr>
  110.                 <td>&bull; <a href="?p=changeexp">Change expansions</a></td>
  111.                 </tr>
  112.                
  113.                 <tr>
  114.                 <td>&bull; <a href="?p=unstuck">Unstuck character</a></td>
  115.                 </tr>
  116.                
  117.                 <tr>
  118.                 <td>&bull; <a href="?p=changenick">Change Shoutbox Nickname</a></td>
  119.                 </tr>
  120.                
  121.                 <tr>
  122.                 <td>&bull; <a href="?p=vote">Vote</a></td>
  123.                 </tr>
  124.                
  125.                 <tr>
  126.                 <td>&bull; <a href="?p=donate">Donate</a></td>
  127.                 </tr>
  128.                
  129.                 <tr>
  130.                 <td>&bull; <a href="?p=shop">Item shop</a></td>
  131.                 </tr>
  132.                
  133.                 '.$acp.'
  134.  
  135.                 <tr>
  136.                 <td>Realmlist: <b>logon.unforgivenwow.com</b></td>
  137.                 </tr>
  138.             </table>
  139.             </center>';
  140.            
  141.         }
  142.        
  143.         echo $output;
  144.        
  145.     }
  146.        
  147.     FUNCTION login($user, $pass) {
  148.        
  149.         $userx = @mysql_query("SELECT username, sha_pass_hash, id FROM ".$this->db.".account WHERE username = '".$user."' LIMIT 1", $this->id);
  150.         $user_row = @mysql_fetch_assoc($userx);
  151.        
  152.         $user_u = strtoupper($user);
  153.         $pass_u = strtoupper($pass);
  154.         $hashedpw = sha1($user_u.':'.$pass_u);
  155.        
  156.         $output = '<center>';
  157.        
  158.         IF(empty($user) || empty($pass)) {
  159.             $output .= 'One or more fields wasn\'t filled!';
  160.         }
  161.        
  162.         elseif(empty($user_row['username'])) {
  163.             $output .= 'User doesn\'t exist!';
  164.         }
  165.        
  166.         elseif($hashedpw != $user_row['sha_pass_hash']) {
  167.             $output .= 'Wrong password!';
  168.         }
  169.        
  170.         ELSE {
  171.            
  172.             $rank = @mysql_query("SELECT * FROM ".$this->db.".account_access WHERE id = '".$user_row['id']."' LIMIT 1", $this->id);
  173.             $rank_row = @mysql_fetch_assoc($rank);
  174.            
  175.             $_SESSION['username'] = $user;
  176.            
  177.             IF(empty($rank_row['gmlevel'])) {
  178.                 $_SESSION['rank'] = 0;
  179.             } ELSE {
  180.                 $_SESSION['rank'] = $rank_row['gmlevel'];
  181.             }
  182.            
  183.             die("<script type='text/javascript'>window.location='?p=home'</script>You are being redirected, press <a href='?p=home'>here</a> if you don't wish to wait!");
  184.         }
  185.        
  186.         $output .= '</center>';
  187.        
  188.         echo $output;
  189.     }
  190.    
  191.     FUNCTION register() {
  192.         global $realmlist;
  193.        
  194.         $one = rand(1, 15);
  195.         $two = rand(1, 15);
  196.        
  197.         $output = '<div class="midbox"><div class="midbox_top">Account creation</div>
  198.            <div class="midbox_content">
  199.             <form action="?p=register" method="post">';
  200.        
  201.         IF(isset($_POST['reg_username'])) {
  202.             $output .= realmd::reg_acc();
  203.         }
  204.        
  205.         $output .= '<center>
  206.                                <img src="images/ca.png" border="0">
  207.                                <br />
  208.                 <input type="text" name="reg_username" value="Username" onFocus="this.value=\'\'"/><br />
  209.                 <input type="password" name="reg_password" value="Password" onFocus="this.value=\'\'"/><br />
  210.                 <input type="text" name="reg_email" value="yourname@server.com" onFocus="this.value=\'\'"/><br />
  211.                 <label for="reg_flags">Expansion:</label>
  212.                 <select name="reg_flags">
  213.                 <option value="2">WoTLK</option>
  214.                 <option value="1">TBC</option>
  215.                 <option value="0">None</option>
  216.                 </select><br /><br /><br />
  217.                 <input type="hidden" name="reg_ans" value="'.($one+$two).'" />
  218.                 <input type="text" name="reg_antibot" value="Anti-bot: What is '.$one.' + '.$two.'?" onFocus="this.value=\'\'"/><br />
  219.                 <br />
  220.                 <input type="submit" value="Create account!"/><br /><br />
  221.                 <b>set realmlist '.$realmlist.'</b>
  222.             </center>
  223.             </form>
  224.             </div>
  225.            </div>';
  226.            
  227.         echo $output;
  228.        
  229.     }
  230.    
  231.     FUNCTION reg_acc() {
  232.        
  233.         $userx = @mysql_query("SELECT username, id FROM ".$this->db.".account WHERE username = '".mysql_real_escape_string($_POST['reg_username'])."' LIMIT 1", $this->id);
  234.         $user_row = @mysql_fetch_assoc($userx);
  235.        
  236.         $output = "<center>";
  237.        
  238.         IF(isset($_SESSION['username'])) {
  239.             $output .= "You're already logged in!";
  240.         }
  241.        
  242.         elseif(filter_var($_POST['reg_email'], FILTER_VALIDATE_EMAIL) == FALSE) {
  243.             $output .= "Invalid email!";
  244.         }
  245.        
  246.         elseif(isset($user_row['id'])) {
  247.             $output .= "User already exists!";
  248.         }
  249.        
  250.         elseif($_POST['reg_antibot'] != $_POST['reg_ans']) {
  251.             $output .= "Wrong anti-bot answear!";
  252.         }
  253.        
  254.         ELSE {
  255.             $username = mysql_real_escape_string($_POST['reg_username']);
  256.             $pass = mysql_real_escape_string($_POST['reg_password']);
  257.             $email = mysql_real_escape_string($_POST['reg_email']);
  258.             $flags = mysql_real_escape_string($_POST['reg_flags']);
  259.            
  260.             $pw = sha1(strtoupper($username).':'.strtoupper($pass));
  261.            
  262.               mysql_query("INSERT INTO ".$this->db.".account(`username`, `sha_pass_hash`, `email`, `expansion`, `nickname` ) VALUES('".$username."', '".$pw."', '".$email."', '".$flags."','".$username."' )", $this->id) OR die(mysql_error());
  263.            
  264.             $_SESSION['shoutboxnick'] = $username;
  265.            
  266.             $output .= "<span style='color:green;'>Account was created successfully!</span>";
  267.         }
  268.        
  269.         $output .= "</center>";
  270.        
  271.         RETURN $output;
  272.     }
  273.    
  274.     FUNCTION xml_status() {
  275.        
  276.         $query = mysql_query("SELECT COUNT(*) AS total FROM ".$this->db.".account", $this->id);
  277.         $row = mysql_fetch_assoc($query);
  278.         $total = $row['total'];
  279.        
  280.         $xml = '
  281.  
  282. <accounts>'.$total.'</accounts>';
  283.        
  284.                
  285.         RETURN $xml;
  286.        
  287.     }
  288.    
  289.     FUNCTION CHANGE($what) {
  290.    
  291.         $output = '<div class="midbox"><div class="midbox_top">Change '.$what.'</div>
  292.            <div class="midbox_content"><center><br />';
  293.        
  294.         switch($what) {
  295.        
  296.         CASE "password":
  297.        
  298.             $output .= '<form action="?p=changepw" method="post">
  299.             New password:<br />
  300.                 <input name="newpw" type="password" value="password" onFocus="this.value=\'\'"  /><br /><br />
  301.                 <input type="submit" value="Change it!" />
  302.                 </form>';
  303.        
  304.             IF(isset($_POST['newpw'])) {
  305.                 $acc = $_SESSION['username'];
  306.                 $pw = mysql_real_escape_string($_POST['newpw']);
  307.        
  308.                 $pw = sha1(strtoupper($acc).':'.strtoupper($pw));
  309.        
  310.                 mysql_query("UPDATE ".$this->db.".account SET sha_pass_hash='$pw' WHERE username='$acc'", $this->id) OR die(mysql_error());
  311.            
  312.                 $output .= "<br /><center>Your password was successfully changed to <b>".$_POST['newpw']."</b>!</center>";
  313.             }
  314.            
  315.         break;
  316.        
  317.         CASE "nickname":
  318.        
  319.             $output .= '<form action="?p=changenick" method="post">
  320.             New NickName:<br />
  321.                 <input name="newnick" type="text" value="NickName" onFocus="this.value=\'\'"  /><br /><br />
  322.                 <input type="submit" value="Change it!" />
  323.                 </form>';
  324.        
  325.             IF(isset($_POST['newnick'])) {
  326.                 $acc = $_SESSION['username'];
  327.                 $chosennickname = mysql_real_escape_string($_POST['newnick']);
  328.                 //CHECK IF nickname already EXISTS
  329.                 $doublecheck = mysql_query("SELECT nickname from ".$this->db.".account");
  330.                 $doublecheck_a = mysql_fetch_assoc($doublecheck);
  331.                
  332.                 IF ($chosennickname == $doublecheck_a) {
  333.                     die("<script>alert(\"This Nickname already exists.\");</script>");
  334.                 }
  335.                
  336.                 IF ( strlen($chosennickname) >=14) {
  337.                     die("<script>alert(\"The nickname you chose is to long.\");</script>");
  338.                    
  339.                 }
  340.                
  341.                 require_once("config.php");
  342.                 $filterlength = COUNT($filter);
  343.                
  344.                 FOR ($i=1; $i<=$count; $i++)
  345.                  {
  346.                     $chosenickname == $filter[$i];
  347.                     die()
  348.                                    
  349.                  } 
  350.                  
  351.                 $_SESSION['shoutboxnick'] = $chosennickname;
  352.                 mysql_query("UPDATE ".$this->db.".account SET nickname='$chosennickname' WHERE username='$acc'", $this->id) OR die(mysql_error());
  353.            
  354.                 $output .= "<br /><center>Your Nickname was successfully changed to <b>".$_POST['newnick']."</b>!</center>";
  355.             }
  356.            
  357.         break;
  358.        
  359.         CASE "expansion":
  360.             $output .= '<form action="?p=changeexp" method="post">
  361.             New expansion:<br />
  362.                 <select name="newexp">
  363.                 <option value="2">WoTLK</option>
  364.                 <option value="1">TBC</option>
  365.                 <option value="0">None</option>
  366.                 </select>
  367.                 <br /><br />
  368.                 <input type="submit" value="Change it!" />
  369.                 </form>';
  370.        
  371.             IF(isset($_POST['newexp'])) {
  372.                 $acc = $_SESSION['username'];
  373.                 $exp = mysql_real_escape_string($_POST['newexp']);
  374.  
  375.        
  376.                 mysql_query("UPDATE ".$this->db.".account SET expansion='$exp' WHERE username='$acc'", $this->id) OR die(mysql_error());
  377.            
  378.                 $output .= "<br /><center>Your expansion was successfully changed!</center>";
  379.             }
  380.         break;
  381.            
  382.         }
  383.    
  384.         $output .= "</center></div></div>";
  385.        
  386.         echo $output;
  387.        
  388.     }
  389. }
  390.            
  391. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement