Esempio n. 1
0
 public function actionProfile()
 {
     // Find Model
     $user = Yii::$app->user->getIdentity();
     // Update/Render if exist
     if (isset($user)) {
         $user->setScenario('profile');
         UserService::checkNewsletterMember($user);
         if ($user->load(Yii::$app->request->post(), 'User') && $user->validate()) {
             // Update User and Site Member
             if (UserService::update($user)) {
                 $data = ['email' => $user->email, 'username' => $user->username, 'firstName' => $user->firstName, 'lastName' => $user->lastName, 'gender' => $user->getGenderStr(), 'phone' => $user->phone];
                 // Trigger Ajax Success
                 return AjaxUtil::generateSuccess(Yii::$app->cmgCoreMessage->getMessage(CoreGlobal::MESSAGE_REQUEST), $data);
             }
         } else {
             // Generate Errors
             $errors = AjaxUtil::generateErrorMessage($user);
             // Trigger Ajax Failure
             return AjaxUtil::generateFailure(Yii::$app->cmgCoreMessage->getMessage(CoreGlobal::ERROR_REQUEST), $errors);
         }
     }
     // Model not found
     return AjaxUtil::generateFailure(Yii::$app->cmgCoreMessage->getMessage(CoreGlobal::ERROR_REQUEST), ['session' => true]);
 }
Esempio n. 2
0
 public function actionSettings()
 {
     $user = Yii::$app->user->getIdentity();
     // Update/Render if exist
     if (isset($user)) {
         $modelAttributes = Yii::$app->request->post('ModelAttribute');
         $count = count($modelAttributes);
         $attributes = [];
         for ($i = 0; $i < $count; $i++) {
             $attribute = new ModelAttribute(['parentId' => $user->id, 'parentType' => CoreGlobal::TYPE_USER]);
             $attributes[] = $attribute;
         }
         // Load SchoolItem models
         if (ModelAttribute::loadMultiple($attributes, Yii::$app->request->post(), 'ModelAttribute') && ModelAttribute::validateMultiple($attributes)) {
             UserService::updateAttributes($user, $attributes);
             $data = [];
             foreach ($attributes as $attribute) {
                 $data[] = $attribute->getFieldInfo();
             }
             // Trigger Ajax Success
             return AjaxUtil::generateSuccess(Yii::$app->cmgCoreMessage->getMessage(CoreGlobal::MESSAGE_REQUEST), $data);
         }
         // Trigger Ajax Failure
         return AjaxUtil::generateFailure(Yii::$app->cmgCoreMessage->getMessage(CoreGlobal::ERROR_REQUEST));
     }
     // Model not found
     return AjaxUtil::generateFailure(Yii::$app->cmgCoreMessage->getMessage(CoreGlobal::ERROR_REQUEST), ['session' => true]);
 }
Esempio n. 3
0
 public function actionSettings()
 {
     // Find Model
     $user = Yii::$app->user->getIdentity();
     // Update/Render if exist
     if (isset($user)) {
         $privacy = UserService::findAttributeMapByType($user, WebGlobalCore::SETTINGS_PRIVACY);
         $notification = UserService::findAttributeMapByType($user, WebGlobalCore::SETTINGS_NOTIFICATION);
         $reminder = UserService::findAttributeMapByType($user, WebGlobalCore::SETTINGS_REMINDER);
         return $this->render(WebGlobalCore::PAGE_SETTINGS, ['user' => $user, 'privacy' => $privacy, 'notification' => $notification, 'reminder' => $reminder]);
     }
     // Model not found
     throw new NotFoundHttpException(Yii::$app->cmgCoreMessage->getMessage(CoreGlobal::ERROR_NOT_FOUND));
 }
Esempio n. 4
0
 public function actionConfirmAccount($token, $email)
 {
     // Send user to home if already logged in
     $this->checkHome();
     // Unset Flash Message
     Yii::$app->session->setFlash(CoreGlobal::FLASH_GENERIC, null);
     if (isset($token) && isset($email)) {
         $user = UserService::findByEmail($email);
         if (isset($user) && UserService::verify($user, $token)) {
             // Send Register Mail
             Yii::$app->cmgCoreMailer->sendVerifyUserMail($user);
             // Set Success Message
             Yii::$app->session->setFlash(CoreGlobal::FLASH_GENERIC, Yii::$app->cmgCoreMessage->getMessage(CoreGlobal::MESSAGE_ACCOUNT_CONFIRM));
         } else {
             // Set Failure Message
             Yii::$app->session->setFlash(CoreGlobal::FLASH_GENERIC, Yii::$app->cmgCoreMessage->getMessage(CoreGlobal::ERROR_ACCOUNT_CONFIRM));
         }
     } else {
         // Set Failure Message
         Yii::$app->session->setFlash(CoreGlobal::FLASH_GENERIC, MYii::$app->cmgCoreMessage->getMessage(CoreGlobal::ERROR_ACCOUNT_CONFIRM));
     }
     return $this->render(WebGlobalCore::PAGE_ACCOUNT_CONFIRM);
 }
Esempio n. 5
0
 public function actionResetPassword($token, $email)
 {
     // Send user to home if already logged in
     $this->checkHome();
     // Unset Flash Message
     Yii::$app->session->setFlash(CoreGlobal::FLASH_GENERIC, null);
     $model = new ResetPassword();
     $model->email = $email;
     // Load and Validate Form Model
     if ($model->load(Yii::$app->request->post()) && $model->validate()) {
         $user = UserService::findByEmail($model->email);
         // If valid user found
         if (isset($user)) {
             if ($user->isResetTokenValid($token)) {
                 if (UserService::resetPassword($user, $model)) {
                     // Set Success Message
                     Yii::$app->session->setFlash(CoreGlobal::FLASH_GENERIC, Yii::$app->cmgCoreMessage->getMessage(CoreGlobal::MESSAGE_RESET_PASSWORD));
                 }
             } else {
                 // Set Failure Message
                 Yii::$app->session->setFlash(CoreGlobal::FLASH_GENERIC, Yii::$app->cmgCoreMessage->getMessage(CoreGlobal::ERROR_PASSWORD_RESET));
             }
         } else {
             // Set Failure Message
             Yii::$app->session->setFlash(CoreGlobal::FLASH_GENERIC, Yii::$app->cmgCoreMessage->getMessage(CoreGlobal::ERROR_USER_NOT_EXIST));
         }
     }
     return $this->render(CoreGlobal::PAGE_PASSWORD_RESET, [CoreGlobal::MODEL_GENERIC => $model]);
 }
Esempio n. 6
0
 public function actionForgotPassword()
 {
     // Create Form Model
     $model = new ForgotPassword();
     // Load and Validate Form Model
     if ($model->load(Yii::$app->request->post(), 'ForgotPassword') && $model->validate()) {
         $user = UserService::findByEmail($model->email);
         // Trigger Reset Password
         if (isset($user) && UserService::forgotPassword($user)) {
             $user = UserService::findByEmail($model->email);
             // Load User Permissions
             $user->loadPermissions();
             // Send Forgot Password Mail
             Yii::$app->cmgCoreMailer->sendPasswordResetMail($user);
             return AjaxUtil::generateSuccess(Yii::$app->cmgCoreMessage->getMessage(CoreGlobal::MESSAGE_FORGOT_PASSWORD));
         } else {
             // Generate Errors
             $model->addError('email', Yii::$app->cmgCoreMessage->getMessage(CoreGlobal::ERROR_USER_NOT_EXIST));
             $errors = AjaxUtil::generateErrorMessage($model);
             // Trigger Ajax Failure
             return AjaxUtil::generateFailure(Yii::$app->cmgCoreMessage->getMessage(CoreGlobal::ERROR_REQUEST), $errors);
         }
     }
     // Generate Errors
     $errors = AjaxUtil::generateErrorMessage($model);
     // Trigger Ajax Failure
     return AjaxUtil::generateFailure(Yii::$app->cmgCoreMessage->getMessage(CoreGlobal::ERROR_REQUEST), $errors);
 }