public function deleteAction() { if ($datas = $this->getRequest()->getPost()) { try { if (empty($datas['value_id'])) { throw new Exception($this->_('An error occurred while deleting the option')); } // Récupère les données de l'application pour cette option $option_value = new Application_Model_Option_Value(); $option_value->find($datas['value_id']); $app_id = $this->getApplication()->getId(); if (!$option_value->getId() or $option_value->getAppId() != $app_id) { throw new Exception($this->_('An error occurred while deleting the option')); } $html = array('success' => 1, 'value_id' => $datas['value_id'], 'path' => $option_value->getPath(null, array(), "mobile"), 'was_folder' => false, 'was_category' => false, 'was_feature' => false); // Option folder if (isset($datas['category_id'])) { $option_value->setFolderId(null)->setFolderCategoryId(null)->setFolderCategoryPosition(null)->save(); $html['was_category'] = true; $html['category'] = array('id' => $datas['category_id']); } else { // Récupère l'option $option = new Application_Model_Option(); $option->find($option_value->getOptionId()); $html['was_feature'] = true; $html['use_user_account'] = $this->getApplication()->usesUserAccount(); if ($option_value->getCode() == "folder") { $html['was_folder'] = true; } // Supprime l'option de l'application $option_value->delete(); if ($option->onlyOnce()) { $html['page'] = array('id' => $option->getId(), 'name' => $option->getName(), 'icon_url' => $option->getIconUrl(), 'category_id' => $option->getCategoryId()); } // Renvoi le nouveau code HTML // $this->getLayout()->setBaseRender('content', 'application/customization/page/list.phtml', 'admin_view_default'); } } catch (Exception $e) { $html = array('message' => $this->_('An error occurred while deleting the option'), 'message_button' => 1, 'message_loader' => 1); } $this->_sendHtml($html); } }
public function addfeatureAction() { if ($datas = $this->getRequest()->getPost()) { try { // Test s'il y a un value_id if (empty($datas['value_id'])) { throw new Exception($this->_('An error occurred while saving')); } // Récupère l'option_value en cours $option_value = new Application_Model_Option_Value(); $option_value->find($datas['value_id']); $category = new Folder_Model_Category(); $category->find($datas['category_id'], 'category_id'); // Récupère l'option_value en cours $category_option_value = new Application_Model_Option_Value(); $category_option_value->find($datas['category_value_id']); $next_positon = $category_option_value->getNextFolderCategoryPosition($datas['category_id']); $option_folder = new Application_Model_Option(); $option_folder->find(array('code' => 'folder')); $option_folder_id = $option_folder->getOptionId(); if ($category_option_value->getFolderCategoryId() == $datas['category_id'] || $category_option_value->getOptionId() == $option_folder_id) { throw new Exception($this->_('You cannot add this feature')); } $category_option_value->setFolderId($datas['value_id'])->setFolderCategoryPosition($next_positon)->setFolderCategoryId($category->getCategoryId())->save(); $html = array('success' => 1, 'folder_id' => $datas['value_id']); } catch (Exception $e) { $html = array('message' => $e->getMessage()); } $this->getLayout()->setHtml(Zend_Json::encode($html)); } }