git-svn-id: https://192.168.0.254/svn/Proyectos.Incam_PROFIND_Web/trunk@21 3fe1ab16-cfe0-e34b-8c9f-7d8c168d430d
53 lines
1.8 KiB
PHP
53 lines
1.8 KiB
PHP
<?php
|
|
|
|
/**
|
|
*
|
|
*/
|
|
class FormularioExtCambiarPassword extends CFormModel {
|
|
|
|
public $key;
|
|
public $email;
|
|
public $password;
|
|
public $passwordRepetida;
|
|
|
|
/**
|
|
*
|
|
*/
|
|
public function rules() {
|
|
return array(
|
|
array('key, email, password, passwordRepetida', 'required'),
|
|
array('email', 'email'),
|
|
array('email', 'existeEmail'),
|
|
array('password, passwordRepetida', 'length', 'max' => 128, 'min' => 6, 'message' => Yii::t('profind', 'La contraseña debe al menos 6 caracteres.')),
|
|
array('passwordRepetida', 'compare', 'compareAttribute' => 'password', 'message' => Yii::t('profind', 'La confirmación de contraseña no coincide.')),
|
|
array('key', 'comprobarKey'),
|
|
);
|
|
}
|
|
|
|
/**
|
|
* Comprobar que existe un usuario con el email recibido.
|
|
*/
|
|
public function existeEmail($attribute, $params) {
|
|
if (!$this->hasErrors()) {
|
|
$usuario = Usuario::model()->findByAttributes(array(
|
|
'email' => $this->email
|
|
));
|
|
if (!isset($usuario))
|
|
$this->addError($this->key, Yii::t('profind', 'Los datos para cambiar la contraseña no son válidos.'));
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Comprobar que la key recibida corresponde al email recibido.
|
|
*/
|
|
public function comprobarKey($attribute, $params) {
|
|
if (!$this->hasErrors()) {
|
|
$usuario = Usuario::model()->findByAttributes(array(
|
|
'clave_seguridad' => $this->key,
|
|
'email' => $this->email
|
|
));
|
|
if (!isset($usuario))
|
|
$this->addError($this->key, Yii::t('profind', 'Los datos para cambiar la contraseña no son válidos.'));
|
|
}
|
|
}
|
|
} |