Changeset 1855

Show
Ignore:
Timestamp:
04/11/08 04:20:13 (5 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:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/release-34/default_templates/entry_summary.mtml

    r1851 r1855  
    55        <div class="asset-meta"> 
    66            <span class="byline"> 
    7 <MTIfNonEmpty tag="EntryAuthorDisplayName"> 
     7<MTIf name="show_blog"> 
     8    <MTIfNonEmpty tag="EntryAuthorDisplayName"> 
     9                <__trans phrase="From [_1] by [_2] on [_3]" params="<$MTEntryBlogName$>%%<span class="vcard author"><$MTEntryAuthorLink show_hcard="1"$></span>%%<abbr class="published" title="<$MTEntryDate format_name="iso8601"$>"><$MTEntryDate format="%x %X"$></abbr>"> 
     10    <MTElse> 
     11                <__trans phrase="From [_1] on [_2]" params="<$MTEntryBlogName$>%%<abbr class="published" title="<$MTEntryDate format_name="iso8601"$>"><$MTEntryDate format="%x %X"$></abbr>"> 
     12    </MTIfNonEmpty> 
     13<MTElse> 
     14    <MTIfNonEmpty tag="EntryAuthorDisplayName"> 
    815                <__trans phrase="By [_1] on [_2]" params="<span class="vcard author"><$MTEntryAuthorLink show_hcard="1"$></span>%%<abbr class="published" title="<$MTEntryDate format_name="iso8601"$>"><$MTEntryDate format="%x %X"$></abbr>"> 
    9 <MTElse> 
     16    <MTElse> 
    1017                <abbr class="published" title="<$MTEntryDate format_name="iso8601"$>"><$MTEntryDate format="%x %X"$></abbr> 
    11 </MTIfNonEmpty> 
     18    </MTIfNonEmpty> 
     19</MTIf> 
    1220            </span> 
    1321            <span class="separator">|</span> <a class="permalink" rel="bookmark" href="<$MTEntryPermalink$>"><__trans phrase="Permalink"></a> 
  • branches/release-34/default_templates/search_results.mtml

    r1797 r1855  
    8686</head> 
    8787<body class="mt-search-results <$MTVar name="page_layout"$>"> 
     88<$MTBlogID setvar="blog_id"> 
    8889    <div id="container"> 
    8990        <div id="container-inner"> 
     
    107108<MTSetVarTemplate id="search_results" name="search_results">   
    108109<MTSearchResults> 
    109     <MTBlogResultHeader> 
     110    <MTSearchResultsHeader> 
    110111                            <div id="search-results"> 
    111112                                <span id="current-page" class="hidden"><MTCurrentPage></span> 
    112113                                <h1 id="page-title" class="search-results-header"> 
    113114        <MTIfStraightSearch> 
    114                                     <__trans phrase="Results matching &ldquo;[_1]&rdquo; from [_2]" params="<$MTSearchString$>%%<$MTBlogName encode_html="1"$>"> 
     115                                    <__trans phrase="Results matching &ldquo;[_1]&rdquo;" params="<$MTSearchString$>"> 
    115116        </MTIfStraightSearch> 
    116117        <MTIfTagSearch> 
    117                                     <__trans phrase="Results tagged &ldquo;[_1]&rdquo; from [_2]" params="<$MTSearchString$>%%<$MTBlogName encode_html="1"$>"> 
     118                                    <__trans phrase="Results tagged &ldquo;[_1]&rdquo;" params="<$MTSearchString$>"> 
    118119        </MTIfTagSearch> 
    119120                                </h1> 
    120121                                <div class="search-results-container autopagerize_page_element"> 
    121     </MTBlogResultHeader> 
    122                                     <$MTInclude module="<__trans phrase="Entry Summary">" hide_counts="1"$> 
    123     <MTBlogResultFooter> 
     122    </MTSearchResultsHeader> 
     123                                    <$MTInclude module="<__trans phrase="Entry Summary">" show_blog="1" hide_counts="1" blog_id="$blog_id"$> 
     124    <MTSearchResultsFooter> 
    124125                                </div><div class="autopagerize_insert_before"></div> 
    125126 
     
    129130                                </div> 
    130131                            </div> 
    131     </MTBlogResultFooter> 
     132    </MTSearchResultsFooter> 
    132133</MTSearchResults> 
    133134</MTSetVarTemplate> 
  • 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 ); 
  • branches/release-34/lib/MT/App/Search/TagSearch.pm

    r1516 r1855  
    3535 
    3636    my $format = $app->param('format') || q(); 
    37     my $method = "render$format"; 
     37    my $method = "render"; 
     38    $method .= $format if $format && $app->can($method . $format); 
    3839    $out = $app->$method( $count, $iter ); 
    3940 
     
    195196    ); 
    196197 
     198    my $desc = 'descend' eq $app->{searchparam}{SearchResultDisplay} ? 'DESC' : 'ASC'; 
     199    my @sort; 
    197200    my $sort = $params->{'sort'}; 
    198201    if ( $sort !~ /\w+\!$/ && $app->{searchparam}{SearchSortBy} ) { 
    199202        my $sort_by = $app->{searchparam}{SearchSortBy}; 
    200         $sort_by =~ s/[\w\-\.]+//g; 
    201         $sort = $sort_by; 
    202     } 
     203        $sort_by =~ s/[^\w\-\.\,]+//g; 
     204        if ( $sort_by ) { 
     205            my @sort_bys = split ',', $sort_by; 
     206            foreach my $key ( @sort_bys ) { 
     207                push @sort, { 
     208                    desc   => $desc, 
     209                    column => $key 
     210                }; 
     211            } 
     212        } 
     213    } 
     214    push @sort, { 
     215        desc   => $desc, 
     216        column => $sort 
     217    }; 
    203218 
    204219    my %args = ( 
     
    206221      $limit  ? ( 'limit' => $limit ) : (), 
    207222      $offset ? ( 'offset' => $offset ) : (), 
    208       $sort   ? ( 'sort' => [ 
    209             { desc   => 'descend' eq $app->{searchparam}{SearchResultDisplay} ? 'DESC' : 'ASC', 
    210               column => $sort } 
    211         ] ) : (), 
     223      @sort   ? ( 'sort' => \@sort ) : (), 
    212224    ); 
    213  
    214     if ( exists $app->{searchparam}{IncludeBlogs} ) { 
    215         unshift @{ $args{'sort'} }, 
    216           { desc => 'ASC', 
    217             column    => 'blog_id' }; 
    218     } 
    219225 
    220226    my $blog_class = $app->model('blog'); 
  • branches/release-34/lib/MT/Template/Context/Search.pm

    r1708 r1855  
    2828            'NoSearch?' => sub { ( $_[0]->stash('search_string') && 
    2929                                   $_[0]->stash('search_string') =~ /\S/ ) ? 0 : 1 }, 
     30            SearchResultsHeader => \&MT::Template::Context::_hdlr_pass_tokens, 
     31            SearchResultsFooter => \&MT::Template::Context::_hdlr_pass_tokens, 
    3032            BlogResultHeader => \&MT::Template::Context::_hdlr_pass_tokens, 
    3133            BlogResultFooter => \&MT::Template::Context::_hdlr_pass_tokens, 
     
    6163    my $blog_header = 1; 
    6264    my $blog_footer = 0; 
     65    my $footer = 0; 
    6366    my $count_per_blog = 0; 
    6467    my $max_reached = 0; 
     
    113116        else { 
    114117            $blog_footer = 1; 
     118            $footer      = 1; 
    115119        } 
    116120 
    117121        defined(my $out = $build->build($ctx, $tokens, 
    118122            { %$cond,  
     123                SearchResultsHeader => $i == 0, 
     124                SearchResultsFooter => $footer, 
    119125                BlogResultHeader => $blog_header, 
    120126                BlogResultFooter => $blog_footer, 
  • branches/release-34/lib/MT/Template/ContextHandlers.pm

    r1854 r1855  
    244244            NoSearchResults => \&_hdlr_pass_tokens, 
    245245            NoSearch => \&_hdlr_pass_tokens, 
     246            SearchResultsHeader => sub { '' }, 
     247            SearchResultsFooter => sub { '' }, 
    246248            BlogResultHeader => sub { '' }, 
    247249            BlogResultFooter => sub { '' },