Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /*=======================================================================
- | UberCMS - Advanced Website and Content Management System for uberEmu
- | #######################################################################
- | Copyright (c) 2010, Roy 'Meth0d' and updates by Matthew 'MDK'
- | http://www.meth0d.org & http://www.sulake.biz
- | #######################################################################
- | This program is free software: you can redistribute it and/or modify
- | it under the terms of the GNU General Public License as published by
- | the Free Software Foundation, either version 3 of the License, or
- | (at your option) any later version.
- | #######################################################################
- | This program is distributed in the hope that it will be useful,
- | but WITHOUT ANY WARRANTY; without even the implied warranty of
- | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- | GNU General Public License for more details.
- \======================================================================*/
- class uberUsers
- {
- private $userCache = Array();
- public function IsValidEmail($email = '')
- {
- if (mysql_num_rows(dbquery("SELECT null FROM users WHERE mail = '".$email."' LIMIT 1")))
- return true;
- return preg_match("/^[a-z0-9_\.-]+@([a-z0-9]+([\-]+[a-z0-9]+)*\.)+[a-z]{2,7}$/i", $email);
- }
- public function IsEmailTaken($email = '')
- {
- if (mysql_num_rows(dbquery("SELECT null FROM users WHERE mail = '".$email."' LIMIT 1")))
- return false;
- return true;
- }
- public function IsValidName($name)
- {
- if(!preg_match('/^[a-z0-9-]+$/i', $name)){
- return false;
- }
- elseif(mysql_num_rows(dbquery("SELECT word FROM wordfilter WHERE type='name' AND word = '".$name."' LIMIT 1")) > 0){
- return false;
- }
- elseif(strlen($name) > 32){
- return false;
- }
- elseif(strlen($name) < 3){
- return false;
- }
- else {
- return true;
- }
- }
- public function IsNameTaken($nm = '')
- {
- return ((mysql_num_rows(dbquery("SELECT null FROM users WHERE username = '".$nm."' LIMIT 1")) > 0) ? true : false);
- }
- public function IdExists($id = 0)
- {
- return ((mysql_num_rows(dbquery("SELECT null FROM users WHERE id = '".$id."' LIMIT 1")) > 0) ? true : false);
- }
- public function IsNameBlocked($nm = '')
- {
- foreach ($this->blockedNames as $bl)
- {
- if (strtolower($nm) == strtolower($bl))
- {
- return true;
- }
- }
- foreach ($this->blockedNameParts as $bl)
- {
- if (strpos(strtolower($nm), strtolower($bl)) !== false)
- {
- return true;
- }
- }
- return false;
- }
- /**************************************************************************************************/
- function Add($username = '', $realname = '', $passwordHash = '',$email = 'default@localhost',$figure = 'hd-180-1.ch-210-66.lg-270-82.sh-290-91.hr-100-',$sex = 'M',$referrer = '', $dob = '')
- {
- if($sex != "m" && $sex != "f")
- {
- $sex = "m";
- }
- global $core;
- dbquery("INSERT INTO users (username,real_name,password,mail,auth_ticket,look,gender,last_online,account_created,home_room,ip_last,ip_reg,date_of_birth,credits,activity_points,vip_points)
- VALUES ('".$username."','".$realname."','".$passwordHash."','".$email."','','".$figure."','".$sex."','".time()."',unix_timestamp(),'0','".getIP()."','".getIP()."','".$dob."','25000','0','10')");
- $id = intval(mysql_result(dbquery("SELECT id FROM users WHERE username = '".$username."' ORDER BY id DESC LIMIT 1"), 0));
- dbquery("INSERT INTO user_info (user_id,bans,cautions,reg_timestamp,login_timestamp,cfhs,cfhs_abusive) VALUES ('".$id."','0','0','".time(). "','".time()."','0','0')");
- $grabrefer = mysql_fetch_assoc(dbquery("SELECT id,username FROM users WHERE username = '".$referrer."' LIMIT 1"));
- if(strlen($referrer) > 0){
- dbquery("INSERT INTO user_referral (userid,referrer,timestamp) VALUES ('".$id."','".$grabrefer['id']."',current_timestamp())");
- dbquery("UPDATE users SET referrals = referrals + 1 WHERE id = '".$grabrefer['id']."'");
- }
- dbquery("INSERT INTO site_homes_stickers (userid,x,y,z,data,type,subtype,skin,groupid,var,enabled) VALUES ('".$id."','594','54','48','','2','1','defaultskin','-1','0','1')");
- dbquery("INSERT INTO site_homes_stickers (userid,x,y,z,data,type,subtype,skin,groupid,var,enabled) VALUES ('".$id."','594','310','50','','2','3','defaultskin','-1','0','1')");
- dbquery("INSERT INTO site_homes_stickers (userid,x,y,z,data,type,subtype,skin,groupid,var,enabled) VALUES ('".$id."','49','50','42','[color=red][b]Welcome to your Shock! Home[/b][/color]. You have the ability to decorate this page how ever you like! You never know, you may be the winner of a "[i]Best Design[/i]" award!','3','0','speechbubbleskin','-1','0','1')");
- dbquery("INSERT INTO site_homes_stickers (userid,x,y,z,data,type,subtype,skin,groupid,var,enabled) VALUES ('".$id."','162','42','71','july408_boom_2','1','0','','-1','0','1')");
- dbquery("INSERT INTO site_homes_stickers (userid,x,y,z,data,type,subtype,skin,groupid,var,enabled) VALUES ('".$id."','570','30','61','july408_boom_3','1','0','','-1','0','1')");
- dbquery("INSERT INTO site_homes_stickers (userid,x,y,z,data,type,subtype,skin,groupid,var,enabled) VALUES ('".$id."','226','30','73','hw_hairspray','1','0','','-1','0','1')");
- dbquery("INSERT INTO site_homes_stickers (userid,x,y,z,data,type,subtype,skin,groupid,var,enabled) VALUES ('".$id."','779','262','81','fwrk_blue','1','0','','-1','0','1')");
- dbquery("INSERT INTO site_homes_stickers (userid,x,y,z,data,type,subtype,skin,groupid,var,enabled) VALUES ('".$id."','774','260','77','fwrk_pink','1','0','','-1','0','1')");
- dbquery("INSERT INTO site_homes_stickers (userid,x,y,z,data,type,subtype,skin,groupid,var,enabled) VALUES ('".$id."','786','260','79','fwrk_yellow','1','0','','-1','0','1')");
- dbquery("INSERT INTO permissions_users (userid) VALUES ('".$id."')");
- $core->Mus("update_permissions");
- return $id;
- }
- function Delete($id)
- {
- dbquery("DELETE FROM messenger_friendships WHERE user_one_id = '".$id."' OR user_two_id = '".$id."'");
- dbquery("DELETE FROM messenger_requests WHERE to_id = '".$id."' OR from_id = '".$id."'");
- dbquery("DELETE FROM users WHERE id = '".$id."' LIMIT 1");
- dbquery("DELETE FROM user_subscriptions WHERE user_id = '".$id."'");
- dbquery("DELETE FROM user_info WHERE user_id = '".$id."' LIMIT 1");
- dbquery("DELETE FROM user_items WHERE user_id = '".$id."'");
- }
- /**************************************************************************************************/
- function ValidateUser($username, $password)
- {
- return mysql_num_rows(dbquery("SELECT null FROM users WHERE username='".$username."' AND password='".$password."' LIMIT 1"));
- }
- function ValidateUserByEmail($email, $password)
- {
- if ($rows = mysql_num_rows(dbquery("SELECT null FROM users WHERE mail='".$email."' AND password='".$password."' LIMIT 1")))
- return mysql_num_rows(dbquery("SELECT null FROM users WHERE mail='".$email."'"));
- else
- return $rows;
- }
- function ValidateLogin($user_mail, $password)
- {
- if ($user = $this->ValidateUser($user_mail, $password))
- return array(1, 0, 1);
- else if ($emails = $this->ValidateUserByEmail($user_mail, $password))
- return array(1, 1, $emails);
- else
- return array(0, null, null);
- }
- /**************************************************************************************************/
- function Name2id($username = '')
- {
- return @intval(mysql_result(dbquery("SELECT id FROM users WHERE username = '".$username."' LIMIT 1"), 0));
- }
- function Id2name($id = -1)
- {
- if (isset($this->userCache[$id]['username']))
- {
- return $this->userCache[$id]['username'];
- }
- $name = mysql_result(dbquery("SELECT username FROM users WHERE id = '".$id."' LIMIT 1"), 0);
- $this->userCache[$id]['username'] = $name;
- return $name;
- }
- function Email2id($email = '')
- {
- return @intval(mysql_result(dbquery("SELECT id FROM users WHERE mail = '".$email."' LIMIT 1"), 0));
- }
- /**************************************************************************************************/
- function CacheUser($id)
- {
- $data = mysql_fetch_assoc(dbquery("SELECT * FROM users WHERE id = '".$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]))
- {
- return $this->userCache[$id][$var];
- }
- $val = @mysql_result(dbquery("SELECT " . $var . " FROM users WHERE id = '".$id."' LIMIT 1"), 0);
- $this->userCache[$id][$var] = $val;
- return $val;
- }
- // do not remove - still used in hk
- function formatUsername($id, $link = true, $styles = true)
- {
- $datas = dbquery("SELECT id,rank,username FROM users WHERE id = '".$id."' LIMIT 1");
- if (mysql_num_rows($datas) == 0)
- {
- return '<s>Unknown User</s>';
- }
- $data = mysql_fetch_assoc($datas);
- $prefix = '';
- $name = $data['username'];
- $suffix = '';
- if ($link)
- {
- $prefix .= '<a href="/user/' . filter($data['username']) . '">';
- $suffix .= '</a>';
- }
- if ($styles)
- {
- $rank = $this->getRank($id);
- $rankData = dbquery("SELECT prefix,suffix FROM ranks WHERE id = '".$rank."' LIMIT 1");
- if (mysql_num_rows($rankData) == 1)
- {
- $rankData = mysql_fetch_assoc($rankData);
- $prefix .= $rankData['prefix'];
- $suffix .= $rankData['suffix'];
- }
- }
- return filter($prefix . $name . $suffix, true);
- }
- // do not remove - still used in hk
- /**************************************************************************************************/
- function getRank($id)
- {
- if (isset($this->userCache[$id]['rank']))
- {
- return $this->userCache[$id]['rank'];
- }
- $rankId = @intval(mysql_result(dbquery("SELECT rank FROM users WHERE id = '".intval($id)."' LIMIT 1"), 0));
- $this->userCache[$id]['rank'] = $rankId;
- return $rankId;
- }
- function getRankVar($rankId, $var)
- {
- return mysql_result(dbquery("SELECT " . $var . " FROM ranks WHERE id = '".intval($rankId)."' LIMIT 1"), 0);
- }
- function getRankName($rankId)
- {
- return $this->getRankVar($rankId, 'name');
- }
- function hasFuse($id, $permission)
- {
- $has_power = mysql_fetch_assoc(dbquery("SELECT $permission FROM permissions_hk WHERE userid='".$id."' LIMIT 1"));
- if($has_power[$permission] == 1)
- {
- return true;
- }else
- {
- return false;
- }
- }
- function hasPerm($id, $permission, $value='0')
- {
- $has_power = mysql_fetch_assoc(dbquery("SELECT $permission FROM permissions_users WHERE userid='".$id."' LIMIT 1"));
- if($value == '0' && $permission != "max_bots" && $permission != "idle_time" && $permission != "flood_time")
- {
- if($has_power[$permission] == 1)
- {
- return true;
- }else
- {
- return false;
- }
- }elseif($permission == "max_bots" || $permission == "idle_time" || $permission == "flood_time")
- {
- if($value == '0')
- {
- return "Oops, an error has occured!";
- }elseif($value == '1')
- {
- return $has_power[$permission];
- }
- }else
- {
- return false;
- }
- }
- /**************************************************************************************************/
- function CheckSSO($id)
- {
- global $core;
- if (strlen($this->getUserVar($id, 'auth_ticket')) <= 3)
- {
- dbquery("UPDATE users SET auth_ticket = '".$core->generateTicket($this->getUserVar($id, 'username'))."' WHERE id = '".$id."' LIMIT 1");
- }
- }
- /**************************************************************************************************/
- function getCredits($id)
- {
- return $this->getUserVar($id, 'credits');
- }
- function setCredits($id, $newAmount)
- {
- global $core;
- dbquery("UPDATE users SET credits = '".$newAmount. "' WHERE id = '".$id."' LIMIT 1");
- $core->Mus('updateCredits:' . $id);
- }
- function giveCredits($id, $amount)
- {
- global $core;
- return $this->setCredits($id, ($this->getCredits($id) + $amount));
- $core->Mus("currency $amount 0 0 $id 0 0");
- }
- function takeCredits($id, $amount)
- {
- global $core;
- return $this->setCredits($id, ($this->getCredits($id) - $amount));
- $core->Mus("currency $amount 0 0 $id 1 0");
- }
- function renderHabboImage($id, $size = 'b', $dir = 2, $head_dir = 3, $action = 'wlk', $gesture = 'sml')
- {
- $look = $this->getUserVar($id, 'look');
- return 'http://habbo.co.uk/habbo-imaging/avatarimage?figure=' . $look . '&size=' . $size . '&action=' . $action . ',&gesture=' . $gesture . '&direction=' . $dir . '&head_direction=' . $head_dir;
- }
- function getClubDays($id)
- {
- $sql = dbquery("SELECT timestamp_activated, timestamp_expire FROM user_subscriptions WHERE subscription_id = 'habbo_club' AND user_id = '".$id."' LIMIT 1");
- if (mysql_num_rows($sql) == 0)
- {
- return 0;
- }
- $data = mysql_fetch_assoc($sql);
- $diff = $data['timestamp_expire'] - time();
- if ($diff <= 0)
- {
- return 0;
- }
- return ceil($diff / 86400);
- }
- function hasClub($id)
- {
- return ($this->getClubDays($id) > 0) ? true : false;
- }
- /**************************************************************************************************/
- 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)
- {
- $q = "SELECT * FROM bans WHERE bantype = '".$type."' AND value = '".$value."' ";
- if ($mustNotBeExpired)
- {
- $q .= "AND expire > " . time() . " ";
- }
- $q .= " ORDER BY id LIMIT 1";
- $get = dbquery($q);
- if (mysql_num_rows($get) > 0)
- {
- return mysql_fetch_assoc($get);
- }
- return null;
- }
- /**************************************************************************************************/
- public static function GetUserTags($userId)
- {
- $tagsArray = Array();
- $data = dbquery("SELECT id,tag FROM user_tags WHERE user_id = '".$userId."'");
- while ($tag = mysql_fetch_assoc($data))
- {
- $tagsArray[$tag['id']] = $tag['tag'];
- }
- return $tagsArray;
- }
- /**************************************************************************************************/
- public static function Is_Online($userId)
- {
- $result = dbquery("SELECT `online` FROM `users` WHERE `id` = '".$userId."' LIMIT 1");
- $row = mysql_fetch_assoc($result);
- return $row['online'];
- }
- public function EatCredits($id, $credits, $restar = true)
- {
- if($restar)
- {
- dbquery("UPDATE users SET credits = credits - ".$credits." WHERE id = '".$id."' LIMIT 1");
- }
- else
- {
- dbquery("UPDATE users SET credits = ".$credits." WHERE id = '".$id."' LIMIT 1");
- }
- return true;
- }
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement