--- 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__