--- loncom/interface/lonsearchcat.pm 2016/08/04 21:23:57 1.331.4.12
+++ loncom/interface/lonsearchcat.pm 2014/02/22 18:12:09 1.342
@@ -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.342 2014/02/22 18:12:09 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -78,7 +78,6 @@ use Apache::lonnavmaps;
use Apache::lonindexer();
use Apache::lonwishlist();
use LONCAPA;
-use Time::HiRes qw(sleep);
######################################################################
######################################################################
@@ -144,7 +143,7 @@ sub handler {
## this once, so the pause indicator is deleted
##
if (exists($env{'form.pause'})) {
- sleep(0.1);
+ sleep(1);
delete($env{'form.pause'});
}
##
@@ -194,7 +193,7 @@ sub handler {
&Apache::lonnet::logthis('lonsearchcat:'.
'Unable to recover data from '.
$persistent_db_file);
- my $msg =
+ my $msg =
&mt('We were unable to retrieve data describing your search.').
' '.&mt('This is a serious error and has been logged.').
'
'.
@@ -433,7 +432,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.
@@ -1912,11 +1911,10 @@ sub copyright_check {
my (undef,undef,$resdom,$resname) = split('/',
$Metadata->{'url'});
# Check for priv
- if ($Metadata->{'copyright'} eq 'priv') {
- unless (($env{'user.name'} eq $resname) &&
- ($env{'user.domain'} eq $resdom)) {
- return 0;
- }
+ if (($Metadata->{'copyright'} eq 'priv') &&
+ (($env{'user.name'} ne $resname) &&
+ ($env{'user.domain'} ne $resdom))) {
+ return 0;
}
# Check for domain
if (($Metadata->{'copyright'} eq 'domain') &&
@@ -2066,7 +2064,7 @@ sub print_sort_form {
END
- my $start_page = &Apache::loncommon::start_page('Results');
+ my $start_page = &Apache::loncommon::start_page('Results',$js);
my $breadcrumbs=
&Apache::lonhtmlcommon::breadcrumbs('Searching','Searching',
$env{'form.catalogmode'} ne 'import');
@@ -2230,21 +2228,8 @@ SCRIPT
$r->rflush();
}
-sub reload_result_frame {
- my ($r) = @_;
- my $newloc = '/adm/searchcat?phase=results&persistent_db_id='.
- $env{'form.persistent_db_id'};
- $r->print(<
-SCRIPT
-
- $r->rflush();
-}
-
{
- my $max_time = 60; # seconds for the search to complete
+ my $max_time = 300; # seconds for the search to complete
my $start_time = 0;
my $last_time = 0;
@@ -2425,7 +2410,6 @@ END
##
## Prepare for the big loop.
my $hitcountsum;
- my $oldhitcountsum;
my %matches;
my $server;
my $status;
@@ -2472,7 +2456,7 @@ END
&update_status($r,
&mt('waiting on [_1]',join(' ',keys(%Server_status))));
}
- sleep(0.1);
+ sleep(1);
}
#
# Loop through the servers we have contacted but do not
@@ -2548,13 +2532,7 @@ END
delete($Server_status{$server});
}
last if ($connection->aborted());
- if ($oldhitcountsum < $hitcountsum) {
- &update_count_status($r,$hitcountsum);
- if ($hitcountsum <= $env{'form.show'}) {
- reload_result_frame($r);
- }
- $oldhitcountsum = $hitcountsum;
- }
+ &update_count_status($r,$hitcountsum);
}
last if ($connection->aborted());
&update_seconds($r);
@@ -2648,8 +2626,6 @@ sub display_results {
if ($env{'form.catalogmode'} eq 'import') {
if (! tie(%groupsearch_db,'GDBM_File',$diropendb,
&GDBM_WRCREAT(),0640)) {
- # NOTE: this can happen when a previous request to searchcat?phase=results gets interrupted
- # (%groupsearch_db is not untied)
$r->print('
'. &mt('Unable to save import results.'). '
'. @@ -2657,11 +2633,7 @@ 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 @@ -2803,7 +2775,8 @@ sub display_results { ); if ($total_results == 0) { - $r->print(''.&mt('There are currently no results.').'
'. + $r->print(''. + ''.&mt('There are currently no results.').'
'. "". &Apache::loncommon::end_page()); return; @@ -3176,14 +3149,6 @@ SCRIPT SCRIPT - $js.=< -SCRIPT - my $start_page = &Apache::loncommon::start_page(undef,$js, {'only_body' =>1, 'add_wishlist' =>1, @@ -3217,26 +3182,6 @@ sub print_frames_interface { // JS @@ -3349,7 +3294,7 @@ sub detailed_citation_view { ''.$prefix. '\n".
''.$values{'author'}.','.
@@ -3482,7 +3427,7 @@ sub summary_view {
my $link = '
'.&display_url($jumpurl,1).'
';
$result .=
''.$values{'title'}.''.
+ ' target="preview">'.$values{'title'}.''.
&display_tools($values{'title'}, $jumpurl).<
@@ -3528,7 +3473,7 @@ sub compact_view {
}
$jumpurl = &HTML::Entities::encode($jumpurl,'<>&"');
$result.=' '.
- ''.
+ ''.
&HTML::Entities::encode($values{'title'},'<>&"').' '.
&display_tools($values{'title'}, $jumpurl).
$link.' '.$values{'author'}.' ('.$values{'domain'}.')';
@@ -3544,22 +3489,12 @@ sub display_url {
} elsif ($url=~m{^(http://|/uploaded/)}) {
$link=''.$url.'';
} else {
- # 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)
- 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;
+ $skiplast).' ';
}
return $link;
}
@@ -3865,7 +3800,7 @@ Cleans the global %groupsearch_db by rem
######################################################################
sub start_fresh_session {
delete $groupsearch_db{'mode_catalog'};
- foreach (keys(%groupsearch_db)) {
+ foreach (keys %groupsearch_db) {
if ($_ =~ /^pre_/) {
delete $groupsearch_db{$_};
}