コード例 #1
0
ファイル: pages.php プロジェクト: laiello/bitcero-modules
/**
 * Muestra el formulario para la creación de un nuevo artículo
 */
function newForm($edit = 0, $redir = false)
{
    global $db, $mc, $xoopsModule, $myts, $util;
    foreach ($_REQUEST as $k => $v) {
        ${$k} = $v;
    }
    $page = isset($page) ? $page : 1;
    if ($edit) {
        $id = isset($_REQUEST['id']) ? $_REQUEST['id'] : 0;
        if ($id <= 0) {
            redirectMsg("pages.php?cat={$cat}&page={$page}", __('You must provide a page ID to edit!', 'qpages'), 1);
            die;
        }
        $page = new QPPage($id);
    }
    RMTemplate::get()->add_script('../include/js/forms_pages.js');
    xoops_cp_location('<a href="./">' . $xoopsModule->name() . '</a> &raquo; ' . ($edit ? __('Edit page', 'qpages') : __('New page', 'qpages')));
    xoops_cp_header();
    $form = new RMForm($edit ? __('Edit Page', 'qpages') : __('New Page', 'qpages'), 'frmNew', 'pages.php');
    $form->styles('width: 25%;', 'odd');
    $form->addElement(new RMFormText(__('Page title', 'qpages'), 'titulo', 50, 255, $edit ? $page->getTitle() : ''), true);
    if ($edit) {
        $ele = new RMFormText(__('Friendly title', 'qpages'), 'titulo_amigo', 50, 255, $page->getFriendTitle());
        $ele->setDescription(__('Specify a title to use in friendly urls. Remember, this title must not contain any blank space or special char, only numbers or letters.'));
        $form->addElement($ele);
        $form->addElement(new RMFormHidden('id', $page->getID()));
    }
    $ele = new RMFormSelect(__('Category', 'qpages'), 'catego', 0);
    $categos = array();
    qpArrayCategos($categos);
    $ele->addOption('0', __('Select category...', 'qpages'), $edit ? 0 : 1);
    foreach ($categos as $k) {
        $ele->addOption($k['id_cat'], str_repeat("-", $k['saltos']) . " " . $k['nombre'], $edit ? $k['id_cat'] == $page->getCategory() ? 1 : 0 : 0);
    }
    $form->addElement($ele, true, "Select:0");
    $form->addElement(new RMFormTextArea(__('Introduction', 'qpages'), 'desc', 5, 60, $edit ? $page->getVar('desc', 'e') : ''));
    $ele = new RMFormEditor(__('Page content', 'qpages'), 'texto', '100%', '450px', $edit ? $page->getText() : '');
    $form->addElement($ele, true);
    if ($edit) {
        $html = $page->html();
        $xcode = $page->xcode();
        $br = $page->br();
        $image = $page->image();
        $smiley = $page->smiley();
    } else {
        $html = 1;
        $xcode = 0;
        $br = 0;
        $image = 0;
        $smiley = 1;
    }
    $form->addElement(new RMFormTextOptions(__('Text options', 'qpages'), $html, $xcode, $image, $smiley, $br));
    // Grupos
    $ele = new RMFormGroups(__('Allowed groups', 'qpages'), 'grupos', 1, 1, 3, $edit ? $page->getGroups() : array(0));
    $ele->setDescription(__('These groups can access and read page content.', 'qpages'));
    $form->addElement($ele);
    $ele = new RMFormRadio(__('Status', 'qpages'), 'acceso', 1);
    $ele->addOption(__('Public', 'qpages'), '1', $edit ? $page->getAccess() ? 1 : 0 : 0);
    $ele->addOption(__('Draft', 'qpages'), '0', $edit ? $page->getAccess() ? 0 : 1 : 1);
    $form->addElement($ele);
    $page_metas = $edit ? $page->get_meta() : array();
    $available_metas = qp_get_metas();
    include 'metas.php';
    $form->addElement(new RMFormLabel(__('Custom Fields', 'qpages'), $meta_data));
    $ele = new RMFormButtonGroup();
    $ele->addButton('sbt', $edit ? __('Update Page', 'qpages') : __('Save Page', 'qpages'), 'submit');
    $ele->addButton('cancel', __('Cancel', 'qpages'), 'button', 'onclick="history.go(-1);"');
    $form->addElement($ele);
    $form->addElement(new RMFormHidden('op', $edit ? 'saveedit' : 'save'));
    $form->addElement(new RMFormHidden('type', 0));
    $form->addElement(new RMFormHidden('cat', $cat));
    $form->addElement(new RMFormHidden('page', $page));
    $form->display();
    xoops_cp_footer();
}