Ejemplo n.º 1
0
 /**
  * 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();
     }
 }
Ejemplo n.º 2
0
 /**
  * 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();
     }
 }
Ejemplo n.º 3
0
 /**
  * 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);
     }
 }
Ejemplo n.º 4
0
 /**
  * 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())));
 }