Пример #1
0
 function formulize_disableElement($element, $type, $ele_desc)
 {
     if ($type == "text" or $type == "textarea" or $type == "date" or $type == "colorpick") {
         $newElement = new xoopsFormElementTray($element->getCaption(), "\n");
         $newElement->setName($element->getName());
         switch ($type) {
             case 'date':
                 if ($timeval = $element->getValue()) {
                     if (is_string($timeval)) {
                         $timeval = strtotime($timeval);
                     }
                     $hiddenValue = date(_SHORTDATESTRING, $timeval);
                 } else {
                     $hiddenValue = "";
                 }
                 break;
             default:
                 // should work for all elements, since non-textbox type elements where the value would not be passed straight back, are handled differently at the time they are constructed
                 $hiddenValue = formulize_numberFormat($element->getValue(), $this->_ele->getVar('ele_handle'));
         }
         if (is_array($hiddenValue)) {
             // not sure when/if this would ever happen
             foreach ($hiddenValue as $value) {
                 $newElement->addElement(new xoopsFormHidden($element->getName() . "[]", $value));
                 unset($value);
             }
             $newElement->addElement(new xoopsFormLabel('', implode(", ", $hiddenValue)));
         } else {
             $newElement->addElement(new xoopsFormHidden($element->getName(), $hiddenValue));
             $newElement->addElement(new xoopsFormLabel('', $hiddenValue));
         }
         if (substr($element->getName(), 0, 9) != "desubform") {
             // we should consider not having a cue at all for any disabled elements, but we're not going to pull it out just yet...more investigation of this is necessary
             $newElement->addElement(new xoopsFormHidden("decue_" . trim($element->getName(), "de_"), 1));
         }
         $newElement->setDescription(html_entity_decode($ele_desc, ENT_QUOTES));
         return $newElement;
     } else {
         return $element;
     }
 }
Пример #2
0
function drawPageUI($pageNumber, $pageTitle, $elements, $conditions, $form, $options, $ops)
{
    // insert page here button
    $form->addElement(new xoopsFormButton('', 'insertpage' . $pageNumber, _AM_FORMULIZE_SCREEN_INSERTPAGE, 'submit'));
    // pageNumbers start at 0, since that's how the arrays are indexed, they start from zero
    // but whatever we show users must start at 1 (there is no page 0 as far as they are concerned), so we add one to make the visiblePageNumber
    $visiblePageNumber = $pageNumber + 1;
    // page title
    $pageTitleBox = new xoopsFormText(_AM_FORMULIZE_SCREEN_PAGETITLE . ' ' . $visiblePageNumber, 'pagetitle_' . $pageNumber, 50, 255, $pageTitle);
    $form->addElement($pageTitleBox, true);
    // elements
    $elementSelection = new xoopsFormSelect(_AM_FORMULIZE_SCREEN_A_PAGE . ' ' . $visiblePageNumber . '<br><br><input type=submit name=delete' . $pageNumber . ' value="' . _AM_FORMULIZE_DELETE_THIS_PAGE . '" onclick="javascript:return confirmDeletePage(\'' . $pageNumber . '\');">', 'page' . $pageNumber, $elements, 10, true);
    $elementSelection->addOptionArray($options);
    $form->addElement($elementSelection);
    // page conditions -- september 6 2007
    if (!isset($conditions['pagecons'])) {
        $conditionsYesNo = 'none';
    } else {
        $conditionsYesNo = $conditions['pagecons'];
    }
    $conditionsTray = new xoopsFormElementTray(_AM_FORMULIZE_SCREEN_CONS_PAGE . ' ' . $visiblePageNumber, '<br />');
    $conditionsTray->setDescription(_AM_FORMULIZE_SCREEN_CONS_HELP);
    $nocons = new xoopsFormRadio('', 'pagecons' . $pageNumber, $conditionsYesNo);
    $nocons->addOption('none', _AM_FORMULIZE_SCREEN_CONS_NONE);
    $conditionlist = "";
    foreach ($conditions['details']['elements'] as $conIndex => $elementValue) {
        $form->addElement(new xoopsFormHidden('pageelements' . $pageNumber . '[]', $elementValue));
        $form->addElement(new xoopsFormHidden('pageops' . $pageNumber . '[]', $conditions['details']['ops'][$conIndex]));
        $form->addElement(new xoopsFormHidden('pageterms' . $pageNumber . '[]', $conditions['details']['terms'][$conIndex]));
        $conditionlist .= $options[$conditions['details']['elements'][$conIndex]] . " " . $conditions['details']['ops'][$conIndex] . " " . $conditions['details']['terms'][$conIndex] . "<br />";
    }
    // setup the operator boxes...
    $opterm = new xoopsFormElementTray('', "&nbsp;&nbsp;");
    $element = new xoopsFormSelect('', 'pageelements' . $pageNumber . '[]');
    $element->setExtra("onfocus=\"javascript:window.document.editscreenform.pagecons" . $pageNumber . "[1].checked=true\"");
    $element->addOptionArray($options);
    $op = new xoopsFormSelect('', 'pageops' . $pageNumber . '[]');
    $op->addOptionArray($ops);
    $op->setExtra("onfocus=\"javascript:window.document.editscreenform.pagecons" . $pageNumber . "[1].checked=true\"");
    $term = new xoopsFormText('', 'pageterms' . $pageNumber . '[]', 10, 255);
    $term->setExtra("onfocus=\"javascript:window.document.editscreenform.pagecons" . $pageNumber . "[1].checked=true\"");
    $opterm->addElement($element);
    $opterm->addElement($op);
    $opterm->addElement($term);
    $addcon = new xoopsFormButton('', 'addcon', _AM_FORMULIZE_SCREEN_CONS_ADDCON, 'submit');
    $addcon->setExtra("onfocus=\"javascript:window.document.editscreenform.pagecons" . $pageNumber . "[1].checked=true\"");
    $conditionui = "<br />{$conditionlist}<nobr>" . $opterm->render() . "</nobr><br />" . $addcon->render();
    $yescons = new xoopsFormRadio('', 'pagecons' . $pageNumber, $conditionsYesNo);
    $yescons->addOption('yes', _AM_FORMULIZE_SCREEN_CONS_YES . $conditionui);
    $conditionsTray->addElement($nocons);
    $conditionsTray->addElement($yescons);
    $form->addElement($conditionsTray);
    return $form;
}