Exemple #1
0
 public function editAction()
 {
     $id = $this->_getParam('id');
     $this->view->user_id = $id;
     $model1 = new Application_Model_User();
     $model = $model1->find($id);
     $options['firstName'] = $model->getFirstName();
     $options['lastName'] = $model->getLastName();
     $options['email'] = $model->getEmail();
     $options['countryPassport'] = $model->getCountryPassport();
     $options['preferredLanguage'] = $model->getPreferredLanguage();
     $options['otherLanguages'] = $model->getOtherLanguages();
     $options['cityId'] = $model->getCityId();
     $options['cityName'] = $model->getCityName();
     $arrDob = explode("-", $model->getDob());
     if (count($arrDob) > 0) {
         $options['year'] = $arrDob[0];
         $options['month'] = $arrDob[1];
         $options['day'] = $arrDob[2];
     }
     $options['sex'] = $model->getSex();
     $options['firstTimeTraveller'] = $model->getFirstTimeTraveller();
     $options['mobileCountryCode'] = $model->getMobileCountryCode();
     $options['mobile'] = $model->getMobile();
     $options['dreamDestination'] = $model->getDreamDestination();
     $options['wayToTravel'] = $model->getWayToTravel();
     $options['travelGear'] = $model->getTravelGear();
     $options['yearGoal'] = $model->getYearGoal();
     $options['leaveHomeWithout'] = $model->getLeaveHomeWithout();
     $options['interests'] = $model->getInterests();
     $options['evenTakenGapYear'] = $model->getEvenTakenGapYear();
     $options['nextTravelToDoList'] = $model->getNextTravelToDoList();
     $options['favouriteTravelExperience'] = $model->getFavouriteTravelExperience();
     $options['userLevelId'] = $model->getUserLevelId();
     $this->view->username = $model->getUsername();
     $request = $this->getRequest();
     $form = new Admin_Form_User();
     //remove fields do not need to display in Edit
     $form->removeElement('username');
     $form->removeElement('password');
     $form->removeElement('confirmPassword');
     $form->populate($options);
     $options = $request->getPost();
     if ($request->isPost()) {
         /*---- email validation ----*/
         if ($options['email'] != $model->getEmail()) {
             $form->getElement('email')->addValidators(array(array('Db_NoRecordExists', false, array('table' => 'user', 'field' => 'email', 'messages' => 'Email already exists, Please choose another email address.'))));
         }
         /*-------------------------*/
         if ($form->isValid($options)) {
             /*---------  Upload image START -------------------------*/
             $upload = new Zend_File_Transfer_Adapter_Http();
             if ($upload->isValid('image')) {
                 //unlink existing images
                 if (file_exists("media/picture/profile/" . $model->getImage())) {
                     unlink("media/picture/profile/" . $model->getImage());
                     //main uploaded image
                     unlink("media/picture/profile/thumb_" . $model->getImage());
                     //thumb image
                 }
                 $upload->setDestination("images/uploads/");
                 try {
                     $upload->receive('image');
                 } catch (Zend_File_Transfer_Exception $e) {
                     $msg = $e->getMessage();
                 }
                 $upload->setOptions(array('useByteString' => false));
                 $file_name = $upload->getFileName('image');
                 $cardImageTypeArr = explode(".", $file_name);
                 $ext = strtolower($cardImageTypeArr[count($cardImageTypeArr) - 1]);
                 $target_file_name = "profile_" . $id . ".{$ext}";
                 $targetPath = 'media/picture/profile/' . $target_file_name;
                 $filterFileRename = new Zend_Filter_File_Rename(array('target' => $targetPath, 'overwrite' => true));
                 $filterFileRename->filter($file_name);
                 $options['image'] = $target_file_name;
                 /*--- Generate Thumbnail ---*/
                 $thumb = Base_Image_PhpThumbFactory::create($targetPath);
                 $thumb->resize(100, 100);
                 $thumb->save($targetPath = 'media/picture/profile/thumb_' . $target_file_name);
             }
             /*---------  Upload image END -------------------------*/
             $options['dob'] = $options['year'] . "-" . $options['month'] . "-" . $options['day'];
             $model->setOptions($options);
             $model->save();
             $this->view->msg = "'User information has been updated successfully!";
         } else {
             $form->reset();
             $form->populate($options);
         }
     }
     $this->view->thumbImage = $model->getThumbnail();
     $this->view->image_name = $model->getImage();
     $this->view->form = $form;
 }