public function editAction() { $this->view->type = $type = $this->_getParam('type', "other"); $this->view->title = ucfirst($type) . " Category - Edit"; $this->view->headTitle(" - " . $this->view->title); $id = $this->_getParam('id'); $model1 = new Application_Model_Category(); $model = $model1->find($id); $options['name'] = $model->getName(); $options['urlText'] = $model->getUrlText(); $options['urlLink'] = $model->getUrlLink(); $options['description'] = $model->getDescription(); $options['image'] = $model->getImage(); $options['status'] = $model->getStatus(); $options['weight'] = $model->getWeight(); $this->view->imgName = $model->getImage(); $request = $this->getRequest(); $form = new Admin_Form_Category(); $form->populate($options); //remove weight field for all type of categories except advice and wsv category if ($type == "album" || $type == "blog" || $type == "work" || $type == "study" || $type == "volunteer" || $type == "other") { $form->removeElement('weight'); } //Url Link and Url Text fields should appear for WSV categories only if ($type != "wsv") { $form->removeElement('urlText'); $form->removeElement('urlLink'); } $options = $request->getPost(); if ($request->isPost()) { if ($form->isValid($options)) { $category_id = $model->getId(); $upload = new Zend_File_Transfer_Adapter_Http(); //---main image if ($upload->isValid('image')) { $upload->setDestination("images/uploads/"); try { $upload->receive('image'); } catch (Zend_File_Transfer_Exception $e) { $msg = $e->getMessage(); } $upload->setOptions(array('useByteString' => false)); //delete existing files if ($model->getImage() != "" && file_exists("media/picture/category/" . $type . "/" . $model->getImage())) { unlink("media/picture/category/" . $type . "/" . $model->getImage()); unlink("media/picture/category/" . $type . "/thumb_" . $model->getImage()); } $id = $category_id; $file_name = $upload->getFileName('image'); $cardImageTypeArr = explode(".", $file_name); $ext = strtolower($cardImageTypeArr[count($cardImageTypeArr) - 1]); $target_file_name = "category_" . $id . ".{$ext}"; $targetPath = 'media/picture/category/' . $type . '/' . $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/category/' . $type . '/thumb_' . $target_file_name); } //----------- $model->setOptions($options); $model->save($model); $model->updateRelatedSeoUrls($id); $this->view->successMsg = "Category has been updated successfully!"; } else { $form->reset(); $form->populate($options); } } $this->view->form = $form; }
public function validateAction() { $this->_helper->viewRenderer->setNoRender(); $this->_helper->getHelper('layout')->disableLayout(); $form = new Admin_Form_Category(); $form->isValid($this->_getAllParams()); $json = $form->getMessages(); header('Content-type: application/json'); echo Zend_Json::encode($json); }