/** * Valida que los datos de registro de un codigo nuevo sean correctos * @param $model * @throws Exception */ public function serverValidationRegisterCodeForm($model) { //* //1.-Valida los campos del formulario if (strlen(trim($model->code)) > 0 && strlen(trim($model->email)) > 0 && UtilsFunctions::validEMail(trim($model->email)) && strlen(trim($model->name)) > 0 && strlen(trim($model->lastname)) > 0 && strlen(trim($model->password)) > 0) { //2.-Verifica que el codigo este en la base $codeId = CodesDao::getInstance()->getCodeId($model->code); //3.-Verifica si ya esta registrado en la tabla usuarios UsersDao::getInstance()->exitsCodeInUsers($codeId); //4.- Verifica que el si el correo electronico ya esta registrado UsersDao::getInstance()->exitsUserInDataBase(trim($model->email)); } else { throw new Exception(Constants::ERROR_DATA_FORM); } }
public function actionEditUser($iduser) { if (UsersDao::getInstance()->validToken() && Yii::app()->session['isadmin']) { $this->layout = "tplLogin"; $message = ''; $model = new EditUserForm(); try { $userData = UsersDao::getInstance()->getUserDataById($iduser); $model->email = $userData['email']; $model->idusers = $userData['idusers']; $model->codes_idcodes = $userData['codes_idcodes']; $model->name = $userData['name']; $model->lastname = $userData['lastname']; $model->password = $userData['password']; $model->activation_code = $userData['activation_code']; $model->account_active = $userData['account_active']; $model->activation_date = $userData['activation_date']; $model->authToken = $userData['authToken']; $model->change_password_code = $userData['change_password_code']; $model->lastlogin = $userData['lastlogin']; $model->createdon = $userData['createdon']; $model->isadmin = $userData['isadmin']; $model->duration = $userData['duration']; if (isset($_POST['EditUserForm'])) { $model->attributes = $_POST['EditUserForm']; if ($model->validate()) { UsersDao::getInstance()->updateUserData($model); Yii::app()->user->setFlash('enterCodes', Constants::SUCCESS_USER_DATA_UPDATE); $this->refresh(); } } } catch (Exception $e) { Yii::app()->user->setFlash('enterCodes', $e->getMessage()); $this->refresh(); } $this->render('editUser', array('model' => $model, "errorSummary" => $message)); } else { //Yii::log("Entro a login y fue false","warning"); //Yii::app()->runController('Site/login'); UtilsFunctions::destroySession(); } }
/** * Realiza la validacion del correo electronico del formulario de olvidar contraseña en el servidor. * Genera una Exception en caso de que los datos no sean correctos. * @param $model * @throws Exception */ private function serverValidationForgetPasswordForm($model) { //* //1.-Valida los campos del formulario if (strlen(trim($model->email)) <= 0 || !UtilsFunctions::validEMail(trim($model->email))) { throw new Exception(Constants::ERROR_DATA_FORM); } }
/** * Valida que el email y el password esten en a base Y QUE LA DURACION DE LOS DIAS SA CORRECTA * Desactiva la cuenta si ya pasaron los dias de vida * @param unknown $model * @throws Exception * @return multitype:string unknown */ public function validUserAndPasswordAndDuration($model) { //* $tokenAndId = array(); $tokenAndId['token'] = ""; $tokenAndId['id'] = ""; $tokenAndId['isadmin'] = ""; $token = ""; $connection = Yii::app()->db; $sql = Querys::VALID_USER_AND_PASSWORD; $command = $connection->createCommand($sql); $index = 0; $command->bindValue(++$index, strtolower($model->email), PDO::PARAM_STR); $command->bindValue(++$index, self::krypPassword($model->password), PDO::PARAM_STR); $data = $command->query(); foreach ($data as $row) { if ($row['duration'] == 0 || $row['dias'] <= $row['duration']) { $token = UtilsFunctions::createAuthToken($model->email); $command->update('users', array('lastlogin' => date("Y-m-d, H:i:s"), 'authToken' => $token), 'idusers=:id', array(':id' => $row['idusers'])); $tokenAndId['token'] = $token; $tokenAndId['id'] = $row['idusers']; $tokenAndId['isadmin'] = $row['isadmin']; $tokenAndId['name'] = $row['name']; $tokenAndId['lastname'] = $row['lastname']; $tokenAndId['duration'] = $row['duration']; return $tokenAndId; } else { $command->update('users', array('account_active' => 0, 'activation_code' => 'DURACION FINALIZADA', 'authToken' => ''), 'idusers=:id', array(':id' => $row['idusers'])); throw new Exception(Constants::ERROR_USER_DURATION); } } $connection->active = false; throw new Exception(Constants::ERROR_DATA_FORM); }