public function addAction() { $this->view->type = $type = $this->_getParam('type', "other"); $this->view->title = ucfirst($type) . " Category - Add"; $this->view->headTitle(" - " . $this->view->title); $form = new Admin_Form_Category(); $this->view->form = $form; //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'); } $this->view->successMsg = ""; if ($this->getRequest()->isPost()) { $formData = $this->getRequest()->getPost(); if ($form->isValid($formData)) { $formData['type'] = $type; $formData['parentId'] = "0"; $this->view->warningMsg = ''; $model = new Application_Model_Category($formData); $id = $model->save(); $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)); $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 = new Application_Model_Category(); $model = $model->find($id); $model->setImage($target_file_name); $model->save(); } //----------- $form->reset(); $this->view->successMsg = "Category added successfully. Category id : {$id}"; } else { $form->populate($formData); } } }