// End -->
//]]>
</script>';
+ echo ' <input type="hidden" name="advanced" value="0" />';
echo ' <input type="checkbox" id="advancedcheckbox" name="advanced" value="1" '.$checked.' onchange="showHideAdvSearch(this.checked);" /><label for="advancedcheckbox">'.get_string('advancedsearch', 'data').'</label>';
echo ' <input type="submit" value="'.get_string('savesettings','data').'" />';
$SESSION->dataprefs[$data->id]['advanced'] = 0;
$SESSION->dataprefs[$data->id]['order'] = ($data->defaultsortdir == 0) ? 'ASC' : 'DESC';
}
- $advanced = optional_param('advanced', $SESSION->dataprefs[$data->id]['advanced'], PARAM_INT);
+
+ $advanced = optional_param('advanced', -1, PARAM_INT);
+ if ($advanced == -1) {
+ $advanced = $SESSION->dataprefs[$data->id]['advanced'];
+ } else {
+ if (!$advanced) {
+ // explicitly switched to normal mode - discard all advanced search settings
+ $SESSION->dataprefs[$data->id]['search_array'] = array();
+ }
+ }
+
$search_array = $SESSION->dataprefs[$data->id]['search_array'];
if (!empty($advanced)) {
$fn = optional_param('u_fn', '', PARAM_NOTAGS);
$ln = optional_param('u_ln', '', PARAM_NOTAGS);
} else {
- $fn = isset($search_array[DATA_FIRSTNAME]) ? $search_array[DATA_FIRSTNAME] : '';
- $ln = isset($search_array[DATA_LASTNAME]) ? $search_array[DATA_LASTNAME] : '';
+ $fn = isset($search_array[DATA_FIRSTNAME]) ? $search_array[DATA_FIRSTNAME]->data : '';
+ $ln = isset($search_array[DATA_LASTNAME]) ? $search_array[DATA_LASTNAME]->data : '';
}
if (!empty($fn)) {
$search_array[DATA_FIRSTNAME] = new object();
}
//Advanced search form doesn't make sense for single (redirects list view)
- if ($records || $search || $page || $mode == 'asearch' && $mode != 'single') {
+ if (($records || $search || $page || $mode == 'asearch') && $mode != 'single') {
data_print_preference_form($data, $perpage, $search, $sort, $order, $search_array, $advanced, $mode);
}