From 49a60852e829c638c754f426f6a6004692b24977 Mon Sep 17 00:00:00 2001 From: skodak Date: Wed, 16 Apr 2008 13:31:00 +0000 Subject: [PATCH] MDL-14389 fixed transition from advanced to simple view if multiple fields used --- mod/data/view.php | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/mod/data/view.php b/mod/data/view.php index d5b1a969a85fa..1d27c0bdb5e1d 100755 --- a/mod/data/view.php +++ b/mod/data/view.php @@ -110,6 +110,7 @@ if (!empty($advanced)) { $search = ''; + $vals = array(); $fields = get_records('data_fields', 'dataid', $data->id); //Added to ammend paging error. This error would occur when attempting to go from one page of advanced @@ -152,7 +153,7 @@ $search_array[$field->id] = new object(); $search_array[$field->id]->sql = $searchfield->generate_sql('c'.$field->id, $val); $search_array[$field->id]->data = $val; - $search .= ' '.$val; + $vals[] = $val; } else { // clear it out unset($search_array[$field->id]); @@ -173,7 +174,7 @@ $search_array[DATA_FIRSTNAME]->sql = ''; $search_array[DATA_FIRSTNAME]->field = 'u.firstname'; $search_array[DATA_FIRSTNAME]->data = $fn; - $search .= ' '.$fn; + $vals[] = $fn; } else { unset($search_array[DATA_FIRSTNAME]); } @@ -182,13 +183,21 @@ $search_array[DATA_LASTNAME]->sql = ''; $search_array[DATA_LASTNAME]->field = 'u.lastname'; $search_array[DATA_LASTNAME]->data = $ln; - $search .= ' '.$ln; + $vals[] = $ln; } else { unset($search_array[DATA_LASTNAME]); } $SESSION->dataprefs[$data->id]['search_array'] = $search_array; // Make it sticky + // in case we want to switch to simple search later - there might be multiple values there ;-) + if ($vals) { + $val = reset($vals); + if (is_string($val)) { + $search = $val; + } + } + } else { $search = optional_param('search', $SESSION->dataprefs[$data->id]['search'], PARAM_NOTAGS); //Paging variable not used for standard search. Set it to null.