public function editCityImageAction() { $this->_helper->layout->disableLayout(); //$this->_helper->viewRenderer->setNoRender(true); //get request variables $id = $this->_getParam("id"); $img_id = $this->_getParam("img_id"); $page = $this->_getParam("page"); $selTab = $this->_getParam("tab", "tabs-5"); $this->view->cityId = $id; //create image upload form $uploadForm = new Admin_Form_CityImages(); $elements = $uploadForm->getElements(); $uploadForm->clearDecorators(); foreach ($elements as $element) { $element->removeDecorator('label'); $element->removeDecorator('td'); $element->removeDecorator('tr'); $element->removeDecorator('row'); $element->removeDecorator('HtmlTag'); $element->removeDecorator('placement'); $element->removeDecorator('data'); } $uploadForm->getElement("cityImage")->setRequired(false); //get city image information to edit $model = new Application_Model_CityImages(); $model = $model->find($img_id); $options['slideTitle'] = $model->getSlideTitle(); $options['altText'] = $model->getAltText(); $options['slideLinkUrl'] = $model->getSlideLinkUrl(); $options['slideLinkTarget'] = $model->getSlideLinkTarget(); $options['weight'] = $model->getWeight(); $uploadForm->populate($options); $this->view->cityImage = $model->getCityImage(); $this->view->uploadForm = $uploadForm; $request = $this->getRequest(); if ($request->isPost()) { $options = $request->getPost(); if ($uploadForm->isValid($options)) { $target_file_name = $model->getCityImage(); //Upload image start here $upload = new Zend_File_Transfer_Adapter_Http(); if ($upload->isValid()) { $upload->setDestination("media/picture/city/"); try { $upload->receive(); } catch (Zend_File_Transfer_Exception $e) { $msg = $e->getMessage(); } $upload->setOptions(array('useByteString' => false)); $file_name = $upload->getFileName('cityImage'); $cardImageTypeArr = explode(".", $file_name); $ext = strtolower($cardImageTypeArr[count($cardImageTypeArr) - 1]); //unlink existing image if ($ext != "" && $target_file_name != "") { if (file_exists("media/picture/city/" . $target_file_name)) { unlink("media/picture/city/" . $target_file_name); } } $target_file_name = "city{$id}_" . time() . ".{$ext}"; $targetPath = "media/picture/city/" . $target_file_name; //$targetPathThumb = "media/picture/city/thumb_".$target_file_name; $filterFileRename = new Zend_Filter_File_Rename(array('target' => $targetPath, 'overwrite' => true)); $filterFileRename->filter($file_name); //$thumb = Base_Image_PhpThumbFactory ::create($targetPath); //$thumb->resize(623, 347); //$thumb->save($targetPathThumb); } //upload image Ends here $params = $options; //set image $params['cityImage'] = $target_file_name; $params['status'] = 1; $params['id'] = $img_id; $model = new Application_Model_CityImages($params); $res = $model->save(); if ($res) { $_SESSION['errorMsg'] = "Images has been saved successfully."; echo "<script>window.opener.location='/admin/featured-city/edit-city/id/{$id}/page/{$page}/tab/{$selTab}';</script>"; echo "<script>window.close();</script>"; } else { $this->view->errorMsg = "Error occured, please try again later."; } } else { $uploadForm->reset(); $uploadForm->populate($options); } } //end if $this->render("add-city-image"); }
private function setModel($row) { $model = new Application_Model_CityImages(); $model->setId($row->id)->setCityId($row->city_id)->setCityImage($row->city_image)->setSlideTitle($row->slide_title)->setAltText($row->alt_text)->setSlideLinkUrl($row->slide_link_url)->setSlideLinkTarget($row->slide_link_target)->setWeight($row->weight)->setStatus($row->status); return $model; }