示例#1
0
 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;
 }
示例#2
0
 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);
 }