Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- class User {
- function __construct ()
- {
- if($this->IsLoggedIn())
- {
- $Search = mysql_query("SELECT * FROM `phpbb_sessions`,`phpbb_users` WHERE `session_user_id` = `user_id` AND `session_id` = '".mysql_real_escape_string($_COOKIE['phpbb3_3g1ah_sid'])."'");
- $Row = mysql_fetch_array($Search);
- $this->user_ID = $Row['user_id'];
- $this->user_Name = $Row['username'];
- }
- }
- function IsLoggedIn ()
- {
- if(isset($_COOKIE['phpbb3_3g1ah_sid']))
- {
- $Search = mysql_query("SELECT * FROM `phpbb_sessions`,`phpbb_users` WHERE `session_user_id` = `user_id` AND `user_type` != 2 AND `session_id` = '".mysql_real_escape_string($_COOKIE['phpbb3_3g1ah_sid'])."'");
- if(mysql_num_rows($Search) > 0)
- return true;
- }
- return false;
- }
- function Logout ()
- {
- $_SESSION['User'] = null;
- }
- function Register ($Username="",$Email="",$Password="")
- {
- if($Username == "" || $Email =="" || $Password == "")
- return array("Success"=>false,"Error"=>"Username, Email, Password and DeviceID required");
- if(!$this->ValidateEmail($Email))
- return array("Success"=>false,"Error"=>"Username must be a valid email address");
- if(strlen($Password) < 8)
- return array("Success"=>false,"Error"=>"Password must be at least 8 characters long");
- $Username = mysql_real_escape_string($Username);
- $Email = mysql_real_escape_string($Email);
- $Password = mysql_real_escape_string($Password);
- $Verify['Username'] = mysql_query("SELECT count(`User_ID`) as `Count` FROM `users` WHERE `user_Name` = '".$Username."'");
- $Verify['Email'] = mysql_query("SELECT count(`User_ID`) as `Count` FROM `users` WHERE `user_Email` = '".$Email."'");
- $Error = "";
- foreach($Verify as $Key => $Val)
- {
- $row = mysql_fetch_array($Val);
- if($row['Count'] != 0)
- $Error = $Key;
- }
- if($Error != "")
- return array("Success"=>false,"Error"=>"$Error already in use");
- mysql_query("INSERT INTO `users` (`user_ID`, `user_Name`,`user_Email`, `user_Password`)
- VALUES (NULL, '$Username','$Email','".md5($Password)."');");
- return array("Success"=>true,"ID"=>mysql_insert_id());
- }
- function ValidateEmail($email) {
- return preg_match("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$^", $email);
- }
- function getRank ($Type="%",$User="")
- {
- if(!is_numeric($Type) and $Type != "%")
- return false;
- if($User == "")
- $User = $this->user_ID;
- if(!is_numeric($User))
- return false;
- if($Type != "%")
- $Search = mysql_query("SELECT count(`challenge_ID`) as `Challenges`,sum(`challenge_Points`) as `Points` FROM `challenges` WHERE `challenge_Category` = $Type");
- else
- $Search = mysql_query("SELECT count(`challenge_ID`) as `Challenges`,sum(`challenge_Points`) as `Points` FROM `challenges`");
- $Totals = mysql_fetch_assoc($Search);
- $S = "";
- if($Type != "%")
- $S = "AND `challenge_Category` = $Type";
- $Search = mysql_query("SELECT `user_id`, `username`, count( `solved_User` ) AS `Total`, sum(`challenge_Points` ) AS `Points`
- FROM `solved` , `challenges`, `phpbb_users`
- WHERE
- `solved_Challenge` = `challenge_ID` AND `solved_User` = `user_id` AND `solved_User` = $User $S
- GROUP BY `solved_User` ORDER BY `Points` DESC");
- $Users = mysql_fetch_assoc($Search);
- $r = array(
- "Solved"=>$Users['Total'],
- "Points"=>$Users['Points'],
- "SolvedP"=>round((100 - ((($Totals['Challenges']-$Users['Total']) / $Totals['Challenges'])*100)),0),
- "PointsP"=>round((100 - ((($Totals['Points']-$Users['Points']) / $Totals['Points'])*100)),0)
- );
- $r['Avarage'] = (($r['SolvedP']+$r['PointsP'])/2);
- return $r;
- }
- function LoadAchievements ()
- {
- return $this->user_Name." has not achieved anything yet";
- }
- }
- ?>
Add Comment
Please, Sign In to add comment