--- loncom/interface/lonsearchcat.pm 2014/02/23 22:16:20 1.331.4.10
+++ loncom/interface/lonsearchcat.pm 2012/12/17 08:29:26 1.333
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Search Catalog
#
-# $Id: lonsearchcat.pm,v 1.331.4.10 2014/02/23 22:16:20 raeburn Exp $
+# $Id: lonsearchcat.pm,v 1.333 2012/12/17 08:29:26 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -52,6 +52,8 @@ search (on a server basis) is displayed
=head1 Internals
+=over 4
+
=cut
###############################################################################
@@ -170,7 +172,7 @@ sub handler {
&Apache::lonhtmlcommon::clear_breadcrumbs();
my @allowed_searches = ('portfolio');
- if (&Apache::lonnet::allowed('bre',$env{'request.role.domain'}) eq 'F') {
+ if (&Apache::lonnet::allowed('bre',$env{'request.role.domain'})) {
push(@allowed_searches,'res');
}
my $crumb_text = 'Portfolio Search';
@@ -193,15 +195,12 @@ sub handler {
&Apache::lonnet::logthis('lonsearchcat:'.
'Unable to recover data from '.
$persistent_db_file);
- my $msg =
- &mt('We were unable to retrieve data describing your search.').
- ' '.&mt('This is a serious error and has been logged.').
- '
'.
- &mt('Please alert your LON-CAPA administrator.');
- &Apache::loncommon::simple_error_page(
- $r,'Search Error',
- $msg,
- {'no_auto_mt_msg' => 1});
+ my $msg =
+ 'We were unable to retrieve data describing your search. '.
+ 'This is a serious error and has been logged. '.
+ 'Please alert your LON-CAPA administrator.';
+ &Apache::loncommon::simple_error_page($r,'Search Error',
+ $msg);
return OK;
}
}
@@ -322,31 +321,31 @@ END
&display_results($r,$importbutton,$closebutton,$diropendb,
$env{'form.area'});
} elsif ($env{'form.phase'} =~ /^(sort|run_search)$/) {
- my ($query,$customquery,$customshow,$libraries,$pretty_string,$domainsref) =
+ my ($query,$customquery,$customshow,$libraries,$pretty_string) =
&get_persistent_data($persistent_db_file,
['query','customquery','customshow',
- 'libraries','pretty_string','domains']);
+ 'libraries','pretty_string']);
if ($env{'form.phase'} eq 'sort') {
&print_sort_form($r,$pretty_string);
} elsif ($env{'form.phase'} eq 'run_search') {
&run_search($r,$query,$customquery,$customshow,
- $libraries,$pretty_string,$env{'form.area'},$domainsref);
+ $libraries,$pretty_string,$env{'form.area'});
}
} elsif(($env{'form.phase'} eq 'basic_search') ||
($env{'form.phase'} eq 'adv_search')) {
#
# We are running a search, try to parse it
- my ($query,$customquery,$customshow,$libraries,$domains) =
- (undef,undef,undef,undef,undef);
+ my ($query,$customquery,$customshow,$libraries) =
+ (undef,undef,undef,undef);
my $pretty_string;
if ($env{'form.phase'} eq 'basic_search') {
- ($query,$pretty_string,$libraries,$domains) =
+ ($query,$pretty_string,$libraries) =
&parse_basic_search($r,$closebutton,$hidden_fields);
return OK if (! defined($query));
&make_persistent({ basicexp => $env{'form.basicexp'}},
$persistent_db_file);
} else { # Advanced search
- ($query,$customquery,$customshow,$libraries,$pretty_string,$domains)
+ ($query,$customquery,$customshow,$libraries,$pretty_string)
= &parse_advanced_search($r,$closebutton,$hidden_fields);
return OK if (! defined($query));
}
@@ -354,8 +353,7 @@ END
customquery => $customquery,
customshow => $customshow,
libraries => $libraries,
- pretty_string => $pretty_string,
- domains => $domains },
+ pretty_string => $pretty_string },
$persistent_db_file);
#
# Set up table
@@ -429,9 +427,7 @@ sub hidden_field {
######################################################################
-=pod
-
-=over 4
+=pod
=item &print_basic_search_form()
@@ -449,7 +445,7 @@ sub print_basic_search_form {
$env{'form.catalogmode'} ne 'import');
my $scrout = &Apache::loncommon::start_page('Content Library').$bread_crumb;
# Search form for resource space
- if (&Apache::lonnet::allowed('bre',$env{'request.role.domain'}) eq 'F') {
+ if (&Apache::lonnet::allowed('bre',$env{'request.role.domain'})) {
$scrout .= &setup_basic_search($r,'res',$hidden_fields,$closebutton);
$scrout .= '
table: |'.$table.'|
' # SB .'' .&mt('Unable to retrieve search results. ' .'Unable to determine the table results were saved in.') - .'
' - . ''.&mt('Internal info:').'
' - .''.$table.'' .&Apache::loncommon::end_page() ); return undef; @@ -2090,7 +2037,7 @@ END # $result.="\n"; my $revise = &revise_button(); $result.='
' - .&mt('Total of [quant,_1,match,matches] to your query.',$total_results) + .&mt('There are [_1] matches to your query.',$total_results) .' '.$revise.'
' .''.&mt('Search: ').$pretty_query_string .'
'; @@ -2310,7 +2257,7 @@ results into MySQL. ###################################################################### sub run_search { my ($r,$query,$customquery,$customshow,$serverlist, - $pretty_string,$area,$domainsref) = @_; + $pretty_string,$area) = @_; my $tabletype = 'metadata'; if ($area eq 'portfolio') { $tabletype = 'portfolio_search'; @@ -2342,39 +2289,16 @@ END $r->rflush(); # # Determine the servers we need to contact. - my (@Servers_to_contact,%domains_by_server); + my @Servers_to_contact; if (defined($serverlist)) { if (ref($serverlist) eq 'ARRAY') { @Servers_to_contact = @$serverlist; } else { @Servers_to_contact = ($serverlist); } - if (ref($domainsref) eq 'HASH') { - foreach my $server (@Servers_to_contact) { - $domains_by_server{$server} = $domainsref->{$server}; - } - } } else { - my %library_servers = &Apache::lonnet::unique_library(); - my (%all_library_servers, %older_library_servers); - foreach my $key (keys(%library_servers)) { - if (&Apache::lonnet::get_server_loncaparev('',$key) =~ /^\'?(\d+)\.(\d+)/) { - my $major = $1; - my $minor = $2; - if (($major < 2) || (($major == 2) && ($minor < 11))) { - map { $older_library_servers{$_} = 1; } - &Apache::lonnet::machine_ids($library_servers{$key}); - } - } - } - %all_library_servers = (%library_servers,%older_library_servers); + my %all_library_servers = &Apache::lonnet::unique_library(); @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}))); - } } my %Server_status; # @@ -2444,7 +2368,7 @@ END my $server = shift(@Servers_to_contact); &update_status($r,&mt('contacting [_1]',$server)); my $reply=&Apache::lonnet::metadata_query($query,$customquery, - $customshow,[$server],\%domains_by_server); + $customshow,[$server]); ($server) = keys(%$reply); $Server_status{$server} = $reply->{$server}; } else { @@ -3151,8 +3075,7 @@ SCRIPT my $start_page = &Apache::loncommon::start_page(undef,$js, {'only_body' =>1, - 'add_wishlist' =>1, - 'add_modal' =>1}); + 'add_wishlist' =>1}); my $result=<