--- loncom/interface/lonsearchcat.pm 2001/03/20 17:49:03 1.44 +++ loncom/interface/lonsearchcat.pm 2001/03/21 01:10:28 1.48 @@ -51,6 +51,13 @@ my $scrout; my %metadatafields; my %cprtag; my %mimetag; +my $closebutton; +my $viewselect=< + + + +END sub handler { my $r = shift; @@ -76,6 +83,10 @@ sub handler { END + $closebutton=< +END + # ------------------------------------------------ First, check out environment $metadatafields{'owner'}=$ENV{'user.name'}.'@'.$ENV{'user.domain'}; @@ -248,7 +259,8 @@ ENDDOCUMENT
- +$closebutton +$viewselect


Advanced Search

@@ -256,7 +268,8 @@ $scrout

- +$closebutton +$viewselect

@@ -448,7 +461,7 @@ sub selectbox { return $selout.''; } -# ------------------------------------------------ Performing a advanced search +# ----------------------------------------------- Performing an advanced search sub advancedsearch { my ($r,$envhash)=@_; my %ENV=%{$envhash}; @@ -469,22 +482,22 @@ sub advancedsearch { my $query=''; - my $testquery=''; + my @queries; # Go through logical expression AND/OR/NOT phrase fields. foreach my $field ('title','author','subject','notes','abstract') { if ($ENV{'form.'.$field}) { - $testquery=build_SQL_query($field,$ENV{'form.'.$field}); + push @queries,&build_SQL_query($field,$ENV{'form.'.$field}); } } - -# my $concatarg=join('," ",', -# ('title', 'author', 'subject', 'notes', 'abstract')); - - $query="select * from metadata where $testquery"; - - my $reply=&Apache::lonnet::metadata_query($query); - - &output_results('Advanced',$r,$envhash,$query,$reply); + if (@queries) { + $query="(" . join(") and (",@queries) . ")"; + $query="select * from metadata where $query"; + my $reply=&Apache::lonnet::metadata_query($query); + &output_results('Advanced',$r,$envhash,$query,$reply); + } + else { + &output_results('Advanced',$r,$envhash,$query); + } return OK; } @@ -549,8 +562,7 @@ BEGINNING $persistent - +$closebutton

Helpful Message

@@ -676,8 +688,7 @@ SCRIPT

- +$closebutton $persistent

Search Query