Advertisement
Guest User

Untitled

a guest
Jun 3rd, 2017
518
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 9.60 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.             $exp[0] = "None";
  36.             $exp[1] = "TBC";
  37.             $exp[2] = "WoTLK";
  38.            
  39.             $ingame[0] = "<span style='color:red;'>No</span>";
  40.             $ingame[1] = "<span style='color:green;'>Yes</span>";
  41.            
  42.             $rank[0] = "Player";
  43.             $rank[1] = "VIP";
  44.             $rank[2] = "GameMaster";
  45.             $rank[3] = "Administrator";
  46.             $rank[4] = "Server Owner";
  47.            
  48.             if($_SESSION['rank'] == 4) {
  49.                 $acp = '<tr>
  50.                 <td>&bull; <a href="?p=admin">Admin panel</a></td>
  51.                 </tr>';
  52.             } else { $acp = ""; }
  53.            
  54.             $output = '<center>Welcome <b>'.$_SESSION['username'].'</b>! [<a href="?p=logout">Logout</a>]<br /><br />
  55.             <table>
  56.                 <tr>
  57.                     <td><b>Flags: </b></td>
  58.                     <td>'.$exp[$info_row['expansion']].'</td>
  59.                 </tr>
  60.                 <tr>
  61.                     <td><b>Email: </b></td>
  62.                     <td>'.$info_row['email'].'</td>
  63.                 </tr>
  64.                 <tr>
  65.                     <td><b>Last IP: </b></td>
  66.                     <td>'.$info_row['last_ip'].'</td>
  67.                 </tr>
  68.                 <tr>
  69.                     <td><b>Current IP: </b></td>
  70.                     <td>'.$_SERVER['REMOTE_ADDR'].'</td>
  71.                 </tr>
  72.                 <tr>
  73.                     <td><b>Online: </b></td>
  74.                     <td>'.$ingame[$info_row['online']].'</td>
  75.                 </tr>
  76.                     <tr>
  77.                     <td><b>Rank: </b></td>
  78.                     <td>'.$rank[$_SESSION['rank']].'</td>
  79.                 </tr>
  80.                
  81.                 <tr>
  82.                     <td><b>Vp: </b></td>
  83.                     <td>'.$info_row['vp'].'</td>
  84.                 </tr>
  85.                
  86.                 <tr>
  87.                     <td><b>Dp: </b></td>
  88.                     <td>'.$info_row['dp'].'</td>
  89.                 </tr>
  90.                
  91.             </table><br />
  92.            
  93.             <table width="90%">
  94.                 <tr>
  95.                 <td><b>Account tools</b></td>
  96.                 </tr>
  97.                 <tr>
  98.                 <td>&bull; <a href="?p=changepw">Change Password</a></td>
  99.                 </tr>
  100.                
  101.                 <tr>
  102.                 <td>&bull; <a href="?p=changeexp">Change Expansions</a></td>
  103.                 </tr>
  104.                
  105.                 <tr>
  106.                 <td>&bull; <a href="?p=vote">Vote</a></td>
  107.                 </tr>
  108.                
  109.                 <tr>
  110.                 <td>&bull; <a href="?p=donate">Donate</a></td>
  111.                 </tr>
  112.                
  113.                 <tr>
  114.                 <td>&bull; <a href="?p=shop">Item shop</a></td>
  115.                 </tr>
  116.                
  117.                 '.$acp.'
  118.             </table>
  119.             </center>';
  120.            
  121.         }
  122.        
  123.         echo $output;
  124.        
  125.     }
  126.        
  127.     function login($user, $pass) {
  128.        
  129.         $userx = @mysql_query("SELECT username, sha_pass_hash, id , shoutboxnick FROM ".$this->db.".account WHERE username = '".$user."' LIMIT 1", $this->id);
  130.         $user_row = @mysql_fetch_assoc($userx);
  131.        
  132.         $shoutnick = $user_row['shoutboxnick'];
  133.        
  134.         echo $shoutnick;
  135.        
  136.         $user_u = strtoupper($user);
  137.         $pass_u = strtoupper($pass);
  138.         $hashedpw = sha1($user_u.':'.$pass_u);
  139.        
  140.         $output = '<center>';
  141.        
  142.         if(empty($user) || empty($pass)) {
  143.             $output .= 'One or more fields wasn\'t filled!';
  144.         }
  145.        
  146.         elseif(empty($user_row['username'])) {
  147.             $output .= 'User doesn\'t exist!';
  148.         }
  149.        
  150.         elseif($hashedpw != $user_row['sha_pass_hash']) {
  151.             $output .= 'Wrong password!';
  152.         }
  153.        
  154.         else {
  155.            
  156.             $rank = @mysql_query("SELECT * FROM ".$this->db.".account_access WHERE id = '".$user_row['id']."' LIMIT 1", $this->id);
  157.             $rank_row = @mysql_fetch_assoc($rank);
  158.            
  159.            
  160.            
  161.             $_SESSION['shoutboxnick'] = $shoutnick;
  162.             $_SESSION['username'] = $user;
  163.            
  164.             if(empty($rank_row['gmlevel'])) {
  165.                 $_SESSION['rank'] = 0;
  166.             } else {
  167.                 $_SESSION['rank'] = $rank_row['gmlevel'];
  168.             }
  169.            
  170.             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!");
  171.         }
  172.        
  173.         $output .= '</center>';
  174.        
  175.         echo $output;
  176.     }
  177.    
  178.     function register() {
  179.         global $realmlist;
  180.        
  181.         $one = rand(1, 15);
  182.         $two = rand(1, 15);
  183.        
  184.         $output = '<div class="midbox"><div class="midbox_top">Account creation</div>
  185.            <div class="midbox_content">
  186.             <form action="?p=register" method="post">';
  187.        
  188.         if(isset($_POST['reg_username'])) {
  189.             $output .= realmd::reg_acc();
  190.         }
  191.        
  192.         $output .= '<center>
  193.                 <input type="text" name="reg_username" value="Username" onFocus="this.value=\'\'"/><br />
  194.                 <input type="text" name="reg_shoutboxnick" value="ShoutBox NickName" onFocus="this.value=\'\'"/><br />
  195.                 <input type="password" name="reg_password" value="Password" onFocus="this.value=\'\'"/><br />
  196.                 <input type="text" name="reg_email" value="yourname@server.com" onFocus="this.value=\'\'"/><br />
  197.                 <label for="reg_flags">Expansion:</label>
  198.                 <select name="reg_flags">
  199.                 <option value="2">WoTLK</option>
  200.                 <option value="1">TBC</option>
  201.                 <option value="0">None</option>
  202.                 </select><br /><br /><br />
  203.                 <input type="hidden" name="reg_ans" value="'.($one+$two).'" />
  204.                 <input type="text" name="reg_antibot" value="Anti-bot: What is '.$one.' + '.$two.'?" onFocus="this.value=\'\'"/><br />
  205.                 <br />
  206.                 <input type="submit" value="Create account!"/><br /><br />
  207.                 <b>set realmlist '.$realmlist.'</b>
  208.             </center>
  209.             </form>
  210.             </div>
  211.            </div>';
  212.            
  213.         echo $output;
  214.        
  215.     }
  216.    
  217.     <?php
  218. <?php
  219. function reg_acc() {
  220.        
  221.         $userx = @mysql_query("SELECT username, id FROM ".$this->db.".account WHERE username = '".mysql_real_escape_string($_POST['reg_username'])."' LIMIT 1", $this->id);
  222.         $user_row = @mysql_fetch_assoc($userx);
  223.        
  224.         $totalaccs_q = @mysql_query("SELECT COUNT(*) AS total FROM ".$this->db.".account WHERE registerip = '".$_SERVER['REMOTE_ADDR']."' LIMIT 3", $this->id);
  225.         $totalaccs = @mysql_fetch_assoc($totalaccs_q);
  226.        
  227.         $output = "<center>";
  228.        
  229.         if(isset($_SESSION['username'])) {
  230.             $output .= "You're already logged in!";
  231.         }
  232.        
  233.         elseif(filter_var($_POST['reg_email'], FILTER_VALIDATE_EMAIL) == false) {
  234.             $output .= "Invalid email!";
  235.         }
  236.        
  237.         elseif(isset($user_row['id'])) {
  238.             $output .= "User already exists!";
  239.         }
  240.        
  241.         elseif($_POST['reg_antibot'] != $_POST['reg_ans']) {
  242.             $output .= "Wrong anti-bot answear!";
  243.         }
  244.  
  245.         elseif(empty($_POST['reg_shoutboxnick'])) {
  246.             $output .= "You need to enter a shoutbox nickname!";
  247.         }
  248.        
  249.         elseif($totalaccs['total'] >= 3) {
  250.             $output .= "You may only register 3 accounts per IP!";
  251.         }
  252.        
  253.         else {
  254.             $username = mysql_real_escape_string($_POST['reg_username']);
  255.             $pass = mysql_real_escape_string($_POST['reg_password']);
  256.             $email = mysql_real_escape_string($_POST['reg_email']);
  257.             $flags = mysql_real_escape_string($_POST['reg_flags']);
  258.             $shoutboxnick = mysql_real_escape_string($_POST['reg_shoutboxnick']);
  259.            
  260.             $pw = sha1(strtoupper($username).':'.strtoupper($pass));
  261.             mysql_query("INSERT INTO ".$this->db.".account(`username`, `sha_pass_hash`, `email`, `expansion`, `shoutboxnick`, `registerip`) VALUES('".$username."', '".$pw."', '".$email."', '".$flags."', '".$shoutboxnick."', '".$_SERVER['REMOTE_ADDR']."')", $this->id) or die(mysql_error());
  262.            
  263.             $output .= "<span style='color:green;'>Account was created successfully!</span>";
  264.         }
  265.        
  266.         $output .= "</center>";
  267.        
  268.         return $output;
  269.     }
  270. ?>
  271.    
  272.     function xml_status() {
  273.        
  274.         $query = mysql_query("SELECT COUNT(*) AS total FROM ".$this->db.".account", $this->id);
  275.         $row = mysql_fetch_assoc($query);
  276.         $total = $row['total'];
  277.        
  278.         $xml = '
  279.  
  280. <accounts>'.$total.'</accounts>';
  281.        
  282.                
  283.         return $xml;
  284.        
  285.     }
  286.    
  287.     function change($what) {
  288.    
  289.         $output = '<div class="midbox"><div class="midbox_top">Change '.$what.'</div>
  290.             <div class="midbox_content"><center><br />';
  291.        
  292.         switch($what) {
  293.        
  294.         case "password":
  295.        
  296.             $output .= '<form action="?p=changepw" method="post">
  297.             New password:<br />
  298.                 <input name="newpw" type="password" value="password" onFocus="this.value=\'\'"  /><br /><br />
  299.                 <input type="submit" value="Change it!" />
  300.                 </form>';
  301.        
  302.             if(isset($_POST['newpw'])) {
  303.                 $acc = $_SESSION['username'];
  304.                 $pw = mysql_real_escape_string($_POST['newpw']);
  305.        
  306.                 $pw = sha1(strtoupper($acc).':'.strtoupper($pw));
  307.        
  308.                 mysql_query("UPDATE ".$this->db.".account SET sha_pass_hash='$pw' WHERE username='$acc'", $this->id) or die(mysql_error());
  309.            
  310.                 $output .= "<br /><center>Your password was successfully changed to <b>".$_POST['newpw']."</b>!</center>";
  311.             }
  312.            
  313.         break;
  314.        
  315.         case "expansion":
  316.             $output .= '<form action="?p=changeexp" method="post">
  317.             New expansion:<br />
  318.                 <select name="newexp">
  319.                 <option value="2">WoTLK</option>
  320.                 <option value="1">TBC</option>
  321.                 <option value="0">None</option>
  322.                 </select>
  323.                 <br /><br />
  324.                 <input type="submit" value="Change it!" />
  325.                 </form>';
  326.        
  327.             if(isset($_POST['newexp'])) {
  328.                 $acc = $_SESSION['username'];
  329.                 $exp = mysql_real_escape_string($_POST['newexp']);
  330.  
  331.        
  332.                 mysql_query("UPDATE ".$this->db.".account SET expansion='$exp' WHERE username='$acc'", $this->id) or die(mysql_error());
  333.            
  334.                 $output .= "<br /><center>Your expansion was successfully changed!</center>";
  335.             }
  336.         break;
  337.            
  338.         }
  339.    
  340.         $output .= "</center></div></div>";
  341.        
  342.         echo $output;
  343.        
  344.     }
  345. }
  346.            
  347. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement