public function saveAction()
 {
     $profile = $this->_getProfile();
     $form = new Users_Form_PersonalInfo(null, $profile);
     $formData = $this->_request->getPost();
     $form->populate($formData);
     if (!$form->isValid($formData)) {
         $appSession = Zend_Registry::get('appSession');
         $appSession->personalInfoForm = $form;
         $this->_forward('edit');
         return;
     }
     $fieldsValues = new Model_FieldsValues();
     if ($this->_getParam('profile')) {
         $fieldsValues->deleteForProfile($profile);
     } else {
         $profile->user_id = $this->user->id;
         $profile->name = $form->getValue('profileName');
         $profile->save();
     }
     foreach ($form->getValues() as $fieldName => $fieldValue) {
         if ($fieldName == 'profileName' || !$fieldValue) {
             continue;
         }
         $fieldsValue = $fieldsValues->createRow();
         $fieldsValue->user_id = $this->user->id;
         $fieldsValue->profile_id = $profile->id;
         list(, $fieldId) = explode('_', $fieldName);
         $fieldsValue->field_id = $fieldId;
         $fieldsValue->value = $fieldValue;
         $fieldsValue->save();
     }
     $this->_helper->FlashMessenger->addMessage($this->view->translate('Profile has been saved'));
     $this->_redirect('/users/personalinfo');
 }