<?php 
/* 
 * You may not change or alter any portion of this comment or credits 
 * of supporting developers from this source code or any supporting source code 
 * which is considered copyrighted (c) material of the original comment or credit authors. 
 * 
 * This program is distributed in the hope that it will be useful, 
 * but WITHOUT ANY WARRANTY; without even the implied warranty of 
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 
 */ 
 
/** 
 * @copyright      {@link http://xoops.org/ XOOPS Project} 
 * @license        {@link http://www.gnu.org/licenses/gpl-2.0.html GNU GPL 2 or later} 
 * @package 
 * @since 
 * @author         XOOPS Development Team 
 */ 
 
include_once __DIR__ . '/admin_header.php'; 
xoops_cp_header(); 
$indexAdmin = new ModuleAdmin(); 
 
$indexAdmin->addItemButton(_ADD . ' ' . _PROFILE_AM_CATEGORY, 'category.php?op=new', 'add', ''); 
 
echo $indexAdmin->addNavigation(basename(__FILE__)); 
echo $indexAdmin->renderButton('right', ''); 
 
$op = isset($_REQUEST['op']) ? $_REQUEST['op'] : (isset($_REQUEST['id']) ? 'edit' : 'list'); 
 
/* @var ProfileCategoryHandler $handler */ 
$handler = xoops_getModuleHandler('category'); 
switch ($op) { 
    default: 
    case 'list': 
        $criteria = new CriteriaCompo(); 
        $criteria->setSort('cat_weight'); 
        $criteria->setOrder('ASC'); 
        $GLOBALS['xoopsTpl']->assign('categories', $handler->getObjects($criteria, true, false)); 
        $template_main = 'profile_admin_categorylist.tpl'; 
        break; 
 
    case 'new': 
        include_once dirname(__DIR__) . '/include/forms.php'; 
        $obj  = $handler->create(); 
        $form = $obj->getForm(); 
        $form->display(); 
        break; 
 
    case 'edit': 
        include_once dirname(__DIR__) . '/include/forms.php'; 
        $obj  = $handler->get($_REQUEST['id']); 
        $form = $obj->getForm(); 
        $form->display(); 
        break; 
 
    case 'save': 
        if (!$GLOBALS['xoopsSecurity']->check()) { 
            redirect_header('category.php', 3, implode(',', $GLOBALS['xoopsSecurity']->getErrors())); 
        } 
        if (isset($_REQUEST['id'])) { 
            $obj = $handler->get($_REQUEST['id']); 
        } else { 
            $obj = $handler->create(); 
        } 
        $obj->setVar('cat_title', $_REQUEST['cat_title']); 
        $obj->setVar('cat_description', $_REQUEST['cat_description']); 
        $obj->setVar('cat_weight', $_REQUEST['cat_weight']); 
        if ($handler->insert($obj)) { 
            redirect_header('category.php', 3, sprintf(_PROFILE_AM_SAVEDSUCCESS, _PROFILE_AM_CATEGORY)); 
        } 
        include_once dirname(__DIR__) . '/include/forms.php'; 
        echo $obj->getHtmlErrors(); 
        /* @var  XoopsThemeForm $form */ 
        $form = $obj->getForm(); 
        $form->display(); 
        break; 
 
    case 'delete': 
        $obj = $handler->get($_REQUEST['id']); 
        if (isset($_REQUEST['ok']) && $_REQUEST['ok'] == 1) { 
            if (!$GLOBALS['xoopsSecurity']->check()) { 
                redirect_header('category.php', 3, implode(',', $GLOBALS['xoopsSecurity']->getErrors())); 
            } 
            if ($handler->delete($obj)) { 
                redirect_header('category.php', 3, sprintf(_PROFILE_AM_DELETEDSUCCESS, _PROFILE_AM_CATEGORY)); 
            } else { 
                echo $obj->getHtmlErrors(); 
            } 
        } else { 
            xoops_confirm(array( 
                              'ok' => 1, 
                              'id' => $_REQUEST['id'], 
                              'op' => 'delete'), $_SERVER['REQUEST_URI'], sprintf(_PROFILE_AM_RUSUREDEL, $obj->getVar('cat_title'))); 
        } 
        break; 
} 
if (isset($template_main)) { 
    $GLOBALS['xoopsTpl']->display("db:{$template_main}"); 
} 
include_once __DIR__ . '/admin_footer.php'; 
 
 |