--- loncom/interface/lonsearchcat.pm 2016/08/04 21:23:57 1.331.4.12
+++ loncom/interface/lonsearchcat.pm 2017/08/11 00:32:07 1.353
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Search Catalog
#
-# $Id: lonsearchcat.pm,v 1.331.4.12 2016/08/04 21:23:57 raeburn Exp $
+# $Id: lonsearchcat.pm,v 1.353 2017/08/11 00:32:07 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -433,7 +433,7 @@ sub hidden_field {
=pod
=over 4
-
+
=item &print_basic_search_form()
Prints the form for the basic search. Sorry the name is so cryptic.
@@ -479,14 +479,31 @@ sub setup_basic_search {
.&mt('use related words')
.'';
+ my $anydom = 1;
+ if ($area eq 'res') {
+ unless (&Apache::lonnet::allowed('bre','/res/') eq 'F') {
+ $anydom = 0;
+ }
+ }
+ my $singledom;
+ my ($disabled,$checked);
+ if ($anydom) {
+ $singledom = $r->dir_config('lonDefDomain');
+ if ($env{'form.domains'} eq $singledom) {
+ $checked = 1;
+ }
+ } else {
+ $singledom = $env{'user.domain'};
+ $disabled = ' disabled="disabled"';
+ $checked = 1;
+ }
$onlysearchdomain = '';
$adv_search_link = '
-//
-
-END
-
- my $start_page = &Apache::loncommon::start_page('Results');
+ my $start_page = &Apache::loncommon::start_page('Results',undef);
my $breadcrumbs=
&Apache::lonhtmlcommon::breadcrumbs('Searching','Searching',
$env{'form.catalogmode'} ne 'import');
@@ -2385,8 +2402,6 @@ END
%all_library_servers = (%library_servers,%older_library_servers);
@Servers_to_contact = sort(keys(%all_library_servers));
foreach my $server (@Servers_to_contact) {
- my %possdoms;
- map { $possdoms{$_}=1; } &Apache::lonnet::machine_domains($all_library_servers{$server});
$domains_by_server{$server} =
join(',',sort(&Apache::lonnet::machine_domains($all_library_servers{$server})));
}
@@ -2426,6 +2441,7 @@ END
## Prepare for the big loop.
my $hitcountsum;
my $oldhitcountsum;
+ my $displaycount;
my %matches;
my $server;
my $status;
@@ -2472,7 +2488,7 @@ END
&update_status($r,
&mt('waiting on [_1]',join(' ',keys(%Server_status))));
}
- sleep(0.1);
+ sleep(0.1);
}
#
# Loop through the servers we have contacted but do not
@@ -2550,8 +2566,10 @@ END
last if ($connection->aborted());
if ($oldhitcountsum < $hitcountsum) {
&update_count_status($r,$hitcountsum);
- if ($hitcountsum <= $env{'form.show'}) {
+ if (($hitcountsum <= $env{'form.show'}) ||
+ (!$displaycount && $hitcountsum)) {
reload_result_frame($r);
+ $displaycount = $hitcountsum;
}
$oldhitcountsum = $hitcountsum;
}
@@ -2657,11 +2675,11 @@ sub display_results {
&Apache::loncommon::end_page());
$r->rflush();
return;
- }
+ }
# untie %groupsearch_db if the connection gets aborted before the end
$r->register_cleanup(sub {
untie %groupsearch_db if (tied(%groupsearch_db));
- });
+ });
}
##
## Prepare the table for querying
@@ -3214,7 +3232,6 @@ sub print_frames_interface {
my $results_link = &results_link();
my $js = <
-//
JS
@@ -3548,18 +3564,13 @@ sub display_url {
# (because the search opens in a new window, it gets
# confusing when the links open a tab in the
# parent window; ideally we should not force windows)
- my $onclick = " onclick=\"window.open(this.href, '_blank', 'toolbar=1,location=1,menubar=0');return false;\"";
+ my $onclick = " onclick=\"window.open(this.href, '_blank', 'toolbar=1,location=1,menubar=0');return false;\"";
$link=&Apache::lonhtmlcommon::crumbs(
$url,
'preview',
'',
- (($env{'form.catalogmode'} eq 'import')?'parent.statusframe.document.forms.statusform':''),
+ '',
$skiplast,$onclick).' ';
- # replace the links to open in a new window
- # (because the search opens in a new window, it gets
- # confusing when the links open a tab in the
- # parent window; ideally we should not force windows)
- $link =~ s/(href="[^"]*")/\1 onclick="window.open(this.href, '_blank', 'toolbar=1,location=1,menubar=0');return false;"/g;
}
return $link;
}