--- loncom/interface/lonsearchcat.pm 2005/11/26 02:42:45 1.247
+++ loncom/interface/lonsearchcat.pm 2006/02/07 19:46:30 1.252
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Search Catalog
#
-# $Id: lonsearchcat.pm,v 1.247 2005/11/26 02:42:45 www Exp $
+# $Id: lonsearchcat.pm,v 1.252 2006/02/07 19:46:30 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -283,12 +283,7 @@ END
## Sanity checks on form elements
##
if (!defined($env{'form.viewselect'})) {
- if (($env{'form.catalogmode'} eq 'groupsearch') ||
- ($env{'form.catalogmode'} eq 'interactive')) {
- $env{'form.viewselect'} ="Compact View";
- } else {
- $env{'form.viewselect'} ="Detailed Citation View";
- }
+ $env{'form.viewselect'} ="summary";
}
$env{'form.phase'} = 'disp_basic' if (! exists($env{'form.phase'}));
$env{'form.show'} = 20 if (! exists($env{'form.show'}));
@@ -708,6 +703,10 @@ sub print_basic_search_form {
),
$r->dir_config('lonDefDomain')
).'';
+ my $inclext= '';
my $adv_search_link =
''.
@@ -902,7 +902,10 @@ ENDHEADER
&titlefield(&mt('Domains')).'
'.
&Apache::loncommon::domain_select('domains',
$env{'form.domains'},1).
- ' | '.$/;
+ '
'.$/;
#
# Misc metadata
$scrout.=''.
@@ -1539,8 +1542,10 @@ sub parse_advanced_search {
##
my ($libraries_to_query,$pretty_domains_string,$domain_sql_restriction) =
&parse_domain_restrictions();
- push(@queries,$domain_sql_restriction);
- $pretty_search_string .= $pretty_domains_string." \n";
+ if ((defined($domain_sql_restriction)) && ($domain_sql_restriction ne '')) {
+ push(@queries,$domain_sql_restriction);
+ $pretty_search_string .= $pretty_domains_string." \n";
+ }
#
if (@queries) {
$query="SELECT * FROM metadata WHERE (".join(") AND (",@queries).')';
@@ -2288,7 +2293,7 @@ sub update_status {
}
{
- my $max_time = 40; # seconds for the search to complete
+ my $max_time = 300; # seconds for the search to complete
my $start_time = 0;
my $last_time = 0;
@@ -2522,8 +2527,11 @@ END
my %Fields = &parse_raw_result($result,$server);
$Fields{'hostname'} = $server;
#
+ # Skip if external and we did not want that
+ next if ((! $env{'form.inclext'}) && ($Fields{'url'}=~/^\/ext\//));
# Skip based on copyright
next if (! ©right_check(\%Fields));
+
#
# Store the result in the mysql database
my $result = &Apache::lonmysql::store_row($table,\%Fields);
@@ -2725,7 +2733,15 @@ sub display_results {
}
my %sort_fields = map {$_->{'key'},$_->{'desc'}} @fields;
$sort_fields{'select_form_order'} = \@field_order;
- $env{'form.sortorder'} = 'asc' if (! exists($env{'form.sortorder'}));
+ $env{'form.sortorder'} = 'desc' if (! exists($env{'form.sortorder'}));
+ $env{'form.sortfield'} = 'count' if (! exists($env{'form.sortfield'}));
+ if (! exists($env{'form.sortorder'})) {
+ if ($env{'form.sortfield'}=~/^(count|stdno|disc|clear|technical|correct|helpful)$/) {
+ $env{'form.sortorder'}='desc';
+ } else {
+ $env{'form.sortorder'}='asc';
+ }
+ }
my $sortform = &mt('Sort by [_1] [_2]',
&Apache::loncommon::select_form($env{'form.sortfield'},
'sortfield',
@@ -2776,7 +2792,7 @@ sub display_results {
exists($sort_fields{$env{'form.sortfield'}})) {
$sort_command = $env{'form.sortfield'}.' IS NOT NULL '.
'ORDER BY '.$env{'form.sortfield'}.' '.$order.
- ' LIMIT '.($min-1).','.($max-$min);
+ ' LIMIT '.($min-1).','.($max-$min+1);
}
my @Results = &Apache::lonmysql::get_rows($table,$sort_command);
##
@@ -3723,6 +3739,7 @@ sub cleanup {
}
&untiehash();
&Apache::lonmysql::disconnect_from_db();
+ return OK;
}
__END__
|