Guest User

Untitled

a guest
May 27th, 2018
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.79 KB | None | 0 0
  1. class User_Model_User extends Ez_Row
  2. {
  3.     /**
  4.      * @var string : Redirection
  5.      */
  6.     public $redirector = null;
  7.  
  8.     /**
  9.      * Authentification utilisateur
  10.      *
  11.      * @param $credentialTreatment = null MD5 or other
  12.      * @return Zend_Auth_Result
  13.      */
  14.     public function authenticate($credentialTreatment = null, $login = null, $password = null)
  15.     {
  16.         $db      = $this->getTable()->getAdapter();
  17.         $table   = $this->getTable()->info('name');
  18.  
  19.         $validator = new Zend_Validate_EmailAddress();
  20.         if($validator->isValid($login)) {
  21.             $adapter = new Zend_Auth_Adapter_DbTable($db, $table, 'us_email', 'us_pass', $credentialTreatment);
  22.             $adapter->setIdentity($login);
  23.         } else {
  24.             $adapter = new Zend_Auth_Adapter_DbTable($db, $table, 'us_login', 'us_pass', $credentialTreatment);
  25.         }
  26.         $adapter->setIdentity($login)
  27.                 ->setCredential($password);
  28.  
  29.         $result = $adapter->authenticate();
  30.         if ($result->isValid()) {
  31.  
  32.             $this->setFromArray((array) $adapter->getResultRowObject());
  33.  
  34.             // Comme $this est un createRow, on requete direct la base en mettant à jour quelques infos
  35.             $date = new Zend_Date();
  36.             $this->us_last_access = $date->get('YYYY-MM-dd HH:mm:ss');
  37.             $this->us_ip = $_SERVER['REMOTE_ADDR'];
  38.             $db->update($table,
  39.                         array('us_last_access' => $this->us_last_access, 'us_ip' => $this->us_ip),
  40.                         array('us_id = ?' => $this->us_id));
  41.  
  42.             $this->us_pass = ''; // On enregistre pas le mot de passe en session
  43.             Zend_Auth::getInstance()->getStorage()->write($this);
  44.             Zend_Session::regenerateId();
  45.         }
  46.         return $result;
  47.     }
Add Comment
Please, Sign In to add comment