Show
Ignore:
Timestamp:
04/11/08 04:20:13 (19 months ago)
Author:
fumiakiy
Message:

Stopped sorting search results by blog id in multi blog search thus mix search results from multiple blogs. BugId:75781

Added SearchResultsHeader and SearchResultsFooter template tags.

Gave up on resurrecting per blog limiting of number of results.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • branches/release-34/lib/MT/App/Search.pm

    r1757 r1855  
    267267            if $format !~ /\w+/; 
    268268    } 
    269     my $method = "render$format"; 
    270     $method = 'render' unless $app->can($method); 
     269    my $method = "render"; 
     270    $method .= $format if $format && $app->can($method . $format); 
    271271    $out = $app->$method( $count, $iter ); 
    272272 
     
    367367    push @terms, $parsed->{terms} if exists $parsed->{terms}; 
    368368 
     369    my $desc = 'descend' eq $app->{searchparam}{SearchResultDisplay} ? 'DESC' : 'ASC'; 
     370    my @sort; 
    369371    my $sort = $params->{'sort'}; 
    370372    if ( $sort !~ /\w+\!$/ && $app->{searchparam}{SearchSortBy} ) { 
    371373        my $sort_by = $app->{searchparam}{SearchSortBy}; 
    372         $sort_by =~ s/[\w\-\.]+//g; 
    373         $sort = $sort_by; 
    374     } 
     374        $sort_by =~ s/[^\w\-\.\,]+//g; 
     375        if ( $sort_by ) { 
     376            my @sort_bys = split ',', $sort_by; 
     377            foreach my $key ( @sort_bys ) { 
     378                push @sort, { 
     379                    desc   => $desc, 
     380                    column => $key 
     381                }; 
     382            } 
     383        } 
     384    } 
     385    push @sort, { 
     386        desc   => $desc, 
     387        column => $sort 
     388    }; 
    375389 
    376390    my %args = ( 
     
    378392      $limit  ? ( 'limit' => $limit ) : (), 
    379393      $offset ? ( 'offset' => $offset ) : (), 
    380       $sort   ? ( 'sort' => [ 
    381             { desc   => 'descend' eq $app->{searchparam}{SearchResultDisplay} ? 'DESC' : 'ASC', 
    382               column => $sort } 
    383         ] ) : (), 
     394      @sort   ? ( 'sort' => \@sort ) : (), 
    384395    ); 
    385  
    386     if ( exists $app->{searchparam}{IncludeBlogs} ) { 
    387         unshift @{ $args{'sort'} }, 
    388           { desc => 'ASC', 
    389             column    => 'blog_id' }; 
    390     } 
    391396 
    392397    ( \@terms, \%args );