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;
 }
Esempio n. 3
0
 function pico_notify_base($mydirname, $category, $item_id)
 {
     include_once dirname(__FILE__) . '/include/common_functions.php';
     $db =& Database::getInstance();
     $module_handler =& xoops_gethandler('module');
     $module =& $module_handler->getByDirname($mydirname);
     $picoPermission =& PicoPermission::getInstance();
     $permissions = $picoPermission->getPermissions($mydirname);
     // global
     if ($category == 'global') {
         $item['name'] = '';
         $item['url'] = '';
     }
     // category
     if ($category == 'category') {
         // Assume we have a valid cat_id
         $cat_id = intval($item_id);
         $currentCategoryObj = new PicoCategory($mydirname, intval($cat_id), $permissions);
         $cat_data = $currentCategoryObj->getData();
         if (!$cat_data['can_read']) {
             return false;
         }
         $category4assign = $currentCategoryObj->getData4html();
         // $item should be assigned HTML escaped data
         $item['name'] = $category4assign['cat_title'];
         $item['url'] = XOOPS_URL . '/modules/' . $module->getVar('dirname') . '/' . $category4assign['link'];
     }
     // content
     if ($category == 'content') {
         // Assume we have a valid content_id
         $content_id = intval($item_id);
         $cat_id = pico_common_get_cat_id_from_content_id($mydirname, $content_id);
         $currentCategoryObj = new PicoCategory($mydirname, intval($cat_id), $permissions);
         $cat_data = $currentCategoryObj->getData();
         if (!$cat_data['can_read']) {
             return false;
         }
         $contentObj = new PicoContent($mydirname, $content_id, $currentCategoryObj);
         $content4assign = $contentObj->getData4html();
         if (!$content4assign['can_read']) {
             return false;
         }
         // $item should be assigned HTML escaped data
         $item['name'] = $content4assign['subject'];
         $item['url'] = XOOPS_URL . '/modules/' . $module->getVar('dirname') . '/' . $content4assign['link'];
     }
     return $item;
 }
Esempio n. 4
0
require_once dirname(dirname(__FILE__)) . '/include/main_functions.php';
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 {
 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;
 }