--- loncom/interface/lonsearchcat.pm 2001/03/14 15:26:47 1.9
+++ loncom/interface/lonsearchcat.pm 2001/03/15 14:20:13 1.14
@@ -82,25 +82,37 @@ END
$scrout=''; # building a part of screen output
$scrout.=&searchphrasefield('Limit by title','title',
- '');
+ $ENV{'form.title'});
$scrout.=&searchphrasefield('Limit by author','author',
- '');
+ $ENV{'form.author'});
$scrout.=&searchphrasefield('Limit by subject','subject',
- '');
+ $ENV{'form.subject'});
+
+ $scrout.=&searchphrasefield('Limit by keywords','keywords',
+ $ENV{'form.keywords'});
+
+ $scrout.=&searchphrasefield('Limit by URL','url',
+ $ENV{'form.url'});
+
+ $scrout.=&searchphrasefield('Limit by version','version',
+ $ENV{'form.version'});
$scrout.=&searchphrasefield('Limit by notes','notes',
- '');
+ $ENV{'form.notes'});
$scrout.=&searchphrasefield('Limit by abstract','abstract',
- '');
+ $ENV{'form.abstract'});
+ $ENV{'form.mime'}='notxxx' unless length($ENV{'form.mime'});
$scrout.=&selectbox('Limit by MIME type','mime',
- 'notxxx',%mimetag);
+ $ENV{'form.mime'},%mimetag);
+
+ $ENV{'form.language'}='any' unless length($ENV{'form.language'});
$scrout.=&selectbox('Limit by language','language',
- 'any',%language);
+ $ENV{'form.language'},%language);
# ------------------------------------------------ Compute date selection boxes
@@ -111,11 +123,19 @@ END
between:
CREATIONDATESTART
- $scrout.=&dateboxes('creationdatestart',1,1,1976);
+ $scrout.=&dateboxes('creationdatestart',1,1,1976,
+ $ENV{'form.creationdatestart_month'},
+ $ENV{'form.creationdatestart_day'},
+ $ENV{'form.creationdatestart_year'},
+ );
$scrout.=<";
$scrout.=<
between:
LASTREVISIONDATESTART
- $scrout.=&dateboxes('lastrevisiondatestart',1,1,1976);
+ $scrout.=&dateboxes('lastrevisiondatestart',1,1,1976,
+ $ENV{'form.lastrevisiondatestart_month'},
+ $ENV{'form.lastrevisiondatestart_day'},
+ $ENV{'form.lastrevisiondatestart_year'},
+ );
$scrout.=<';
$scrout.=&searchphrasefield('Limit by publisher/owner','owner',
- $metadatafields{'owner'});
+ $ENV{'form.owner'});
+# $metadatafields{'owner'});
+ $ENV{'form.copyright'}='any' unless length($ENV{'form.copyright'});
$scrout.=&selectbox('Limit by copyright/distribution','copyright',
- 'any',%cprtag);
+ $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(<
-
-
-Title only
+ENDDOCUMENT
+ $r->print(&simpletextfield('basicexp',$ENV{'form.basicexp'}));
+ $r->print(' ');
+ $r->print(&simplecheckbox('titleonly',$ENV{'form.titleonly'}));
+ $r->print('Title only ');
+ $r->print(&simplecheckbox('allversions',$ENV{'form.allversions'}));
+ $r->print(<Search historic archives
@@ -187,6 +235,18 @@ sub textfield {
'';
}
+sub simpletextfield {
+ my ($name,$value)=@_;
+ return '';
+}
+
+sub simplecheckbox {
+ my ($name,$value)=@_;
+ my $checked='';
+ $checked="CHECKED" if $value eq 'on';
+ return '';
+}
+
sub searchphrasefield {
my ($title,$name,$value)=@_;
my $instruction=<
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+END
+ $month=~s/(\"$currentmonth\")/$1 SELECTED/ if length($currentmonth);
+ my $day=<
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+END
+ $day=~s/(\"$currentday\")/$1 SELECTED/ if length($currentday);
+ my $year=<
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
END
+ $year=~s/(\"$currentyear\")/$1 SELECTED/ if length($currentyear);
+ return "$month$day$year";
}
sub selectbox {
@@ -352,7 +422,8 @@ sub basicsearch {
my $query=$expression;
$query="select * from metadata where concat(title,\" \",author) like '\%$expression\%'";
- my $reply=&Apache::lonnet::reply("querysend:$query",'msul3');
+# my $reply=&Apache::lonnet::reply("querysend:$query",'msul3');
+ my $reply=&Apache::lonnet::metadata_query($query);
my @results;
@@ -388,7 +459,7 @@ sub basicsearch {
END
$compiledresult.=<
+onClick="javascript:select_data('$title','$url')">
END
@@ -459,6 +530,8 @@ SCRIPT