Changeset 2882
- Timestamp:
- 08/01/08 21:51:43 (4 months ago)
- Files:
-
- branches/release-42/lib/MT/Template.pm (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
branches/release-42/lib/MT/Template.pm
r2844 r2882 329 329 my $string_tmpl = '<mt:include widget="%s">'; 330 330 my $text = q(); 331 my @ids; 331 332 foreach my $wid (@inst) { 332 333 my ( $tmpl ) = grep { $_->id eq $wid } @widgets; 333 334 next unless $tmpl; 334 335 $text .= sprintf( $string_tmpl, $tmpl->name ); 335 } 336 push @ids, $wid; 337 } 338 $obj->modulesets( join ',', @ids ) 339 if scalar @ids != scalar @inst; 336 340 $obj->text($text) if $text; 337 341 return $obj->SUPER::save; … … 661 665 } 662 666 667 sub post_remove_widget { 668 my $tmpl = shift; 669 return unless $tmpl->type eq 'widget'; 670 671 my $iter = MT::Template->load_iter({ 672 blog_id => [ $tmpl->blog_id, 0 ], 673 type => 'widgetset', 674 }); 675 my @resave; 676 while ( my $ws = $iter->() ) { 677 my @mods = split( ',', $ws->modulesets ); 678 if ( grep { $_ == $tmpl->id } @mods ) { 679 push @resave, $ws; 680 } 681 } 682 $_->save for @resave; 683 } 684 __PACKAGE__->add_trigger('post_remove' => \&post_remove_widget); 685 663 686 # Some DOM-inspired methods (replicating the interface, so it's more 664 687 # familiar to those who know DOM)
