]> git.mjollnir.org Git - moodle.git/commitdiff
MDL-14389 fixed transition from advanced to simple view if multiple fields used;...
authorskodak <skodak>
Wed, 16 Apr 2008 13:32:14 +0000 (13:32 +0000)
committerskodak <skodak>
Wed, 16 Apr 2008 13:32:14 +0000 (13:32 +0000)
mod/data/view.php

index d5b1a969a85fa627a5ec90dc72ac40e83cad1177..1d27c0bdb5e1df0fe78dcd638af0d777b7f93ee1 100755 (executable)
     
     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
                     $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]);
             $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]);
         }
             $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.