public function editAction() { $authorization = Zend_Auth::getInstance(); $identity = $authorization->getIdentity(); if ($identity) { $form = new Application_Form_Profile(); $model = new Application_Model_Users(); $id = $this->getRequest()->getParam('id'); $user_data = $model->getUserById($id); $form->populate($user_data); // $form->getElement('password')->setValue($user_data[0]['password']); // $form->getElement('re_password')->setValue($user_data[0]['password']); if ($identity->user_type == "admin") { if ($this->getRequest()->isPost()) { $form->getElement('id')->setValue($id); if ($form->isValid($this->getRequest()->getParams())) { $model = new Application_Model_Users(); $form->removeElement("re_password"); $model->editUser($form->getValues(), $id); //$this->view->identity->id $this->redirect("/users/list"); } } } else { $form->removeElement("user_type"); $form->removeElement("active"); if ($this->getRequest()->isPost()) { $form->getElement('id')->setValue($id); if ($form->isValid($this->getRequest()->getParams())) { $model = new Application_Model_Users(); $form->removeElement("re_password"); $model->editUser($form->getValues(), $id); //$this->view->identity->id $this->redirect("categories/list"); } } } $this->view->form = $form; //$this->render("add"); } else { $this->redirect("/users/login"); } }
public function myProfileAction() { /*--- find user data and populate the edit form ----*/ $userNs = new Zend_Session_Namespace('members'); $userId = $userNs->userId; //$user = unserialize($userNs->userObj); //$userId = $user->getId(); $userM = new Application_Model_User(); $user = $userM->find($userId); $params['firstName'] = $user->getFirstName(); $params['lastName'] = $user->getLastName(); $params['email'] = $user->getEmail(); $params['countryPassport'] = $user->getCountryPassport(); $params['preferredLanguage'] = $user->getPreferredLanguage(); $params['otherLanguages'] = $user->getOtherLanguages(); $params['cityId'] = $user->getCityId(); $params['cityName'] = $user->getCityName(); $arrDob = explode("-", $user->getDob()); if (count($arrDob) > 0) { $params['year'] = $arrDob[0]; $params['month'] = $arrDob[1]; $params['day'] = $arrDob[2]; } $params['sex'] = $user->getSex(); $params['firstTimeTraveller'] = $user->getFirstTimeTraveller(); $params['mobileCountryCode'] = $user->getMobileCountryCode(); $params['mobile'] = $user->getMobile(); $params['dreamDestination'] = $user->getDreamDestination(); $params['wayToTravel'] = $user->getWayToTravel(); $params['travelGear'] = $user->getTravelGear(); $params['yearGoal'] = $user->getYearGoal(); $params['leaveHomeWithout'] = $user->getLeaveHomeWithout(); $params['interests'] = $user->getInterests(); $params['evenTakenGapYear'] = $user->getEvenTakenGapYear(); $params['nextTravelToDoList'] = $user->getNextTravelToDoList(); $params['favouriteTravelExperience'] = $user->getFavouriteTravelExperience(); $this->view->username = $user->getUsername(); /*-------------------------------------------------------*/ $form = new Application_Form_Profile(); $form->populate($params); $elements = $form->getElements(); $form->clearDecorators(); foreach ($elements as $element) { $element->removeDecorator('label'); } if ($this->getRequest()->isPost()) { $params = $this->getRequest()->getPost(); /*---- email validation ----*/ if ($params['email'] != $user->getEmail()) { $form->getElement('email')->addValidators(array(array('Db_NoRecordExists', false, array('table' => 'user', 'field' => 'email', 'messages' => 'Email already exists, Please choose another email address')))); } /*-------------------------*/ /*--- validations for change password -------*/ if (trim($params['currentPassword']) != "") { $params['currentPassword'] = md5($params['currentPassword']); $form->getElement('currentPassword')->addValidators(array(array('Db_RecordExists', false, array('table' => 'user', 'field' => 'password', 'messages' => 'Incorrect current password')))); $form->getElement('password')->setRequired(true); } if (trim($params['password']) != "" && $params['currentPassword'] == "") { $form->getElement('currentPassword')->setRequired(true); $form->getElement('currentPassword')->addValidators(array(array('NotEmpty', false, array('messages' => array('isEmpty' => 'You must enter the current password'))))); } /*--- validations for change password -------*/ if ($form->isValid($params)) { $upload = new Zend_File_Transfer_Adapter_Http(); //---main image if ($upload->isValid('image')) { //unlink existing images if ($user->getImage() != "" && file_exists("media/picture/profile/" . $user->getImage())) { unlink("media/picture/profile/" . $user->getImage()); //main uploaded image unlink("media/picture/profile/thumb_" . $user->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)); $id = $userId; $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); $params['image'] = $target_file_name; /*--- Generate Thumbnail ---*/ $thumb = Base_Image_PhpThumbFactory::create($targetPath); $thumb->resize(200, 200); $thumb->save($targetPath = 'media/picture/profile/thumb_' . $target_file_name); } //----------- $params['dob'] = $params['year'] . "-" . $params['month'] . "-" . $params['day']; $pass = $user->getPassword(); if (trim($params['password']) != "") { $params['password'] = md5($params['password']); } else { $params['password'] = $pass; } $user->setOptions($params); $user->save(); $this->view->msg = "Profile updated successfully!"; $userNs->userObj = serialize($user); } //$this->_helper->_redirector->gotoUrl($this->view->seoUrl("/gapper/my-profile")); //$this->_redirect($this->view->seoUrl("/gapper/my-profile")); } $this->view->thumbImage = $user->getThumbnail(); $this->view->image_name = $user->getImage(); $this->view->gender = $user->getSex(); $this->view->form = $form; }