public function createAction()
 {
     if (!WM_Users::allow('create', $this->getRequest()->getController())) {
         $this->forward('error', 'noPermission');
     }
     $this->setViewChange('categories_form');
     if ($this->getRequest()->isPost()) {
         Model_Categories::createCategory($this->getRequest()->getParams());
         $this->session->set('successfu_edite', true);
         $this->redirect($this->getRequest()->getBaseUrl() . $this->getRequest()->getModule() . '/categories/');
     }
     $this->getForm();
 }
Exemple #2
0
 public function createAction()
 {
     $this->setViewChange('form');
     if ($this->getRequest()->isPost()) {
         Model_Categories::createCategory($this->getRequest()->getParams());
         $this->session->set('successfu_edite', true);
         $url = '';
         if ($this->getRequest()->getQuery('sub_of')) {
             $url = '?sub_of=' . $this->getRequest()->getQuery('sub_of');
         }
         $this->redirect($this->getRequest()->getBaseUrl() . $this->getRequest()->getModule() . '/categories/' . $url);
     }
     $this->getForm();
 }
 function addSubcategoryAction()
 {
     $request = $this->getRequest();
     Model_Categories::createCategory(array('title' => $request->getPost('title'), 'parent_id' => $request->getPost('parent_id'), 'status' => 1, 'meta_title' => '', 'meta_description' => '', 'meta_keywords' => '', 'image' => ''));
     $this->redirect($request->getServer('HTTP_REFERER'));
     $this->noViewRenderer(true);
     $this->noLayout(true);
 }
 public function categoriesAction()
 {
     $Categories = new Model_Categories();
     if ($this->getRequest()->isXmlHttpRequest()) {
         $this->_helper->layout()->disableLayout();
         $this->_helper->viewRenderer->setNoRender(true);
         if (isset($_POST['CategoryTree'])) {
             $this->view->category_tree = $Categories->listCategoryTree();
             $this->view->orphan_categories = $Categories->listOrphanCategories();
             $asdf = $this->renderScript('admin/ajax/category_tree.phtml');
         }
         if (isset($_POST['Submit'])) {
             if (isset($_POST['CategoryID']) && !empty($_POST['CategoryID'])) {
                 #Update
                 $strUpdateCategoryName = "Update Category set Name = " . $Categories->db->quote($_POST['CategoryName']) . " where ID = {$_POST['CategoryID']} ";
                 $sqlUpdateCategoryName = $Categories->db->query($strUpdateCategoryName);
                 if ($sqlUpdateCategoryName) {
                     echo json_encode(array('true', $_POST['CategoryName'] . ' updated.'));
                 } else {
                     echo json_encode(array('false', 'Something went wrong. Please Reset and try again.'));
                 }
                 #if ($Categories->updateCategory($_POST)) {
                 #	echo $_POST['CategoryName'] . " updated!";
                 #} else {
                 #	echo "There was a problem processing your request. Please RESET and try again.";
                 #}
             } else {
                 #Create New
                 $succeed = $Categories->createCategory($_POST);
                 $allCats = array();
                 $all_categories = $Categories->getData('Category', '', ' CustomOrder ASC, Name ASC ');
                 foreach ($all_categories as $cat) {
                     $allCats[] = array($cat['ID'], $cat['Name']);
                 }
                 $succeed[] = $allCats;
                 echo json_encode($succeed);
             }
             exit;
         }
         if (isset($_POST['DeleteCategory'])) {
             $TreeID = isset($_POST['TreeID']) ? $_POST['TreeID'] : '0-0-0';
             $parent_child = explode('-', $TreeID);
             $ParentID = isset($parent_child[0]) ? $parent_child[0] : 0;
             $SubParentID = isset($parent_child[1]) ? $parent_child[1] : 0;
             $ChildID = isset($parent_child[2]) ? $parent_child[2] : 0;
             $sqlDelete = false;
             if ($ParentID != 0 && $SubParentID == 0 && $ChildID == 0) {
                 #parent
                 $sqlDelete = $Categories->db->query("delete from ParentChildCategories where ParentID = {$ParentID}");
             } else {
                 if ($ParentID != 0 && $SubParentID != 0 && $ChildID == 0) {
                     #subparent
                     $sqlDelete = $Categories->db->query("delete from ParentChildCategories where ParentID = {$ParentID} and SubParentID = {$SubParentID}");
                 } else {
                     if ($ParentID != 0 && $SubParentID != 0 && $ChildID != 0) {
                         #child
                         $sqlDelete = $Categories->db->query("delete from ParentChildCategories where ParentID = {$ParentID} and SubParentID = {$SubParentID} and ChildID = {$ChildID}");
                     } else {
                         #delete orphan category
                         $rootCat = 0;
                         if ($ChildID != 0) {
                             $rootCat = $ChildID;
                         } else {
                             if ($SubParentID != 0) {
                                 $rootCat = $SubParentID;
                             } else {
                                 if ($ParentID != 0) {
                                     $rootCat = $ParentID;
                                 }
                             }
                         }
                         $sqlDelete = $Categories->db->query("delete from Category where ID = {$rootCat}");
                     }
                 }
             }
             $retVal = array();
             $retVal['msg'] = $sqlDelete ? "Category deleted!" : "Something went wrong. Please Reset and try again.";
             $retVal['allCats'] = array();
             $all_categories = $Categories->getData('Category', '', ' CustomOrder ASC, Name ASC ');
             foreach ($all_categories as $cat) {
                 $retVal['allCats'][] = array($cat['ID'], $cat['Name']);
             }
             echo json_encode($retVal);
             exit;
         }
     } else {
         $this->view->all_categories = $Categories->getData('Category', '', ' CustomOrder ASC, Name ASC ');
     }
 }