version 1.331.4.12, 2016/08/04 21:23:57
|
version 1.351, 2016/11/15 20:03:50
|
Line 433 sub hidden_field {
|
Line 433 sub hidden_field {
|
=pod |
=pod |
|
|
=over 4 |
=over 4 |
|
|
=item &print_basic_search_form() |
=item &print_basic_search_form() |
|
|
Prints the form for the basic search. Sorry the name is so cryptic. |
Prints the form for the basic search. Sorry the name is so cryptic. |
Line 479 sub setup_basic_search {
|
Line 479 sub setup_basic_search {
|
.&mt('use related words') |
.&mt('use related words') |
.'</label>'; |
.'</label>'; |
|
|
|
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 = '<label>' |
$onlysearchdomain = '<label>' |
.&Apache::lonhtmlcommon::checkbox( |
.&Apache::lonhtmlcommon::checkbox( |
'domains', |
'domains',$checked, |
$env{'form.domains'}, |
$singledom,$disabled) |
$r->dir_config('lonDefDomain')) |
|
.' ' |
.' ' |
.&mt('only search domain [_1]' |
.&mt('only search domain [_1]' |
,'<b>'.$r->dir_config('lonDefDomain').'</b>') |
,'<b>'.$singledom.'</b>') |
.'</label>'; |
.'</label>'; |
|
|
$adv_search_link = '<a href="/adm/searchcat?'. |
$adv_search_link = '<a href="/adm/searchcat?'. |
Line 661 function additional_metadata() {
|
Line 678 function additional_metadata() {
|
$env{'form.category'}) |
$env{'form.category'}) |
.&Apache::lonhtmlcommon::row_closure(); |
.&Apache::lonhtmlcommon::row_closure(); |
|
|
$scrout .= &Apache::lonhtmlcommon::row_title(&titlefield(&mt('Domains'))) |
my $anydomain = 1; |
.&Apache::loncommon::domain_select('domains', |
if ($env{'form.area'} ne 'portfolio') { |
$env{'form.domains'},1) |
unless (&Apache::lonnet::allowed('bre','/res/')) { |
.&Apache::lonhtmlcommon::row_closure(); |
$anydomain = 0; |
|
} |
|
} |
|
|
|
$scrout .= &Apache::lonhtmlcommon::row_title(&titlefield(&mt('Domains'))); |
|
if ($anydomain) { |
|
$scrout .= &Apache::loncommon::domain_select('domains', |
|
$env{'form.domains'},1); |
|
} else { |
|
$scrout .= &Apache::loncommon::select_dom_form($env{'user.domain'}, |
|
'domains','','','',[$env{'user.domain'}],'',1); |
|
} |
|
$scrout .= &Apache::lonhtmlcommon::row_closure(); |
|
|
# Misc metadata |
# Misc metadata |
if ($env{'form.area'} ne 'portfolio') { |
if ($env{'form.area'} ne 'portfolio') { |
Line 2052 sub print_sort_form {
|
Line 2081 sub print_sort_form {
|
&Apache::lonnet::logthis(&Apache::lonmysql::get_error()); |
&Apache::lonnet::logthis(&Apache::lonmysql::get_error()); |
return; |
return; |
} |
} |
my $js =<<END; |
my $start_page = &Apache::loncommon::start_page('Results',undef); |
<script type="text/javascript"> |
|
// <![CDATA[ |
|
function change_sort() { |
|
var newloc = "/adm/searchcat?phase=results"; |
|
newloc += "&persistent_db_id=$env{'form.persistent_db_id'}"; |
|
newloc += "&sortby="; |
|
newloc += document.forms.statusform.elements.sortby.value; |
|
parent.resultsframe.location= newloc; |
|
} |
|
// ]]> |
|
</script> |
|
END |
|
|
|
my $start_page = &Apache::loncommon::start_page('Results'); |
|
my $breadcrumbs= |
my $breadcrumbs= |
&Apache::lonhtmlcommon::breadcrumbs('Searching','Searching', |
&Apache::lonhtmlcommon::breadcrumbs('Searching','Searching', |
$env{'form.catalogmode'} ne 'import'); |
$env{'form.catalogmode'} ne 'import'); |
Line 2426 END
|
Line 2441 END
|
## Prepare for the big loop. |
## Prepare for the big loop. |
my $hitcountsum; |
my $hitcountsum; |
my $oldhitcountsum; |
my $oldhitcountsum; |
|
my $displaycount; |
my %matches; |
my %matches; |
my $server; |
my $server; |
my $status; |
my $status; |
Line 2472 END
|
Line 2488 END
|
&update_status($r, |
&update_status($r, |
&mt('waiting on [_1]',join(' ',keys(%Server_status)))); |
&mt('waiting on [_1]',join(' ',keys(%Server_status)))); |
} |
} |
sleep(0.1); |
sleep(0.1); |
} |
} |
# |
# |
# Loop through the servers we have contacted but do not |
# Loop through the servers we have contacted but do not |
Line 2550 END
|
Line 2566 END
|
last if ($connection->aborted()); |
last if ($connection->aborted()); |
if ($oldhitcountsum < $hitcountsum) { |
if ($oldhitcountsum < $hitcountsum) { |
&update_count_status($r,$hitcountsum); |
&update_count_status($r,$hitcountsum); |
if ($hitcountsum <= $env{'form.show'}) { |
if (($hitcountsum <= $env{'form.show'}) || |
|
(!$displaycount && $hitcountsum)) { |
reload_result_frame($r); |
reload_result_frame($r); |
|
$displaycount = $hitcountsum; |
} |
} |
$oldhitcountsum = $hitcountsum; |
$oldhitcountsum = $hitcountsum; |
} |
} |
Line 2657 sub display_results {
|
Line 2675 sub display_results {
|
&Apache::loncommon::end_page()); |
&Apache::loncommon::end_page()); |
$r->rflush(); |
$r->rflush(); |
return; |
return; |
} |
} |
# untie %groupsearch_db if the connection gets aborted before the end |
# untie %groupsearch_db if the connection gets aborted before the end |
$r->register_cleanup(sub { |
$r->register_cleanup(sub { |
untie %groupsearch_db if (tied(%groupsearch_db)); |
untie %groupsearch_db if (tied(%groupsearch_db)); |
}); |
}); |
} |
} |
## |
## |
## Prepare the table for querying |
## Prepare the table for querying |
Line 3214 sub print_frames_interface {
|
Line 3232 sub print_frames_interface {
|
my $results_link = &results_link(); |
my $results_link = &results_link(); |
my $js = <<JS; |
my $js = <<JS; |
<script type="text/javascript"> |
<script type="text/javascript"> |
// <![CDATA[ |
|
var targetwin = opener; |
var targetwin = opener; |
var queue = ''; |
var queue = ''; |
|
|
Line 3237 function done_loading_results() {
|
Line 3254 function done_loading_results() {
|
update_results(new_location); |
update_results(new_location); |
} |
} |
} |
} |
// ]]> |
|
</script> |
</script> |
JS |
JS |
|
|
Line 3548 sub display_url {
|
Line 3564 sub display_url {
|
# (because the search opens in a new window, it gets |
# (because the search opens in a new window, it gets |
# confusing when the links open a tab in the |
# confusing when the links open a tab in the |
# parent window; ideally we should not force windows) |
# 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( |
$link=&Apache::lonhtmlcommon::crumbs( |
$url, |
$url, |
'preview', |
'preview', |
'', |
'', |
(($env{'form.catalogmode'} eq 'import')?'parent.statusframe.document.forms.statusform':''), |
'', |
$skiplast,$onclick).' '; |
$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; |
return $link; |
} |
} |