예제 #1
0
/**
 * Presenta un formulario para la creación de una nueva
 * categoría para los artículos
 */
function newForm($edit = 0)
{
    global $xoopsModule;
    if ($edit) {
        $id = isset($_GET['id']) ? $_GET['id'] : 0;
        if ($id <= 0) {
            redirectMsg('cats.php', __('You must provide a category ID to edit!', 'qpages'), 1);
            die;
        }
        // Cargamos la categoría
        $catego = new QPCategory($id);
        // Si no existe entonces devolvemos un error
        if ($catego->isNew()) {
            redirectMsg('cats.php', __('Specified category does not exists!', 'qpages'), 1);
            die;
        }
    }
    xoops_cp_location('<a href="./">' . $xoopsModule->name() . '</a> &raquo; ' . ($edit ? __('Edit Category', 'qpages') : __('New Category', 'qpages')));
    xoops_cp_header();
    $cats = array();
    qpArrayCategos($cats, 0, 0, $edit ? array($id) : 0);
    $form = new RMForm($edit ? __('Edit Category', 'qpages') : __('New Category', 'qpages'), 'frmNew', 'cats.php');
    $form->addElement(new RMFormText(__('Category name', 'qpages'), 'nombre', 50, 150, $edit ? $catego->getName() : ''), true);
    $form->addElement(new RMFormTextArea(__('Description', 'qpages'), 'descripcion', 5, 45, $edit ? $catego->getVar('descripcion', 'e') : ''));
    $ele = new RMFormSelect(__('Category parent', 'qpages'), 'parent');
    $ele->addOption(0, _SELECT, $edit ? $catego->getParent() == 0 ? 1 : 0 : 1);
    foreach ($cats as $k) {
        $ele->addOption($k['id_cat'], str_repeat("-", $k['saltos']) . ' ' . $k['nombre'], $edit ? $catego->getParent() == $k['id_cat'] ? 1 : 0 : 0);
    }
    $form->addElement($ele);
    $form->addElement(new RMFormHidden('op', $edit ? 'saveedit' : 'save'));
    if ($edit) {
        $form->addElement(new RMFormHidden('id', $id));
    }
    $ele = new RMFormButtonGroup('', ' ');
    $ele->addButton('sbt', $edit ? __('Update Category', 'qpages') : __('Create Category', 'qpages'), 'submit');
    $ele->addButton('cancel', __('Cancel', 'qpages'), 'button');
    $ele->setExtra('cancel', "onclick='history.go(-1);'");
    $form->addElement($ele);
    $form->display();
    xoops_cp_footer();
}