Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- class uberUsers
- {
- /**************************************************************************************************/
- private $userCache = Array();
- /**************************************************************************************************/
- public function IsValidEmail($email)
- {
- return preg_match("/^[a-z0-9_\.-]+@([a-z0-9]+([\-]+[a-z0-9]+)*\.)+[a-z]{2,7}$/i", $email);
- }
- public function IsValidName($username)
- {
- return preg_match("/^[a-zA-Z0-9.:,-]+$/i", $username);
- }
- public function IsNameTaken($username)
- {
- return (mysql_num_rows(mysql_query("SELECT username FROM users WHERE username = '".mysql_real_escape_string($username)."' LIMIT 1")) > 0) ? true : false;
- }
- public static function IdExists($id = 0)
- {
- return (mysql_num_rows(mysql_query("SELECT id FROM users WHERE id = '".mysql_real_escape_string($id)."' LIMIT 1")) > 0) ? true : false;
- }
- /**************************************************************************************************/
- function Add($username, $passwordHash, $email, $rank = 1, $figure, $sex = 'M')
- {
- 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')."')");
- $id = intval(mysql_result(mysql_query("SELECT id FROM users WHERE username = '".mysql_real_escape_string($username)."' ORDER BY id DESC LIMIT 1"), 0));
- 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')");
- return $id;
- }
- /**************************************************************************************************/
- function ValidateUser($username, $password)
- {
- 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"));
- }
- /**************************************************************************************************/
- function Name2id($username = '')
- {
- return @intval(mysql_result(mysql_query("SELECT id FROM users WHERE username = '".mysql_real_escape_string($username)."' LIMIT 1"), 0));
- }
- function Id2name($id = -1)
- {
- if (isset($this->userCache[$id]['username']))
- {
- return $this->userCache[$id]['username'];
- }
- $name = mysql_result(mysql_query("SELECT username FROM users WHERE id = '".mysql_real_escape_string($id)."' LIMIT 1"), 0);
- $this->userCache[$id]['username'] = $name;
- return $name;
- }
- /**************************************************************************************************/
- function CacheUser($id)
- {
- $data = mysql_fetch_assoc(mysql_query("SELECT * FROM users WHERE id = '".mysql_real_escape_string($id)."' LIMIT 1"));
- foreach ($data as $key => $value)
- {
- $this->userCache[$id][$key] = $value;
- }
- }
- function GetUserVar($id, $var, $allowCache = true)
- {
- if ($allowCache && isset($this->userCache[$id][$var]))
- {
- if ($var == "last_online")
- {
- return "Never";
- } else {
- return $this->userCache[$id][$var];
- }
- }
- $val = @mysql_result(mysql_query("SELECT ".$var." FROM users WHERE id = '".mysql_real_escape_string($id)."' LIMIT 1"), 0);
- $this->userCache[$id][$var] = $val;
- return $val;
- }
- /**************************************************************************************************/
- function getRank($id)
- {
- if (isset($this->userCache[$id]['rank']))
- {
- return $this->userCache[$id]['rank'];
- }
- $rankId = @intval(mysql_result(mysql_query("SELECT rank FROM users WHERE id = '".mysql_real_escape_string(intval($id))."' LIMIT 1"), 0));
- $this->userCache[$id]['rank'] = $rankId;
- return $rankId;
- }
- function getRankVar($rankId, $var)
- {
- return mysql_result(mysql_query("SELECT ".$var." FROM ranks WHERE id = '".mysql_real_escape_string(intval($rankId))."' LIMIT 1"), 0);
- }
- function getRankName($rankId)
- {
- return $this->getRankVar($rankId, 'name');
- }
- function hasFuse($id, $fuse)
- {
- 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)
- {
- return true;
- }
- return false;
- }
- /**************************************************************************************************/
- function CheckSSO($id)
- {
- global $core;
- if (strlen($this->getUserVar($id, 'auth_ticket')) <= 3)
- {
- 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");
- }
- }
- /**************************************************************************************************/
- function getCredits($id)
- {
- return $this->getUserVar($id, 'credits');
- }
- /**************************************************************************************************/
- public static function IsUserBanned($name)
- {
- if (uberUsers::GetBan('user', $name, true) != null)
- {
- return true;
- }
- return false;
- }
- public static function IsIpBanned($ip)
- {
- if (uberUsers::GetBan('ip', $ip, true) != null)
- {
- return true;
- }
- return false;
- }
- public static function GetBan($type, $value, $mustNotBeExpired = false)
- {
- $query = "SELECT * FROM bans WHERE bantype = '".mysql_real_escape_string($type)."' AND value = '".mysql_real_escape_string($value)."'";
- if ($mustNotBeExpired)
- {
- $query .= "AND expire > ".time()." ";
- }
- $query .= "LIMIT 1";
- $row = mysql_query($query);
- if (mysql_num_rows($row) > 0)
- {
- return mysql_fetch_assoc($row);
- }
- return null;
- }
- }
- ?>
Add Comment
Please, Sign In to add comment