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]); }
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]); }
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)); }
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); }
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]); }
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); }