Advertisement
Guest User

Untitled

a guest
Aug 12th, 2017
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 4.61 KB | None | 0 0
  1. <?php
  2.  
  3. class Users {
  4.  
  5.     private $uid;
  6.     private $fields;
  7.  
  8.     //
  9.     public function __construct()
  10.     {
  11.  
  12.         $this -> uid    = null;
  13.         $this -> fields = array(
  14.             'username'   =>  '',
  15.             'password'   =>  '',
  16.             'emailAddr'  =>  '',
  17.             'isActivated'=>  ''
  18.         );
  19.     }
  20.  
  21.     //
  22.     public function __get($field)
  23.     {
  24.         if ($field == 'userID')
  25.         {
  26.             return $this -> uid;
  27.         }
  28.         else
  29.         {
  30.             return $this -> fields[$field];
  31.         }
  32.     }
  33.  
  34.     //
  35.     public function __set($field, $value)
  36.     {
  37.         $this->fields[$field]=$value;
  38.     }
  39.  
  40.     //
  41.     static function validateUsername($username)
  42.     {
  43.         return preg_match('/^[A-Z0-9]{2,20}$/i', $username);
  44.     }
  45.    
  46.     static function validatePassword($password, $repeatpassword)
  47.     {
  48.  
  49.         if ($password==$repeatpassword)
  50.         {
  51.             return 1;
  52.         }
  53.  
  54.     }
  55.  
  56.     static function validateEmail ($email)
  57.     {
  58.         return preg_match('/^[^0-9][A-z0-9_]+([.][A-z0-9_]+)*[@][A-z0-9_]+([.][A-z0-9_]+)*[.][A-z]{2,4}$/', $email);
  59.     }
  60.  
  61.     public function getById($userID)
  62.     {
  63.         $users=new Users();
  64.         mysql_real_escape_string($userID);
  65.         $result = mysql_query("SELECT USERNAME, PASSWORD, EMAIL_ADDR, IS_ACTIVE FROM USERS WHERE USER_ID=$userID",$GLOBALS['DB'])
  66.         or die(mysql_error());
  67.  
  68.         $row = mysql_fetch_array( $result );
  69.         $this->fields['username']=$row['USERNAME'];
  70.         $this->fields['password']=$row['PASSWORD'];
  71.         $this->fields['email_addr']=$row['EMAIL_ADDR'];
  72.         $this->fields['is_active']=$row['IS_ACTIVE'];
  73.         return $users;
  74.     }
  75.    
  76.     static function getByUsername($username)
  77.     {
  78.         $users=new Users();
  79.         mysql_real_escape_string($username);
  80.         $result = mysql_query("SELECT USER_ID, PASSWORD, EMAIL_ADDR, IS_ACTIVE FROM USERS WHERE USERNAME='$username'",$GLOBALS['DB'])
  81.         or die(mysql_error());
  82.  
  83.         $row = mysql_fetch_array( $result );
  84.         $this->uid=$row['USER_ID'];
  85.         $this->fields['password']=$row['PASSWORD'];
  86.         $this->fields['email_addr']=$row['EMAIL_ADDR'];
  87.         $this->fields['is_active']=$row['IS_ACTIVE'];
  88.         return $users;
  89.     }
  90.  
  91.     public function save()
  92.     {
  93.         if ($this->uid)
  94.         {
  95.             $query = 'UPDATE USERS SET USERNAME ='.$this->fields['username']
  96.                     .'PASSWORD='.mysql_real_escape_string($this->fields['password'])
  97.                     .'EMAIL_ADDR='.mysql_real_escape_string($this->fields['email_addr'])
  98.                     .'IS_ACTIVE='.$this->fields['is_active'].'WHERE USER_ID='.$this->uid;
  99.            
  100.             return mysql_query($query,$GLOBALS['DB']);
  101.  
  102.         }
  103.         else
  104.         {
  105.  
  106.         $query = mysql_query("INSERT INTO USERS (USERNAME, PASSWORD, EMAIL_ADDR, IS_ACTIVE) VALUES ('"
  107.                 .$this->fields['username']."',"
  108.                 .$this->fields['password']."',"
  109.                 .$this->fields['emailAddr'], $GLOBALS['DB']);
  110.  
  111.         if (mysql_query($query, $GLOBALS['DB']))
  112.             {
  113.                 $this-> uid = mysql_insert_id($GLOBALS['DB']);
  114.                 return true;
  115.             }
  116.             else
  117.             {
  118.                 return false;
  119.             }
  120.  
  121.         }
  122.  
  123.     }
  124.  
  125.     public function setInactive()
  126.     {
  127.         $this->fields['isActivated']=false;
  128.         $this->save();
  129.  
  130.         $token = random_text(5);
  131.         $query = 'INSERT INTO PENDING (USER_ID, TOKEN)VALUES ('
  132.                  .$this->uid.',"'.$token.'")';
  133.  
  134.         return (mysql_query($query, $GLOBALS['DB'])) ? $token : false;
  135.     }
  136.  
  137.     public function setActive($token)
  138.     {
  139.         $query = 'SELECT TOKEN FROM PENDING WHERE USER_ID='.$this->uid.'AND TOKEN="'
  140.                  .$token.'"';
  141.          mysql_real_escape_string($query,$GLOBALS['DB']);
  142.          $result=mysql_query($query, $GLOBALS['DB']);
  143.  
  144.          if (!mysql_num_rows($result))
  145.          {
  146.              mysql_free_result($result);
  147.              return false;
  148.          }
  149.          else
  150.          {
  151.              mysql_free_result($result);
  152.              $query='DELETE FROM PENDING WHERE USER_ID='
  153.                     .$this->uid.'AND TOKEN="'
  154.                     .mysql_real_escape_string($token, $GLOBALS['DB'])
  155.                     .'"';
  156.              if(!mysql_query($query,$GLOBALS['DB']))
  157.              {
  158.                  return false;
  159.              }
  160.              else
  161.              {
  162.                  $this->fields['isActivated']=true;
  163.                  return $this->save();
  164.              }
  165.          }
  166.  
  167.     }
  168.  
  169. }
  170. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement