Guest User

Untitled

a guest
Jul 27th, 2018
139
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 6.03 KB | None | 0 0
  1. <?php
  2.  
  3. class uberUsers
  4. {
  5.     /**************************************************************************************************/
  6.    
  7.     private $userCache = Array();
  8.  
  9.     /**************************************************************************************************/
  10.    
  11.     public function IsValidEmail($email)
  12.     {
  13.         return preg_match("/^[a-z0-9_\.-]+@([a-z0-9]+([\-]+[a-z0-9]+)*\.)+[a-z]{2,7}$/i", $email);
  14.     }
  15.    
  16.     public function IsValidName($username)
  17.     {
  18.         return preg_match("/^[a-zA-Z0-9.:,-]+$/i", $username);
  19.     }
  20.    
  21.     public function IsNameTaken($username)
  22.     {
  23.         return (mysql_num_rows(mysql_query("SELECT username FROM users WHERE username = '".mysql_real_escape_string($username)."' LIMIT 1")) > 0) ? true : false;
  24.     }
  25.    
  26.     public static function IdExists($id = 0)
  27.     {
  28.         return (mysql_num_rows(mysql_query("SELECT id FROM users WHERE id = '".mysql_real_escape_string($id)."' LIMIT 1")) > 0) ? true : false;
  29.     }
  30.    
  31.     /**************************************************************************************************/
  32.    
  33.     function Add($username, $passwordHash, $email, $rank = 1, $figure, $sex = 'M')
  34.     {
  35.         mysql_query("INSERT INTO users (username,password,mail,auth_ticket,rank,look,gender,motto,credits,activity_points,last_online,account_created) VALUES ('".mysql_real_escape_string($username)."','".mysql_real_escape_string($passwordHash)."','".mysql_real_escape_string($email)."','','".$rank."','".mysql_real_escape_string($figure)."','".$sex."','','500','1000','','".date('M d, Y')."')");    
  36.         $id = intval(mysql_result(mysql_query("SELECT id FROM users WHERE username = '".mysql_real_escape_string($username)."' ORDER BY id DESC LIMIT 1"), 0));
  37.         mysql_query("INSERT INTO user_info (user_id,bans,cautions,reg_timestamp,login_timestamp,cfhs,cfhs_abusive) VALUES ('".mysql_real_escape_string($id)."','0','0','".time()."','".time()."','0','0')");
  38.         return $id;
  39.     }
  40.    
  41.     /**************************************************************************************************/
  42.    
  43.     function ValidateUser($username, $password)
  44.     {
  45.         return mysql_num_rows(mysql_query("SELECT null FROM users WHERE username = '".mysql_real_escape_string($username)."' AND password = '".mysql_real_escape_string($password)."' LIMIT 1"));
  46.     }
  47.    
  48.     /**************************************************************************************************/
  49.    
  50.     function Name2id($username = '')
  51.     {
  52.         return @intval(mysql_result(mysql_query("SELECT id FROM users WHERE username = '".mysql_real_escape_string($username)."' LIMIT 1"), 0));
  53.     }
  54.    
  55.     function Id2name($id = -1)
  56.     {
  57.         if (isset($this->userCache[$id]['username']))
  58.         {
  59.             return $this->userCache[$id]['username'];
  60.         }  
  61.    
  62.         $name = mysql_result(mysql_query("SELECT username FROM users WHERE id = '".mysql_real_escape_string($id)."' LIMIT 1"), 0);
  63.         $this->userCache[$id]['username'] = $name;
  64.         return $name;
  65.     }  
  66.    
  67.     /**************************************************************************************************/
  68.    
  69.     function CacheUser($id)
  70.     {
  71.         $data = mysql_fetch_assoc(mysql_query("SELECT * FROM users WHERE id = '".mysql_real_escape_string($id)."' LIMIT 1"));
  72.        
  73.         foreach ($data as $key => $value)
  74.         {
  75.             $this->userCache[$id][$key] = $value;
  76.         }
  77.     }
  78.    
  79.     function GetUserVar($id, $var, $allowCache = true)
  80.     {
  81.         if ($allowCache && isset($this->userCache[$id][$var]))
  82.         {
  83.             if ($var == "last_online")
  84.             {
  85.                 return "Never";
  86.             } else {
  87.                 return $this->userCache[$id][$var];
  88.             }
  89.         }  
  90.    
  91.         $val = @mysql_result(mysql_query("SELECT ".$var." FROM users WHERE id = '".mysql_real_escape_string($id)."' LIMIT 1"), 0);
  92.         $this->userCache[$id][$var] = $val;
  93.         return $val;
  94.     }
  95.    
  96.     /**************************************************************************************************/
  97.    
  98.     function getRank($id)
  99.     {
  100.         if (isset($this->userCache[$id]['rank']))
  101.         {
  102.             return $this->userCache[$id]['rank'];
  103.         }
  104.    
  105.         $rankId = @intval(mysql_result(mysql_query("SELECT rank FROM users WHERE id = '".mysql_real_escape_string(intval($id))."' LIMIT 1"), 0));
  106.         $this->userCache[$id]['rank'] = $rankId;
  107.         return $rankId;
  108.     }
  109.    
  110.     function getRankVar($rankId, $var)
  111.     {
  112.         return mysql_result(mysql_query("SELECT ".$var." FROM ranks WHERE id = '".mysql_real_escape_string(intval($rankId))."' LIMIT 1"), 0);
  113.     }
  114.    
  115.     function getRankName($rankId)
  116.     {
  117.         return $this->getRankVar($rankId, 'name');
  118.     }
  119.    
  120.     function hasFuse($id, $fuse)
  121.     {      
  122.         if (mysql_num_rows(mysql_query("SELECT null FROM fuserights WHERE rank <= '".mysql_real_escape_string($this->getRank($id))."' AND fuse = '".mysql_real_escape_string($fuse)."' LIMIT 1")) == 1)
  123.         {
  124.             return true;
  125.         }
  126.        
  127.         return false;
  128.     }
  129.    
  130.     /**************************************************************************************************/
  131.    
  132.     function CheckSSO($id)
  133.     {
  134.         global $core;
  135.        
  136.         if (strlen($this->getUserVar($id, 'auth_ticket')) <= 3)
  137.         {
  138.             mysql_query("UPDATE users SET auth_ticket = '".mysql_real_escape_string($core->generateTicket($this->getUserVar($id, 'username')))."' WHERE id = '". mysql_real_escape_string($id)."' LIMIT 1");
  139.         }
  140.     }
  141.    
  142.     /**************************************************************************************************/
  143.    
  144.     function getCredits($id)
  145.     {
  146.         return $this->getUserVar($id, 'credits');
  147.     }
  148.    
  149.     /**************************************************************************************************/
  150.    
  151.     public static function IsUserBanned($name)
  152.     {
  153.         if (uberUsers::GetBan('user', $name, true) != null)
  154.         {
  155.             return true;
  156.         }
  157.        
  158.         return false;
  159.     }
  160.    
  161.     public static function IsIpBanned($ip)
  162.     {
  163.         if (uberUsers::GetBan('ip', $ip, true) != null)
  164.         {
  165.             return true;
  166.         }
  167.        
  168.         return false;
  169.     }
  170.    
  171.     public static function GetBan($type, $value, $mustNotBeExpired = false)
  172.     {
  173.         $query = "SELECT * FROM bans WHERE bantype = '".mysql_real_escape_string($type)."' AND value = '".mysql_real_escape_string($value)."'";
  174.        
  175.         if ($mustNotBeExpired)
  176.         {
  177.             $query .= "AND expire > ".time()." ";
  178.         }
  179.        
  180.         $query .= "LIMIT 1";
  181.        
  182.         $row = mysql_query($query);
  183.        
  184.         if (mysql_num_rows($row) > 0)
  185.         {
  186.             return mysql_fetch_assoc($row);
  187.         }
  188.         return null;
  189.     }
  190. }
  191. ?>
Add Comment
Please, Sign In to add comment