Ejemplo n.º 1
0
 public function executeProfile(sfWebRequest $request)
 {
     $user = $this->getUser();
     $i18n = $this->getContext()->getI18N();
     $form = new ProfileForm($user->getProfile(), array('user' => $user));
     if ($request->isMethod('post')) {
         $config = $request->getParameter('config');
         $form->bind($config);
         if ($form->isValid()) {
             $form->save();
             $culture = $config['language'];
             if (isset($config['country'])) {
                 $country = $config['country'];
             } else {
                 $country = null;
             }
             if ($country) {
                 $culture .= '_' . $country;
             }
             $user->setCulture($culture);
             $user->info($i18n->__('Your settings were successfully saved.'));
             $this->redirect('@profile');
         } else {
             $user->error($i18n->__('Settings could not be saved. Please, check entered values and try to correct them.'), false);
         }
     }
     $this->form = $form;
 }
Ejemplo n.º 2
0
 /**
  *
  * @param sfWebRequest $request
  * @param ProfileForm $form
  */
 protected function processEdit(sfWebRequest $request, ProfileForm $form)
 {
     $form->bind($request->getParameter('profile'));
     if ($form->isValid()) {
         $values = $form->getValues();
         $user = $this->getUser()->getGuardUser();
         if ($user->checkPassword($values['current_password'])) {
             // Set new password into sfGuardUser table
             if (!empty($values['new_password']) && $values['new_password'] == $values['confirm_new_password']) {
                 $user->setPassword($values['new_password']);
             }
             $user->setFirstName($values['first_name']);
             $user->setLastName($values['last_name']);
             $user->setEmailAddress($values['email']);
             $user->save();
             // Set referer
             $this->getUser()->setReferer($request->getUri());
             // Redirect to referer
             $this->redirect($this->getUser()->getReferer());
         }
     }
 }