--- loncom/interface/lonsearchcat.pm 2001/03/15 13:40:20 1.12
+++ loncom/interface/lonsearchcat.pm 2001/03/15 19:47:37 1.32
@@ -77,7 +77,10 @@ END
}
if ($ENV{'form.basicsubmit'} eq 'SEARCH') {
- return &basicsearch($r,$ENV{'form.basicexp'});
+ return &basicsearch($r,\%ENV);
+ }
+ elsif ($ENV{'form.advancedsubmit'} eq 'SEARCH') {
+ return &advancedsearch($r,\%ENV);
}
$scrout=''; # building a part of screen output
@@ -167,6 +170,19 @@ LASTREVISIONDATEEND
$scrout.=&selectbox('Limit by copyright/distribution','copyright',
$ENV{'form.copyright'},%cprtag);
+# ------------------------------------------- Compute customized metadata field
+ $scrout.=<
+LIMIT BY OTHER METADATA FIELDS:
+
+For author-specific metadata, enter in an expression in the form of
+key=value separated by operators such as AND or OR.
+Example: grandmother=75 OR grandfather=85
+
+CUSTOMMETADATA
+$scrout.=&simpletextfield('custommetadata',$ENV{'form.custommetadata'});
+$scrout.=' initial users of this system do not need to worry about this option';
+
# ---------------------------------------------------------------- Print screen
$r->print(<
@@ -403,55 +419,150 @@ sub selectbox {
return $selout.'';
}
+# ------------------------------------------------ Performing a advanced search
+sub advancedsearch {
+ my ($r,$envhash)=@_;
+ my %ENV=%{$envhash};
+
+ my $fillflag=0;
+ for my $field ('title','author','subject','keywords','url','version',
+ 'notes','abstract','mime','language','owner',
+ 'custommetadata') {
+ if (&filled($ENV{'form.basicexp'})) {
+ $fillflag++;
+ }
+ }
+
+ unless ($fillflag) {
+ &output_blank_field_error($r);
+ return OK;
+ }
+
+ $r->print(<
+END
+ }
+ } (keys %ENV);
+
+ $r->print(<
+
+The LearningOnline Network with CAPA
+BEGINNING
+ $r->print(<
+
+
+Search Catalog
+
END
-}
+ }
- unless ($compiledresult) {
- $compiledresult="There were no results that matched your query";
- }
+ unless ($compiledresult) {
+ $compiledresult="There were no results that matched your query";
+ }
- # make query information persistent to allow for subsequent revision
- my $persistent='';
- map {
- if (/^form\./ && !/submit/) {
- my $name=$_;
- my $key=$name;
- $name=~s/^form\.//;
- $persistent.=<
END
- }
- } (keys %ENV);
+ }
+ } (keys %ENV);
- $r->print(<print(<
The LearningOnline Network with CAPA
BEGINNING
- $r->print(<
SCRIPT
- $r->print(<print(<
@@ -523,15 +634,14 @@ $persistent
Search Query
-Basic search: $expression
+Basic search: $ENV{'form.basicexp'}
Search Results
$compiledresult
RESULTS
-
- return OK;
+ }
}
1;