Changeset 2932

Show
Ignore:
Timestamp:
08/18/08 07:50:03 (4 months ago)
Author:
fumiakiy
Message:

Restore rebuild_triggers' association to restored blogs. BugId:79343

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/plugins/MultiBlog/lib/MultiBlog.pm

    r2727 r2932  
    320320} 
    321321 
     322sub post_restore { 
     323    my ( $plugin, $cb, $objects, $deferred, $errors, $callback ) = @_; 
     324 
     325    foreach my $key ( keys %$objects ) { 
     326        next unless $key =~ /^MT::PluginData#\d+$/; 
     327        my $pd = $objects->{$key}; 
     328        my $data = $pd->data; 
     329        my $rebuild_triggers = $data->{rebuild_triggers} 
     330            or next; 
     331        my @restored; 
     332        foreach my $trg_str ( split ( '\|', $rebuild_triggers ) ) { 
     333            my ( $action, $id, $trigger ) = split ( ':', $trg_str ); 
     334            if ( $id eq '_all' ) { 
     335                push @restored, "$action:$id:$trigger"; 
     336            } 
     337            elsif ( my $new_obj = $objects->{'MT::Blog#' . $id} ) { 
     338                push @restored, "$action:" . $new_obj->id . ":$trigger"; 
     339                $callback->( 
     340                    $plugin->translate('Restoring MultiBlog rebuild trigger for blog #[_1]...', $id) 
     341                ); 
     342            } 
     343        } 
     344        if ( @restored ) { 
     345            $data->{rebuild_triggers} = join ( '|', @restored ); 
     346            $pd->data($data); 
     347            $pd->save; 
     348        } 
     349    } 
     350} 
    322351 
    3233521; 
  • trunk/plugins/MultiBlog/multiblog.pl

    r2727 r2932  
    8585    sub { $plugin->runner( 'post_feedback_save', 'tb_pub', @_ ) } ); 
    8686 
     87# Register restore callback to restore blog assciation of triggers 
     88MT->add_callback( 'restore', 10, $plugin, 
     89    sub { $plugin->runner( 'post_restore', @_ ) } ); 
     90 
    8791sub instance { $plugin } 
    8892