Changeset 1855 for branches/release-34/lib/MT/App/Search/TagSearch.pm
- Timestamp:
- 04/11/08 04:20:13 (19 months ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
branches/release-34/lib/MT/App/Search/TagSearch.pm
r1516 r1855 35 35 36 36 my $format = $app->param('format') || q(); 37 my $method = "render$format"; 37 my $method = "render"; 38 $method .= $format if $format && $app->can($method . $format); 38 39 $out = $app->$method( $count, $iter ); 39 40 … … 195 196 ); 196 197 198 my $desc = 'descend' eq $app->{searchparam}{SearchResultDisplay} ? 'DESC' : 'ASC'; 199 my @sort; 197 200 my $sort = $params->{'sort'}; 198 201 if ( $sort !~ /\w+\!$/ && $app->{searchparam}{SearchSortBy} ) { 199 202 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 }; 203 218 204 219 my %args = ( … … 206 221 $limit ? ( 'limit' => $limit ) : (), 207 222 $offset ? ( 'offset' => $offset ) : (), 208 $sort ? ( 'sort' => [ 209 { desc => 'descend' eq $app->{searchparam}{SearchResultDisplay} ? 'DESC' : 'ASC', 210 column => $sort } 211 ] ) : (), 223 @sort ? ( 'sort' => \@sort ) : (), 212 224 ); 213 214 if ( exists $app->{searchparam}{IncludeBlogs} ) {215 unshift @{ $args{'sort'} },216 { desc => 'ASC',217 column => 'blog_id' };218 }219 225 220 226 my $blog_class = $app->model('blog');
