--- loncom/interface/lonsearchcat.pm 2001/04/02 21:18:35 1.93 +++ loncom/interface/lonsearchcat.pm 2001/04/16 18:53:56 1.96 @@ -182,8 +182,8 @@ END $scrout.=&searchphrasefield('Limit by URL','url', $ENV{'form.url'}); - $scrout.=&searchphrasefield('Limit by version','version', - $ENV{'form.version'}); +# $scrout.=&searchphrasefield('Limit by version','version', +# $ENV{'form.version'}); $scrout.=&searchphrasefield('Limit by notes','notes', $ENV{'form.notes'}); @@ -301,9 +301,9 @@ ENDDOCUMENT $r->print(' '); $r->print(&simplecheckbox('titleonly',$ENV{'form.titleonly'})); $r->print('Title only '); - $r->print(&simplecheckbox('allversions',$ENV{'form.allversions'})); +# $r->print(&simplecheckbox('allversions',$ENV{'form.allversions'})); +# Search historic archives $r->print(<Search historic archives
@@ -658,11 +658,13 @@ sub basicsearch { my $query=''; my $concatarg=join('," ",', ('title', 'author', 'subject', 'notes', 'abstract')); - $query='select * from metadata where concat(' . $concatarg . ') like %' . - $ENV{'form.basicexp'} . '%'; + $concatarg='title' if $ENV{'form.titleonly'}; + + $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 +993,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)";