/** * Handle registration of search prefs * * Handles registration of default values for most form elements based * on the prefs array (a combination of defaults, saved user prefs, and * any posted form values we might have). * * The elements that are handled are singleton elements and any * static option lists in the html. Lists generated from a DB query are * handled when the list html is created. * * @param vB_Template $template The main search display template * @param array $prefs The array of prefs to process. */ function search_intro_register_prefs($template, $prefs) { // now check appropriate boxes, select menus etc... $formdata = array(); if ($prefs) { foreach ($prefs AS $varname => $value) { //skip array types. Assume they are handled when the picklist is generated. if (is_array($value)) { continue; } $formdata["$varname"] = htmlspecialchars_uni($value); $formdata[$varname . 'checked'] = array($value => 'checked="checked"'); $formdata[$varname . 'selected'] = array($value => 'selected="selected"'); } //we should clean up the template so we don't have to register the individual names foreach ($formdata as $varname => $value) { $template->register($varname, $value); } $template->register('formdata', $formdata); } }