function adminSave($element, $ele_value)
 {
     $changed = false;
     list($indexId, $ele_uitext) = formulize_extractUIText($_POST['ele_value']);
     foreach ($indexId as $id => $text) {
         if ($text !== "") {
             $ele_value[$text] = isset($_POST['defaultoption'][$id]) ? 1 : 0;
         }
     }
     $element->setVar('ele_value', $ele_value);
     if ($_POST['element_delimit']) {
         if ($_POST['element_delimit'] == "custom") {
             $element->setVar('ele_delim', $_POST['element_delim_custom']);
         } else {
             $element->setVar('ele_delim', $_POST['element_delimit']);
         }
     }
     if (isset($_POST['changeuservalues']) and $_POST['changeuservalues'] == 1) {
         include_once XOOPS_ROOT_PATH . "/modules/formulize/class/data.php";
         $fid = $element->getVar('id_form');
         $data_handler = new formulizeDataHandler($fid);
         $newValues = $element->getVar('ele_value');
         $ele_id = $element->getVar('ele_id');
         if (!($changeResult = $data_handler->changeUserSubmittedValues($ele_id, $newValues))) {
             print "Error updating user submitted values for the options in element {$ele_id}";
         }
     }
     return $changed;
 }
    }
}
// check to see if we should be reassigning user submitted values, and if so, trap the old ele_value settings, and the new ones, and then pass off the job to the handling function that does that change
if (isset($_POST['changeuservalues']) and $_POST['changeuservalues'] == 1) {
    include_once XOOPS_ROOT_PATH . "/modules/formulize/class/data.php";
    $data_handler = new formulizeDataHandler($fid);
    switch ($ele_type) {
        case "radio":
        case "check":
            $newValues = $processedValues['elements']['ele_value'];
            break;
        case "select":
            $newValues = $processedValues['elements']['ele_value'][2];
            break;
    }
    if (!($changeResult = $data_handler->changeUserSubmittedValues($ele_id, $newValues))) {
        print "Error updating user submitted values for the options in element {$ele_id}";
    }
}
/**newly added for autocomplete box to make sure when {USERNAMES} and {FULLNAMES} are selected, system will not allow new entries to be added
*ele_value[8] ==1 will make sure it's an autocomplete box
*ele_value[16]=0 means say no match found,
*	       1 means add as new entry.
*
*when $processedValues['elements']['ele_value'][2]['{USERNAMES}'] = 1, that means this one is checked;
*	if it's 0, then it's not checked
*							
*this also applys in database: "{USERNAMES}";i:1; as selected;
*			       "{USERNAMES}";i:0; for not selected.
*
*you can use those lines to check the value. 
 function adminSave($element, $ele_value)
 {
     $changed = false;
     if (isset($_POST['formlink']) and $_POST['formlink'] != "none") {
         global $xoopsDB;
         $sql_link = "SELECT ele_caption, id_form, ele_handle FROM " . $xoopsDB->prefix("formulize") . " WHERE ele_id = " . intval($_POST['formlink']);
         $res_link = $xoopsDB->query($sql_link);
         $array_link = $xoopsDB->fetchArray($res_link);
         $ele_value[2] = $array_link['id_form'] . "#*=:*" . $array_link['ele_handle'];
     } else {
         $ele_value[2] = array();
         list($_POST['ele_value'], $ui_text) = formulize_extractUIText($_POST['ele_value']);
         foreach ($_POST['ele_value'] as $id => $text) {
             if ($text !== "") {
                 $ele_value[2][$text] = isset($_POST['defaultoption'][$id]) ? 1 : 0;
             }
         }
         $element->setVar('ui_text', $ui_text);
     }
     $ele_value[8] = 0;
     if ($_POST['elements_listordd'] == 2) {
         $ele_value[0] = 1;
         $ele_value[8] = 1;
     } else {
         if ($_POST['elements_listordd']) {
             $ele_value[0] = $ele_value[0] > 1 ? intval($ele_value[0]) : 1;
         } else {
             $ele_value[0] = 1;
         }
     }
     $ele_value[1] = $_POST['elements_multiple'];
     $ele_value[3] = implode(",", $_POST['element_formlink_scope']);
     // handle conditions
     // grab any conditions for this page too
     // add new ones to what was passed from before
     $filter_key = 'formlinkfilter';
     if ($_POST["new_" . $filter_key . "_term"] != "") {
         $_POST[$filter_key . "_elements"][] = $_POST["new_" . $filter_key . "_element"];
         $_POST[$filter_key . "_ops"][] = $_POST["new_" . $filter_key . "_op"];
         $_POST[$filter_key . "_terms"][] = $_POST["new_" . $filter_key . "_term"];
         $_POST[$filter_key . "_types"][] = "all";
     }
     if ($_POST["new_" . $filter_key . "_oom_term"] != "") {
         $_POST[$filter_key . "_elements"][] = $_POST["new_" . $filter_key . "_oom_element"];
         $_POST[$filter_key . "_ops"][] = $_POST["new_" . $filter_key . "_oom_op"];
         $_POST[$filter_key . "_terms"][] = $_POST["new_" . $filter_key . "_oom_term"];
         $_POST[$filter_key . "_types"][] = "oom";
     }
     // then remove any that we need to
     $conditionsDeleteParts = explode("_", $_POST['optionsconditionsdelete']);
     $deleteTarget = $conditionsDeleteParts[1];
     if ($_POST['optionsconditionsdelete']) {
         // go through the passed filter settings starting from the one we need to remove, and shunt the rest down one space
         // need to do this in a loop, because unsetting and key-sorting will maintain the key associations of the remaining high values above the one that was deleted
         $originalCount = count($_POST[$filter_key . "_elements"]);
         for ($i = $deleteTarget; $i < $originalCount; $i++) {
             // 2 is the X that was clicked for this page
             if ($i > $deleteTarget) {
                 $_POST[$filter_key . "_elements"][$i - 1] = $_POST[$filter_key . "_elements"][$i];
                 $_POST[$filter_key . "_ops"][$i - 1] = $_POST[$filter_key . "_ops"][$i];
                 $_POST[$filter_key . "_terms"][$i - 1] = $_POST[$filter_key . "_terms"][$i];
                 $_POST[$filter_key . "_types"][$i - 1] = $_POST[$filter_key . "_types"][$i];
             }
             if ($i == $deleteTarget or $i + 1 == $originalCount) {
                 // first time through or last time through, unset things
                 unset($_POST[$filter_key . "_elements"][$i]);
                 unset($_POST[$filter_key . "_ops"][$i]);
                 unset($_POST[$filter_key . "_terms"][$i]);
                 unset($_POST[$filter_key . "_types"][$i]);
             }
         }
     }
     if (count($_POST[$filter_key . "_elements"]) > 0) {
         $ele_value[5][0] = $_POST[$filter_key . "_elements"];
         $ele_value[5][1] = $_POST[$filter_key . "_ops"];
         $ele_value[5][2] = $_POST[$filter_key . "_terms"];
         $ele_value[5][3] = $_POST[$filter_key . "_types"];
     } else {
         $ele_value[5] = "";
     }
     $element->setVar('ele_value', $ele_value);
     if (isset($_POST['changeuservalues']) and $_POST['changeuservalues'] == 1) {
         include_once XOOPS_ROOT_PATH . "/modules/formulize/class/data.php";
         $fid = $element->getVar('id_form');
         $data_handler = new formulizeDataHandler($fid);
         $newValues = $element->getVar('ele_value');
         $ele_id = $element->getVar('ele_id');
         if (!($changeResult = $data_handler->changeUserSubmittedValues($ele_id, $newValues))) {
             print "Error updating user submitted values for the options in element {$ele_id}";
         }
     }
     return $changed;
 }