예제 #1
0
 /**
  * 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();
     }
 }
예제 #3
0
 /**
  * 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);
     }
 }
예제 #4
0
 /**
  * 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);
 }