Changeset 2464
- Timestamp:
- 05/30/08 04:11:16 (21 months ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
branches/release-39/lib/MT/Template/ContextHandlers.pm
r2463 r2464 7656 7656 } 7657 7657 if ( !$entries ) { 7658 $args{join} = MT::Placement->join_on( 'entry_id', { 7659 category_id => \@cat_ids, %blog_terms 7660 }, { %blog_args, unique => 1 } ); 7658 if ($category_arg !~ m/\bNOT\b/i) { 7659 $args{join} = MT::Placement->join_on( 'entry_id', { 7660 category_id => \@cat_ids, %blog_terms 7661 }, { %blog_args, unique => 1 } ); 7662 } 7661 7663 } 7662 7664 push @filters, sub { $cexpr->($_[0]->id, \%map) }; 7663 7665 } else { 7664 if (! $category_arg ) { 7665 return $ctx->error(MT->translate("You have an error in your '[_2]' attribute: [_1]", $category_arg, $class_type eq 'entry' ? 'category' : 'folder')); 7666 } 7666 return $ctx->error(MT->translate("You have an error in your '[_2]' attribute: [_1]", $category_arg, $class_type eq 'entry' ? 'category' : 'folder')); 7667 7667 } 7668 7668 } … … 7704 7704 }; 7705 7705 if (!$entries) { 7706 $args{join} = MT::ObjectTag->join_on( 'object_id', { 7707 tag_id => \@tag_ids, object_datasource => 'entry', 7708 %blog_terms 7709 }, { %blog_args, unique => 1 } ); 7706 if ($tag_arg !~ m/\bNOT\b/i) { 7707 $args{join} = MT::ObjectTag->join_on( 'object_id', { 7708 tag_id => \@tag_ids, object_datasource => 'entry', 7709 %blog_terms 7710 }, { %blog_args, unique => 1 } ); 7711 } 7710 7712 } 7711 7713 push @filters, sub { $cexpr->($preloader->($_[0]->id)) }; … … 7912 7914 last unless --$limit; 7913 7915 } 7914 $no_resort = 1 unless $args->{sort_order} || $args->{sort_by};7916 $no_resort = $args->{sort_order} || $args->{sort_by} ? 0 : 1; 7915 7917 } else { 7916 7918 @entries = $class->load(\%terms, \%args); … … 7930 7932 $iter = _rco_entries_iter( 7931 7933 \%terms, \%args, \%blog_terms, \%blog_args); 7932 $no_resort = 1 unless $args->{sort_order} || $args->{sort_by};7934 $no_resort = $args->{sort_order} || $args->{sort_by} ? 0 : 1; 7933 7935 } else { 7934 7936 $iter = $class->load_iter(\%terms, \%args);
