/** * Validate and save changes to user's profile. * @param $args array * @param $request PKPRequest */ function saveProfile($args, &$request) { $this->validate(); $this->setupTemplate($request); $dataModified = false; import('classes.user.form.ProfileForm'); $profileForm = new ProfileForm(); $profileForm->readInputData(); if ($request->getUserVar('uploadProfileImage')) { if (!$profileForm->uploadProfileImage()) { $profileForm->addError('profileImage', __('user.profile.form.profileImageInvalid')); } $dataModified = true; } else { if ($request->getUserVar('deleteProfileImage')) { $profileForm->deleteProfileImage(); $dataModified = true; } } if (!$dataModified && $profileForm->validate()) { $profileForm->execute(); $request->redirect(null, $request->getRequestedPage()); } else { $profileForm->display(); } }
/** * Validate and save changes to user's profile. */ function saveProfile() { $this->validate(); $this->setupTemplate(); $dataModified = false; import('user.form.ProfileForm'); $profileForm = new ProfileForm(); $profileForm->readInputData(); if (Request::getUserVar('uploadProfileImage')) { if (!$profileForm->uploadProfileImage()) { $profileForm->addError('profileImage', Locale::translate('user.profile.form.profileImageInvalid')); } $dataModified = true; } else { if (Request::getUserVar('deleteProfileImage')) { $profileForm->deleteProfileImage(); $dataModified = true; } } if (!$dataModified && $profileForm->validate()) { $profileForm->execute(); Request::redirect(null, null, Request::getRequestedPage()); } else { $profileForm->display(); } }
/** * Validate and save changes to user's profile. */ function saveProfile($args, $request) { $this->setupTemplate($request); $dataModified = false; $user = $request->getUser(); import('classes.user.form.ProfileForm'); $profileForm = new ProfileForm($user); $profileForm->readInputData(); if ($request->getUserVar('uploadProfileImage')) { if (!$profileForm->uploadProfileImage()) { $profileForm->addError('profileImage', __('user.profile.form.profileImageInvalid')); } $dataModified = true; } else { if ($request->getUserVar('deleteProfileImage')) { $profileForm->deleteProfileImage(); $dataModified = true; } } if (!$dataModified && $profileForm->validate()) { $profileForm->execute($request); $userGroupDao = DAORegistry::getDAO('UserGroupDAO'); $context = $request->getContext(); $userGroups = $userGroupDao->getByUserId($user->getId(), $context->getId()); while ($userGroup = $userGroups->next()) { if ($userGroup->getRoleId() != ROLE_ID_READER) { $request->redirect(null, 'dashboard'); } } $request->redirect(null, 'index'); } else { $profileForm->display($request); } }
/** * Updates the user profile from a form */ public function actionProfile() { if (Pii::guest()) { $this->_redirectError('You must be logged in to change your profile.'); } $_model = new ProfileForm(); if (isset($_POST, $_POST['ProfileForm'])) { $_model->attributes = $_POST['ProfileForm']; if ($_model->validate()) { try { $_userId = Session::getCurrentUserId(); $_result = Profile::changeProfile($_userId, $_model->attributes); if (Option::getBool($_result, 'success')) { Yii::app()->user->setFlash('profile-form', 'Your profile has been successfully updated.'); } } catch (\Exception $_ex) { $_model->addError(null, $_ex->getMessage()); } } } else { $_userId = Session::getCurrentUserId(); $_model->attributes = Profile::getProfile($_userId); } $this->render('profile', array('model' => $_model, 'backUrl' => $this->_getRedirectUrl(), 'session' => Session::generateSessionDataFromUser(Session::getCurrentUserId()))); }