Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class User_Model_User extends Ez_Row
- {
- /**
- * @var string : Redirection
- */
- public $redirector = null;
- /**
- * Authentification utilisateur
- *
- * @param $credentialTreatment = null MD5 or other
- * @return Zend_Auth_Result
- */
- public function authenticate($credentialTreatment = null, $login = null, $password = null)
- {
- $db = $this->getTable()->getAdapter();
- $table = $this->getTable()->info('name');
- $validator = new Zend_Validate_EmailAddress();
- if($validator->isValid($login)) {
- $adapter = new Zend_Auth_Adapter_DbTable($db, $table, 'us_email', 'us_pass', $credentialTreatment);
- $adapter->setIdentity($login);
- } else {
- $adapter = new Zend_Auth_Adapter_DbTable($db, $table, 'us_login', 'us_pass', $credentialTreatment);
- }
- $adapter->setIdentity($login)
- ->setCredential($password);
- $result = $adapter->authenticate();
- if ($result->isValid()) {
- $this->setFromArray((array) $adapter->getResultRowObject());
- // Comme $this est un createRow, on requete direct la base en mettant à jour quelques infos
- $date = new Zend_Date();
- $this->us_last_access = $date->get('YYYY-MM-dd HH:mm:ss');
- $this->us_ip = $_SERVER['REMOTE_ADDR'];
- $db->update($table,
- array('us_last_access' => $this->us_last_access, 'us_ip' => $this->us_ip),
- array('us_id = ?' => $this->us_id));
- $this->us_pass = ''; // On enregistre pas le mot de passe en session
- Zend_Auth::getInstance()->getStorage()->write($this);
- Zend_Session::regenerateId();
- }
- return $result;
- }
Add Comment
Please, Sign In to add comment