function execute($request) { // Ticket Check if (!$GLOBALS['xoopsGTicket']->check(true, 'pico')) { redirect_header(XOOPS_URL . '/', 3, $GLOBALS['xoopsGTicket']->getErrors()); } parent::execute($request); // initialize $this->cat_id = $request['cat_id']; // $categoryObj (not parent) $picoPermission =& PicoPermission::getInstance(); $categoryObj = new PicoCategory($this->mydirname, $request['cat_id'], $picoPermission->getPermissions($this->mydirname)); // check existence if ($categoryObj->isError()) { redirect_header(XOOPS_URL . "/modules/{$this->mydirname}/index.php", 2, _MD_PICO_ERR_READCONTENT); exit; } $cat_data = $categoryObj->getData(); // permission check if (empty($cat_data['isadminormod'])) { redirect_header(XOOPS_URL . '/', 2, _MD_PICO_ERR_CATEGORYMANAGER); } // insert a category pico_updatecategory($this->mydirname, $this->cat_id); // view $this->is_need_header_footer = false; }
function execute($request) { // Ticket Check if (!$GLOBALS['xoopsGTicket']->check(true, 'pico')) { redirect_header(XOOPS_URL . '/', 3, $GLOBALS['xoopsGTicket']->getErrors()); } parent::execute($request); // $categoryObj (not parent) $picoPermission =& PicoPermission::getInstance(); $categoryObj = new PicoCategory($this->mydirname, $request['cat_id'], $picoPermission->getPermissions($this->mydirname)); // check existence if ($categoryObj->isError()) { redirect_header(XOOPS_URL . "/modules/{$this->mydirname}/index.php", 2, _MD_PICO_ERR_READCONTENT); exit; } $cat_data = $categoryObj->getData(); // permission check if (empty($cat_data['isadminormod'])) { redirect_header(XOOPS_URL . '/', 2, _MD_PICO_ERR_CATEGORYMANAGER); } // cat_id != 0 check if ($cat_data['id'] == 0) { // LANGTD redirect_header(XOOPS_URL . '/', 2, 'top category cannot be deleted'); } // children check if (count($cat_data['redundants']['subcattree_raw']) > 0) { // LANGTD redirect_header(XOOPS_URL . '/', 2, 'child categories exist'); } // delete transaction pico_delete_category($this->mydirname, $request['cat_id']); // view $this->is_need_header_footer = false; }
require_once dirname(dirname(__FILE__)) . '/include/common_functions.php'; require_once dirname(dirname(__FILE__)) . '/class/pico.textsanitizer.php'; require_once dirname(dirname(__FILE__)) . '/class/PicoUriMapper.class.php'; require_once dirname(dirname(__FILE__)) . '/class/PicoPermission.class.php'; require_once dirname(dirname(__FILE__)) . '/class/PicoModelCategory.class.php'; require_once dirname(dirname(__FILE__)) . '/class/PicoModelContent.class.php'; require_once XOOPS_TRUST_PATH . '/libs/altsys/class/AltsysBreadcrumbs.class.php'; // breadcrumbs $breadcrumbsObj =& AltsysBreadcrumbs::getInstance(); $breadcrumbsObj->appendPath(XOOPS_URL . '/modules/' . $mydirname . '/index.php', $xoopsModule->getVar('name')); // permissions $picoPermission =& PicoPermission::getInstance(); $permissions = $picoPermission->getPermissions($mydirname); // current category object (this "current" means "parent" $currentCategoryObj = new PicoCategory($mydirname, intval(@$_REQUEST['pid']), $permissions); if ($currentCategoryObj->isError()) { redirect_header(XOOPS_URL . "/modules/{$mydirname}/index.php", 2, _MD_PICO_ERR_READCATEGORY); exit; } // override $xoopsModuleConfig $xoopsModuleConfig = $currentCategoryObj->getOverriddenModConfig(); // append paths from each categories into breadcrumbs $breadcrumbsObj->appendPath($currentCategoryObj->getBreadcrumbs()); // request $picoRequest = array(); $picoRequest['makecategory'] = true; $picoRequest['cat_id'] = -1; if (!empty($_POST['categoryman_post'])) { $controller_class = 'PicoControllerInsertCategory'; } else { $controller_class = 'PicoControllerEditCategory';
function execute($request) { parent::execute($request); // makecategory/categorymanager $page = empty($request['makecategory']) ? 'categorymanager' : 'makecategory'; // $categoryObj (not parent) $picoPermission =& PicoPermission::getInstance(); $categoryObj = new PicoCategory($this->mydirname, $request['cat_id'], $picoPermission->getPermissions($this->mydirname), $page == 'makecategory', $this->currentCategoryObj); // check existence if ($categoryObj->isError()) { redirect_header(XOOPS_URL . "/modules/{$this->mydirname}/index.php", 2, _MD_PICO_ERR_READCONTENT); exit; } // fetch data from DB $cat_data = $categoryObj->getData(); $this->assign['category_base'] = $categoryObj->getData4html(true); $this->categoryObjs['category_base'] =& $categoryObj; $this->assign['category'] = $categoryObj->getData4edit(); // permission check if ($page == 'makecategory') { $pcat_data = $this->currentCategoryObj->getData(); if (empty($pcat_data['can_makesubcategory'])) { redirect_header(XOOPS_URL . '/', 2, _MD_PICO_ERR_CREATECATEGORY); } } else { if (empty($cat_data['isadminormod'])) { redirect_header(XOOPS_URL . '/', 2, _MD_PICO_ERR_CATEGORYMANAGEMENT); } } // category list can be read for category jumpbox etc. $categoryHandler = new PicoCategoryHandler($this->mydirname, $this->permissions); $categories = $categoryHandler->getAllCategories(); $this->assign['categories_can_post'] = array(); foreach ($categories as $tmpObj) { $tmp_data = $tmpObj->getData(); if (empty($tmp_data['can_makesubcategory'])) { continue; } $this->assign['categories_can_makesubcategory'][$tmp_data['id']] = str_repeat('--', $tmp_data['cat_depth_in_tree']) . $tmp_data['cat_title']; } // breadcrumbs $breadcrumbsObj =& AltsysBreadcrumbs::getInstance(); if ($page == 'makecategory') { $breadcrumbsObj->appendPath('', _MD_PICO_LINK_MAKECATEGORY); $this->assign['xoops_pagetitle'] = _MD_PICO_LINK_MAKECATEGORY; } else { // $breadcrumbsObj->appendPath( XOOPS_URL.'/modules/'.$this->mydirname.'/'.$this->assign['category']['link'] , $this->assign['category']['title'] ) ; $breadcrumbsObj->appendPath('', _MD_PICO_CATEGORYMANAGER); $this->assign['xoops_pagetitle'] = _MD_PICO_CATEGORYMANAGER; } $this->assign['xoops_breadcrumbs'] = $breadcrumbsObj->getXoopsbreadcrumbs(); // misc assigns $this->assign['page'] = $page; $this->assign['formtitle'] = $page == 'makecategory' ? _MD_PICO_LINK_MAKECATEGORY : _MD_PICO_CATEGORYMANAGER; $this->assign['gticket_hidden'] = $GLOBALS['xoopsGTicket']->getTicketHtml(__LINE__, 1800, 'pico'); $this->assign['category']['option_desc'] = $this->getCategoryOptions4edit(); $this->assign['category']['wraps_directories'] = array('' => '---') + pico_main_get_wraps_directories_recursively($this->mydirname, '/'); // views $this->template_name = $this->mydirname . '_main_category_form.html'; $this->is_need_header_footer = true; }