--- loncom/interface/lonsearchcat.pm 2001/04/02 21:18:35 1.93 +++ loncom/interface/lonsearchcat.pm 2001/04/13 18:09:15 1.94 @@ -658,11 +658,14 @@ sub basicsearch { my $query=''; my $concatarg=join('," ",', ('title', 'author', 'subject', 'notes', 'abstract')); - $query='select * from metadata where concat(' . $concatarg . ') like %' . - $ENV{'form.basicexp'} . '%'; +# $query='select * from metadata where concat(' . $concatarg . ') like "%' . +# $ENV{'form.basicexp'} . '%"'; + + $query=&build_SQL_query('concat('.$concatarg.')',$ENV{'form.'.'basicexp'}); + # Get reply (either a hash reference to filehandles or bad connection) - my $reply=&Apache::lonnet::metadata_query($query); + my $reply=&Apache::lonnet::metadata_query('select * from metadata where '.$query); # Output search results &output_results('Basic',$r,$envhash,$query,$reply); @@ -991,6 +994,11 @@ sub recursive_SQL_query_build { if ($key eq 'literal') { $replacement="($dkey like \"\%$value\%\")"; } + elsif ($key eq 'not') { + $value=~s/like/not like/; +# $replacement="($dkey not like $value)"; + $replacement="$value"; + } elsif ($key eq 'and') { $value=~/(.*[\"|\)]) ([|\(|\^].*)/; $replacement="($1 AND $2)";