Incam_PROFIND_Web/www/protected/models/FormularioExtCambiarPassword.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.'));
}
}
}