--- 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)";