function adminPrepare($element)
 {
     $config_handler = $config_handler =& xoops_gethandler('config');
     $formulizeConfig =& $config_handler->getConfigsByCat(0, getFormulizeModId());
     $member_handler = xoops_gethandler('member');
     $element_handler = xoops_getmodulehandler('elements', 'formulize');
     $allGroups = $member_handler->getGroups();
     $groups = array();
     foreach ($allGroups as $thisGroup) {
         $formlinkGroups[$thisGroup->getVar('groupid')] = $thisGroup->getVar('name');
     }
     $ele_value = array();
     $ele_uitext = "";
     $listordd = 0;
     $multiple = 0;
     $islinked = 0;
     $formlink_scope = array(0 => 'all');
     if (!$element) {
         $ele_value[0] = 6;
         //rows
         $ele_value[1] = 0;
         //multiple selections not allowed
         $ele_value[2] = array();
         $ele_value[4] = 0;
         $ele_value[5] = array();
         $ele_value[6] = 0;
         $ele_value[7] = 0;
         $ele_value[8] = 0;
         $ele_value[9] = 0;
         // Index 10-13 initialized to -1 since these pertains to element ID
         $ele_value[10] = -1;
         $ele_value[11] = -1;
         $ele_value[12] = -1;
         $ele_value[13] = -1;
         $ele_value[14] = 0;
         $ele_value[15] = 1;
     } else {
         $ele_value = $element->getVar('ele_value');
         $ele_uitext = $element->getVar('ele_uitext');
         if ($ele_value[0] == 1 and $ele_value[8] !== 1) {
             $listordd = 0;
         } elseif ($ele_value[0] !== 1 and $ele_value[8] !== 1) {
             $listordd = 1;
         } else {
             $listordd = 2;
         }
         $multiple = $ele_value[1];
         if (!is_array($ele_value[2])) {
             $isLinked = 1;
         } else {
             $isLinked = 0;
         }
         $formlink_scope = explode(",", $ele_value[3]);
     }
     $useroptions = formulize_mergeUIText($ele_value[2], $ele_uitext);
     list($formlink, $selectedLinkElementId) = createFieldList($ele_value[2]);
     $linkedoptions = $formlink->render();
     // setup the list value and export value option lists, and the default sort order list, and the list of possible default values
     $listValue = "";
     $exportValue = "";
     $optionSortOrder = "";
     $optionDefaultSelection = "";
     $optionDefaultSelectionDefaults = "";
     if ($islinked) {
         $linkedMetaDataParts = explode("#*=:*", $ele_value[2]);
         $linkedSourceFid = $linkedMetaDataParts[0];
         if ($linkedSourceFid) {
             list($listValue, $selectedListValue) = createFieldList($ele_value[10], false, $linkedSourceFid, "elements-ele_value[10]", _AM_ELE_LINKSELECTEDABOVE);
             $listValue = $listValue->render();
             list($exportValue, $selectedExportValue) = createFieldList($ele_value[11], false, $linkedSourceFid, "elements-ele_value[11]", _AM_ELE_VALUEINLIST);
             $exportValue = $exportValue->render();
             list($optionSortOrder, $selectedOptionsSortOrder) = createFieldList($ele_value[12], false, $linkedSourceFid, "elements-ele_value[12]", _AM_ELE_LINKFIELD_ITSELF);
             $optionSortOrder = $optionSortOrder->render();
             include_once XOOPS_ROOT_PATH . "/modules/formulize/class/data.php";
             $linkedDataHandler = new formulizeDataHandler($linkedSourceFid);
             $allLinkedValues = $linkedDataHandler->findAllValuesForField($linkedMetaDataParts[1], "ASC");
             if (!is_array($ele_value[13])) {
                 $ele_value[13] = array($ele_value[13]);
             }
             $optionDefaultSelectionDefaults = $ele_value[13];
             $optionDefaultSelection = $allLinkedValues;
             // array with keys as entry ids and values as text
         }
     }
     // setup group list:
     $formlink_scope_options = array('all' => _AM_ELE_FORMLINK_SCOPE_ALL) + $formlinkGroups;
     // setup conditions:
     $selectedLinkFormId = "";
     if (isset($ele_value[2]['{FULLNAMES}']) or isset($ele_value[2]['{USERNAMES}'])) {
         if ($formulizeConfig['profileForm']) {
             $selectedLinkFormId = $formulizeConfig['profileForm'];
         }
     }
     if ($selectedLinkElementId) {
         $selectedElementObject = $element_handler->get($selectedLinkElementId);
         if ($selectedElementObject) {
             $formlinkfilter = formulize_createFilterUI($ele_value[5], "formlinkfilter", $selectedElementObject->getVar('id_form'), "form-2");
         }
     } elseif ($selectedLinkFormId) {
         // if usernames or fullnames is in effect, we'll have the profile form fid instead
         $formlinkfilter = formulize_createFilterUI($ele_value[5], "formlinkfilter", $selectedLinkFormId, "form-2");
     }
     if (!$formlinkfilter) {
         $formlinkfilter = "<p>The options are not linked.</p>";
     }
     return array('listordd' => $listordd, 'multiple' => $multiple, 'islinked' => $islinked, 'formlink_scope' => $formlink_scope, 'formlink_scope_options' => $formlink_scope_options, 'formlinkfilter' => $formlinkfilter, 'optionSortOrder' => $optionSortOrder, 'optionDefaultSelection' => $optionDefaultSelection, 'optionDefaultSelectionDefaults' => $optionDefaultSelectionDefaults, 'listValue' => $listValue, 'exportValue' => $exportValue, 'ele_value' => $ele_value, 'useroptions' => $useroptions);
 }
Ejemplo n.º 2
0
         // list of elements to display when showing this element as an html form element (in form or list screens)
         list($displayElements, $selectedListValue) = createFieldList($ele_value[EV_MULTIPLE_FORM_COLUMNS], false, $linkedSourceFid, "elements-ele_value[" . EV_MULTIPLE_FORM_COLUMNS . "]", _AM_ELE_LINKSELECTEDABOVE, true);
         $displayElements->setValue($ele_value[EV_MULTIPLE_FORM_COLUMNS]);
         // mark the current selections in the form element
         $options['displayElements'] = $displayElements->render();
         // list of elements to export to spreadsheet
         list($exportValue, $selectedExportValue) = createFieldList($ele_value[EV_MULTIPLE_SPREADSHEET_COLUMNS], false, $linkedSourceFid, "elements-ele_value[" . EV_MULTIPLE_SPREADSHEET_COLUMNS . "]", _AM_ELE_VALUEINLIST, true);
         $exportValue->setValue($ele_value[EV_MULTIPLE_SPREADSHEET_COLUMNS]);
         // mark the current selections in the form element
         $options['exportValue'] = $exportValue->render();
         // sort order
         list($optionSortOrder, $selectedOptionsSortOrder) = createFieldList($ele_value[12], false, $linkedSourceFid, "elements-ele_value[12]", _AM_ELE_LINKFIELD_ITSELF);
         $options['optionSortOrder'] = $optionSortOrder->render();
         include_once XOOPS_ROOT_PATH . "/modules/formulize/class/data.php";
         $linkedDataHandler = new formulizeDataHandler($linkedSourceFid);
         $allLinkedValues = $linkedDataHandler->findAllValuesForField($linkedMetaDataParts[1], "ASC");
         if (!is_array($ele_value[13])) {
             $ele_value[13] = array($ele_value[13]);
         }
         $options['optionDefaultSelectionDefaults'] = $ele_value[13];
         $options['optionDefaultSelection'] = $allLinkedValues;
         // array with keys as entry ids and values as text
     }
 }
 if (!$options['islinked'] or !$linkedSourceFid) {
     $options['exportValue'] = "";
     $options['listValue'] = "";
     $options['optionSortOrder'] = "";
     $options['optionDefaultSelectionDefaults'] = array();
     $options['optionDefaultSelection'] = "";
 }
            include_once XOOPS_ROOT_PATH . "/modules/formulize/class/data.php";
            $data_handler = new formulizeDataHandler($element->getVar('id_form'));
            if (!$data_handler->convertCheckboxDataToRadio($element)) {
                print "Error: " . _AM_ELE_RADIO_DATA_NOT_READY;
            }
        }
    } elseif ($ele_type == "select") {
        $element->setVar('ele_type', 'checkbox');
        $old_ele_value = $element->getVar('ele_value');
        if ($element->isLinked) {
            // get all the source values, and make an array of those...ignore filters and so on
            $boxproperties = explode("#*=:*", $old_ele_value[2]);
            $sourceFid = $boxproperties[0];
            $sourceHandle = $boxproperties[1];
            $data_handler = new formulizeDataHandler($sourceFid);
            $options = $data_handler->findAllValuesForField($sourceHandle, "ASC");
            foreach ($options as $option) {
                $new_ele_value[$option] = 0;
            }
        } else {
            $new_ele_value = $old_ele_value[2];
        }
        $element->setVar('ele_value', $new_ele_value);
        $element->setVar('ele_delim', 'br');
        if (!$element_handler->insert($element)) {
            print "Error: could not complete conversion of the element";
        }
    }
}
if ($_POST['deleteelement']) {
    $element = $element_handler->get($_POST['deleteelement']);