- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
<?php
/**
* Login class.
* Login is the data structure for keeping
* user login form data. It is used by the 'login' action of 'SiteController'.
*/
class Login extends CFormModel
{
public $login;
public $pass;
public $rememberMe;
private $_identity;
public function rules()
{
return array(
// username and password are required
array('login, pass', 'required', 'message'=>'поле {attribute} не может быть пустым'),
// rememberMe needs to be a boolean
array('rememberMe', 'boolean'),
// password needs to be authenticated
array('pass', 'authenticate'),
);
}
/**
* Declares attribute labels.
*/
public function attributeLabels()
{
return array(
'login'=>'Логин',
'pass'=>'Пароль',
'rememberMe'=>'Запомнить',
);
}
/**
* Authenticates the password.
* This is the 'authenticate' validator as declared in rules().
*/
public function authenticate($pass,$params)
{
$this->_identity=new UserIdentity($this->login,$this->pass);
if(!$this->_identity->authenticate())
$this->addError($pass, empty($params['message'])?'неправильный лоин или пароль':$params['message']);
}
/**
* Logs in the user using the given username and password in the model.
* @return boolean whether login is successful
*/
public function login()
{
if($this->_identity===null)
{
$this->_identity=new UserIdentity($this->login,$this->pass);
$this->_identity->authenticate();
}
if($this->_identity->errorCode===UserIdentity::ERROR_NONE)
{
$duration=$this->rememberMe ? 3600*24*30 : 0; // 30 days
Yii::app()->user->login($this->_identity,$duration);
return true;
} else {
return false;
}
}
}
Nemoden 04.09.2011 04:54 # +4
guest8 09.04.2019 11:26 # −999