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; } }
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('', " "); $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; }