Advertisement
Guest User

user

a guest
Jul 1st, 2015
205
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.49 KB | None | 0 0
  1. <?php
  2.  
  3. namespace app\models;
  4.  
  5. use yii\db\Query;
  6.  
  7. class User extends \yii\base\Object implements \yii\web\IdentityInterface
  8. {
  9.     public $username;
  10.     public $authKey;
  11.     public $accessToken;
  12.     public $UID;
  13.     public $LOGIN;
  14.     public $PASSWORD;
  15.     public $EMAIL;
  16.     public $GROUP;
  17.  
  18.     private static $users;
  19.  
  20.     /**
  21.      * @inheritdoc
  22.      */
  23.  
  24.     private function setProp(& $user){
  25.         $user['authKey'] = $user['UID']."key";
  26.         $user['accessToken'] = $user['UID']."token";
  27.         $user['username'] = $user['LOGIN'];
  28.     }
  29.  
  30.     private function setUsers() {
  31.         $query = new Query();
  32.         $query->select('*')->from('users');
  33.         self::$users = $query->all();
  34.     }
  35.     public static function findIdentity($id)
  36.     {
  37.         self::setUsers();
  38.         foreach (self::$users as $user) {
  39.             if ($user['UID'] === $id) {
  40.                 self::setProp($user);
  41.                 return new static($user);
  42.             }
  43.         }
  44.  
  45.         return null;
  46.     }
  47.  
  48.     /**
  49.      * @inheritdoc
  50.      */
  51.     public static function findIdentityByAccessToken($token, $type = null)
  52.     {
  53.         self::setUsers();
  54.         foreach (self::$users as $user) {
  55.             if ($user['accessToken'] === $token) {
  56.                 self::setProp($user);
  57.                 return new static($user);
  58.             }
  59.         }
  60.  
  61.         return null;
  62.     }
  63.  
  64.     /**
  65.      * Finds user by username
  66.      *
  67.      * @param  string      $username
  68.      * @return static|null
  69.      */
  70.     public static function findByUsername($username)
  71.     {
  72.         self::setUsers();
  73.         foreach (self::$users as $user) {
  74.             if (strcasecmp($user['LOGIN'], $username) === 0) {
  75.                 self::setProp($user);
  76.                 return new static($user);
  77.             }
  78.         }
  79.  
  80.         return null;
  81.     }
  82.  
  83.     /**
  84.      * @inheritdoc
  85.      */
  86.     public function getId()
  87.     {
  88.         return $this->UID;
  89.     }
  90.  
  91.     /**
  92.      * @inheritdoc
  93.      */
  94.     public function getAuthKey()
  95.     {
  96.         return $this->authKey;
  97.     }
  98.  
  99.     /**
  100.      * @inheritdoc
  101.      */
  102.    public function validateAuthKey($authKey)
  103.     {
  104.         return $this->authKey === $authKey;
  105.     }
  106.  
  107.     /**
  108.      * Validates password
  109.      *
  110.      * @param  string  $password password to validate
  111.      * @return boolean if password provided is valid for current user
  112.      */
  113.     public function validatePassword($password)
  114.     {
  115.         return $this->PASSWORD === $password;
  116.     }
  117.  
  118. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement