Guest User

Untitled

a guest
Jan 19th, 2019
209
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 3.94 KB | None | 0 0
  1. <?php
  2.  
  3.     class User {
  4.    
  5.         function __construct ()
  6.         {
  7.                    
  8.             if($this->IsLoggedIn())
  9.             {
  10.                 $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'])."'");
  11.                 $Row = mysql_fetch_array($Search);
  12.                
  13.                 $this->user_ID = $Row['user_id'];
  14.                 $this->user_Name = $Row['username'];
  15.  
  16.             }
  17.                
  18.         }
  19.        
  20.         function IsLoggedIn ()
  21.         {
  22.             if(isset($_COOKIE['phpbb3_3g1ah_sid']))
  23.             {
  24.                 $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'])."'");
  25.                 if(mysql_num_rows($Search) > 0)
  26.                 return true;
  27.             }
  28.             return false;
  29.         }
  30.        
  31.         function Logout ()
  32.         {
  33.             $_SESSION['User'] = null;
  34.         }
  35.        
  36.         function Register ($Username="",$Email="",$Password="")
  37.         {
  38.  
  39.             if($Username == "" || $Email =="" || $Password == "")
  40.                 return array("Success"=>false,"Error"=>"Username, Email, Password and DeviceID required");
  41.  
  42.             if(!$this->ValidateEmail($Email))
  43.                 return array("Success"=>false,"Error"=>"Username must be a valid email address");
  44.            
  45.             if(strlen($Password) < 8)
  46.                 return array("Success"=>false,"Error"=>"Password must be at least 8 characters long");
  47.  
  48.             $Username = mysql_real_escape_string($Username);
  49.             $Email = mysql_real_escape_string($Email);
  50.             $Password = mysql_real_escape_string($Password);
  51.  
  52.             $Verify['Username'] = mysql_query("SELECT count(`User_ID`) as `Count` FROM `users` WHERE `user_Name` = '".$Username."'");
  53.             $Verify['Email']    = mysql_query("SELECT count(`User_ID`) as `Count` FROM `users` WHERE `user_Email` = '".$Email."'");
  54.  
  55.             $Error = "";
  56.             foreach($Verify as $Key => $Val)
  57.             {
  58.                 $row = mysql_fetch_array($Val);
  59.                 if($row['Count'] != 0)
  60.                     $Error = $Key;
  61.             }
  62.            
  63.            
  64.             if($Error != "")
  65.                 return array("Success"=>false,"Error"=>"$Error already in use");
  66.  
  67.             mysql_query("INSERT INTO `users` (`user_ID`, `user_Name`,`user_Email`, `user_Password`)
  68.                                       VALUES (NULL, '$Username','$Email','".md5($Password)."');");
  69.                
  70.                 return array("Success"=>true,"ID"=>mysql_insert_id());
  71.            
  72.         }
  73.        
  74.         function ValidateEmail($email) {
  75.             return preg_match("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$^", $email);
  76.  
  77.         }
  78.        
  79.         function getRank ($Type="%",$User="")
  80.         {
  81.             if(!is_numeric($Type) and $Type != "%")
  82.                 return false;
  83.                
  84.             if($User == "")
  85.                 $User = $this->user_ID;
  86.                
  87.             if(!is_numeric($User))
  88.                 return false;
  89.                
  90.             if($Type != "%")
  91.                 $Search = mysql_query("SELECT count(`challenge_ID`) as `Challenges`,sum(`challenge_Points`) as `Points` FROM `challenges` WHERE `challenge_Category` = $Type");
  92.             else
  93.                 $Search = mysql_query("SELECT count(`challenge_ID`) as `Challenges`,sum(`challenge_Points`) as `Points` FROM `challenges`");
  94.  
  95.             $Totals = mysql_fetch_assoc($Search);
  96.            
  97.             $S = "";
  98.             if($Type != "%")
  99.                 $S = "AND `challenge_Category` = $Type";
  100.            
  101.             $Search = mysql_query("SELECT `user_id`, `username`,  count( `solved_User` ) AS `Total`, sum(`challenge_Points` ) AS `Points`
  102.                                 FROM `solved` , `challenges`, `phpbb_users`
  103.                                 WHERE
  104.                                 `solved_Challenge` = `challenge_ID` AND `solved_User` = `user_id` AND `solved_User` = $User $S
  105.                                 GROUP BY `solved_User` ORDER BY `Points` DESC");
  106.  
  107.                
  108.  
  109.             $Users = mysql_fetch_assoc($Search);
  110.            
  111.             $r = array(
  112.                             "Solved"=>$Users['Total'],
  113.                             "Points"=>$Users['Points'],
  114.                             "SolvedP"=>round((100 - ((($Totals['Challenges']-$Users['Total']) / $Totals['Challenges'])*100)),0),
  115.                             "PointsP"=>round((100 - ((($Totals['Points']-$Users['Points']) / $Totals['Points'])*100)),0)
  116.                         );
  117.                        
  118.             $r['Avarage'] = (($r['SolvedP']+$r['PointsP'])/2);
  119.            
  120.             return $r;
  121.         }
  122.        
  123.         function LoadAchievements ()
  124.         {
  125.             return $this->user_Name." has not achieved anything yet";
  126.         }
  127.  
  128.     }
  129.  
  130. ?>
Add Comment
Please, Sign In to add comment