--- loncom/interface/lonsearchcat.pm 2003/06/17 15:53:56 1.181 +++ loncom/interface/lonsearchcat.pm 2003/10/08 20:35:33 1.185.2.1 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Search Catalog # -# $Id: lonsearchcat.pm,v 1.181 2003/06/17 15:53:56 matthew Exp $ +# $Id: lonsearchcat.pm,v 1.185.2.1 2003/10/08 20:35:33 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -557,10 +557,10 @@ ENDDOCUMENT ' '; my $relatedcheckbox = &simplecheckbox('related',$ENV{'form.related'}); my $domain = $r->dir_config('lonDefDomain'); - my $domaincheckbox = &simplecheckbox('domains',$domain,'checked'); + my $domaincheckbox = &simplecheckbox('domains',$domain); $scrout.=<Advanced Search $relatedcheckbox use related words $domaincheckbox only search domain $domain @@ -852,6 +852,13 @@ sub get_persistent_form_data { # Loop through the keys, looking for 'form.' foreach my $name (keys(%persistent_db)) { next if ($name !~ /^form./); + # Kludgification begins! + if ($name eq 'form.domains' && + $ENV{'form.searchmode'} eq 'basic' && + $ENV{'form.phase'} ne 'disp_basic') { + next; + } + # End kludge (hopefully) next if (exists($ENV{$name})); my @values = map { &Apache::lonnet::unescape($_); @@ -1529,7 +1536,9 @@ sub parse_basic_search { $pretty_search_string .= ' '.$pretty_domains_string; } $pretty_search_string .= "
\n"; - return ('SELECT * FROM metadata WHERE '.$query,$pretty_search_string, + my $final_query = 'SELECT * FROM metadata WHERE '.$query; +# &Apache::lonnet::logthis($final_query); + return ($final_query,$pretty_search_string, $libraries_to_query); } @@ -2163,22 +2172,23 @@ END if (@Servers_to_contact) { # Contact one server my $server = shift(@Servers_to_contact); + &update_status($r,'contacting '.$server); my $reply=&Apache::lonnet::metadata_query($query,$customquery, $customshow,[$server]); ($server) = keys(%$reply); $Server_status{$server} = $reply->{$server}; - &update_status($r,'contacting '.$server); } else { # wait a sec. to give time for files to be written # This sleep statement is here instead of outside the else # block because we do not want to pause if we have servers # left to contact. + if (scalar (keys(%Server_status))) { + &update_status($r, + 'waiting on '.(join(' ',keys(%Server_status)))); + } sleep(1); } # - if (scalar (keys(%Server_status))) { - &update_status($r,'waiting on '.(join(' ',keys(%Server_status)))); - } # # Loop through the servers we have contacted but do not # have results from yet, looking for results. @@ -2731,10 +2741,19 @@ SCRIPT $result.=<