--- loncom/interface/lonsearchcat.pm 2001/03/14 15:26:47 1.9 +++ loncom/interface/lonsearchcat.pm 2001/03/15 13:40:20 1.12 @@ -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.=<
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.=<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 +222,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 +409,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("querysend:$query",'msul3'); my @results; @@ -388,7 +446,7 @@ sub basicsearch { END $compiledresult.=< +onClick="javascript:select_data('$title','$url')">
END @@ -459,6 +517,8 @@ SCRIPT
+ $persistent

Search Query