<?php
/**
* LoginForm class.
* LoginForm is the data structure for keeping
* user login form data. It is used by the 'login' action of 'SiteController'.
*/
class ChangeEmailForm extends CFormModel
{
public $newemail;
public $password;
/**
* Declares the validation rules.
* The rules state that username and password are required,
* and password needs to be authenticated.
*/
public function rules()
{
array('newemail, password', 'required'), array('newemail', 'email'), array('newemail', 'unique', 'attributeName'=>'User.email'), array('password', 'authenticate'), );
}
/**
* Declares attribute labels.
*/
public function attributeLabels()
{
'newemail'=>'Новый Email-адрес',
'password'=>'Пароль учетной записи',
);
}
/**
* Authenticates the password.
* This is the 'authenticate' validator as declared in rules().
*/
public function authenticate($attribute,$params)
{
if(!$this->hasErrors())
{
$user = User
::model()->findByAttributes(array('password'=>$this->password,'id'=>Yii
::app()->user->id)); if ($user===null)
$this->addError('password','Неверный пароль учетной записи.');
}
}
}
PD9waHAKCi8qKgogKiBMb2dpbkZvcm0gY2xhc3MuCiAqIExvZ2luRm9ybSBpcyB0aGUgZGF0YSBzdHJ1Y3R1cmUgZm9yIGtlZXBpbmcKICogdXNlciBsb2dpbiBmb3JtIGRhdGEuIEl0IGlzIHVzZWQgYnkgdGhlICdsb2dpbicgYWN0aW9uIG9mICdTaXRlQ29udHJvbGxlcicuCiAqLwpjbGFzcyBDaGFuZ2VFbWFpbEZvcm0gZXh0ZW5kcyBDRm9ybU1vZGVsCnsKCXB1YmxpYyAkbmV3ZW1haWw7CglwdWJsaWMgJHBhc3N3b3JkOwoKCS8qKgoJICogRGVjbGFyZXMgdGhlIHZhbGlkYXRpb24gcnVsZXMuCgkgKiBUaGUgcnVsZXMgc3RhdGUgdGhhdCB1c2VybmFtZSBhbmQgcGFzc3dvcmQgYXJlIHJlcXVpcmVkLAoJICogYW5kIHBhc3N3b3JkIG5lZWRzIHRvIGJlIGF1dGhlbnRpY2F0ZWQuCgkgKi8KCXB1YmxpYyBmdW5jdGlvbiBydWxlcygpCgl7CgkJcmV0dXJuIGFycmF5KAoJCQlhcnJheSgnbmV3ZW1haWwsIHBhc3N3b3JkJywgJ3JlcXVpcmVkJyksCgkJCWFycmF5KCduZXdlbWFpbCcsICdlbWFpbCcpLAoJCQlhcnJheSgnbmV3ZW1haWwnLCAndW5pcXVlJywgJ2F0dHJpYnV0ZU5hbWUnPT4nVXNlci5lbWFpbCcpLAoJCQlhcnJheSgncGFzc3dvcmQnLCAnYXV0aGVudGljYXRlJyksCgkJKTsKCX0KCgkvKioKCSAqIERlY2xhcmVzIGF0dHJpYnV0ZSBsYWJlbHMuCgkgKi8KCXB1YmxpYyBmdW5jdGlvbiBhdHRyaWJ1dGVMYWJlbHMoKQoJewoJCXJldHVybiBhcnJheSgKCQkJJ25ld2VtYWlsJz0+J9Cd0L7QstGL0LkgRW1haWwt0LDQtNGA0LXRgScsCgkJCSdwYXNzd29yZCc9PifQn9Cw0YDQvtC70Ywg0YPRh9C10YLQvdC+0Lkg0LfQsNC/0LjRgdC4JywKCQkpOwoJfQoKICAvKioKICAgKiBBdXRoZW50aWNhdGVzIHRoZSBwYXNzd29yZC4KICAgKiBUaGlzIGlzIHRoZSAnYXV0aGVudGljYXRlJyB2YWxpZGF0b3IgYXMgZGVjbGFyZWQgaW4gcnVsZXMoKS4KICAgKi8KICBwdWJsaWMgZnVuY3Rpb24gYXV0aGVudGljYXRlKCRhdHRyaWJ1dGUsJHBhcmFtcykKICB7CiAgICBpZighJHRoaXMtPmhhc0Vycm9ycygpKQogICAgewogICAgICAkdXNlciA9IFVzZXI6Om1vZGVsKCktPmZpbmRCeUF0dHJpYnV0ZXMoYXJyYXkoJ3Bhc3N3b3JkJz0+JHRoaXMtPnBhc3N3b3JkLCdpZCc9PllpaTo6YXBwKCktPnVzZXItPmlkKSk7CiAgICAgIGlmICgkdXNlcj09PW51bGwpCiAgICAgICAgJHRoaXMtPmFkZEVycm9yKCdwYXNzd29yZCcsJ9Cd0LXQstC10YDQvdGL0Lkg0L/QsNGA0L7Qu9GMINGD0YfQtdGC0L3QvtC5INC30LDQv9C40YHQuC4nKTsKICAgIH0KICB9Cgp9Cg==