--- loncom/interface/lonsearchcat.pm 2002/07/12 14:36:16 1.141
+++ loncom/interface/lonsearchcat.pm 2002/07/12 21:02:27 1.142
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Search Catalog
#
-# $Id: lonsearchcat.pm,v 1.141 2002/07/12 14:36:16 matthew Exp $
+# $Id: lonsearchcat.pm,v 1.142 2002/07/12 21:02:27 matthew Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -109,9 +109,9 @@ button that closes the search window
button to take the select results and go to group sorting
-=item %hash
+=item %groupsearch_db
-The ubiquitous database hash
+Database hash used to save values for the groupsearch RAT interface.
=item $diropendb
@@ -137,7 +137,7 @@ my $closebutton; # button that closes t
my $importbutton; # button to take the selected results and go to group sorting
# -- miscellaneous variables
-my %hash; # database hash
+my %groupsearch_db; # database hash
my $diropendb = ""; # db file
# View Description Function Pointer
@@ -173,7 +173,7 @@ string that holds portions of the screen
######################################################################
sub handler {
my $r = shift;
- untie %hash;
+ untie %groupsearch_db;
$r->content_type('text/html');
$r->send_http_header;
@@ -190,9 +190,9 @@ sub handler {
## Clear out old values from database
##
if ($ENV{'form.launch'} eq '1') {
- if (tie(%hash,'GDBM_File',$diropendb,&GDBM_WRCREAT,0640)) {
+ if (tie(%groupsearch_db,'GDBM_File',$diropendb,&GDBM_WRCREAT,0640)) {
&start_fresh_session();
- untie %hash;
+ untie %groupsearch_db;
} else {
$r->print('
Unable to tie hash to db '.
'file');
@@ -246,12 +246,16 @@ END
= &parse_advanced_search($r);
return OK if (! defined($query));
}
+ # Output some information to the user.
+ $r->print(&search_results_header($searchtype));
+ $r->print("Sending search request to LON-CAPA servers. \n");
+ $r->rflush();
# Send query statements over the network to be processed by
# either the SQL database or a recursive scheme of 'grep'-like
# actions (for custom metadata).
- $r->rflush();
my $reply=&Apache::lonnet::metadata_query($query,$customquery,
$customshow,$libraries);
+ $r->rflush();
&output_results($searchtype,$r,$reply,$hidden);
} else {
#
@@ -397,19 +401,24 @@ ENDHEADER
$ENV{'form.viewselect'},
undef,undef,undef,
sort(keys(%Views)));
- $scrout.="\n";
- $scrout.=&searchphrasefield('title', 'title' ,$ENV{'form.title'});
+ $scrout.="
\n";
$scrout.=&searchphrasefield('publisher owner','owner',
$ENV{'form.owner'});
$scrout.="\n";
@@ -568,8 +577,8 @@ END
return $persistent;
}
-
######################################################################
+# HTML form building functions #
######################################################################
=pod
@@ -578,6 +587,13 @@ END
=over 4
+=cut
+
+###############################################
+###############################################
+
+=pod
+
=item &simpletextfield()
Inputs: $name,$value,$size
@@ -585,6 +601,23 @@ Inputs: $name,$value,$size
Returns a text input field with the given name, value, and size.
If size is not specified, a value of 20 is used.
+=cut
+
+###############################################
+###############################################
+
+sub simpletextfield {
+ my ($name,$value,$size)=@_;
+ $size = 20 if (! defined($size));
+ return '';
+}
+
+###############################################
+###############################################
+
+=pod
+
=item &simplecheckbox()
Inputs: $name,$value
@@ -592,92 +625,106 @@ Inputs: $name,$value
Returns a simple check box with the given $name.
If $value eq 'on' the box is checked.
-=item &searchphrasefield()
+=cut
-Inputs: $title,$name,$value
+###############################################
+###############################################
-Returns html for a title line and an input field for entering search terms.
-the instructions "Enter terms or phrases separated by search operators such
-as AND, OR, or NOT." are given following the title. The entry field (which
-is where the $name and $value are used) is an 80 column simpletextfield.
+sub simplecheckbox {
+ my ($name,$value)=@_;
+ my $checked='';
+ $checked="checked" if $value eq 'on';
+ return '';
+}
-=item &dateboxes()
+###############################################
+###############################################
-Returns html selection form elements for the specification of
-the day, month, and year.
+=pod
-=item &selectbox()
+=item &fieldtitle()
-Returns a scalar containing an html