| 432 | | my $rebuild_triggers = $data->{rebuild_triggers} |
| 433 | | or next; |
| 434 | | my @restored; |
| 435 | | foreach my $trg_str ( split ( '\|', $rebuild_triggers ) ) { |
| 436 | | my ( $action, $id, $trigger ) = split ( ':', $trg_str ); |
| 437 | | if ( $id eq '_all' ) { |
| 438 | | push @restored, "$action:$id:$trigger"; |
| 439 | | } |
| 440 | | elsif ( my $new_obj = $objects->{'MT::Blog#' . $id} ) { |
| 441 | | push @restored, "$action:" . $new_obj->id . ":$trigger"; |
| 442 | | $callback->( |
| 443 | | $plugin->translate('Restoring MultiBlog rebuild trigger for blog #[_1]...', $id) |
| 444 | | ); |
| 445 | | } |
| 446 | | } |
| 447 | | if ( @restored ) { |
| 448 | | $data->{rebuild_triggers} = join ( '|', @restored ); |
| | 432 | if ( my $rebuild_triggers = $data->{rebuild_triggers} ) { |
| | 433 | my @restored; |
| | 434 | foreach my $trg_str ( split ( '\|', $rebuild_triggers ) ) { |
| | 435 | my ( $action, $id, $trigger ) = split ( ':', $trg_str ); |
| | 436 | if ( $id eq '_all' ) { |
| | 437 | push @restored, "$action:$id:$trigger"; |
| | 438 | } elsif ( $id eq '_blogs_in_website' ) { |
| | 439 | my @keys = keys %{ $data->{blogs_in_website_triggers} }; |
| | 440 | foreach my $act ( @keys ) { |
| | 441 | my @old_ids = keys %{ $data->{blogs_in_website_triggers}{$act} }; |
| | 442 | foreach my $old_id ( @old_ids ) { |
| | 443 | my $new_obj = $objects->{'MT::Blog#' . $old_id}; |
| | 444 | $new_obj = $objects->{'MT::Website#' . $old_id} |
| | 445 | unless $new_obj; |
| | 446 | if ( $new_obj ) { |
| | 447 | $data->{blogs_in_website_triggers}{$act}{$new_obj->id} = |
| | 448 | delete $data->{blogs_in_website_triggers}{$act}{$old_id}; |
| | 449 | $callback->( |
| | 450 | $plugin->translate('Restoring MultiBlog rebuild trigger for blog #[_1]...', $old_id)); |
| | 451 | } |
| | 452 | } |
| | 453 | } |
| | 454 | push @restored, "$action:$id:$trigger"; |
| | 455 | } else { |
| | 456 | my $new_obj = $objects->{'MT::Blog#' . $id}; |
| | 457 | $new_obj = $objects->{'MT::Website#' . $id} |
| | 458 | unless $new_obj; |
| | 459 | if ( $new_obj ) { |
| | 460 | push @restored, "$action:" . $new_obj->id . ":$trigger"; |
| | 461 | $callback->( |
| | 462 | $plugin->translate('Restoring MultiBlog rebuild trigger for blog #[_1]...', $id) |
| | 463 | ); |
| | 464 | } |
| | 465 | } |
| | 466 | } |
| | 467 | |
| | 468 | if ( @restored ) { |
| | 469 | $data->{rebuild_triggers} = join ( '|', @restored ); |
| | 470 | $pd->data($data); |
| | 471 | $pd->save; |
| | 472 | } |
| | 473 | } elsif ( my $other_triggers = $data->{other_triggers} ) { |
| | 474 | my @keys = keys %{ $other_triggers }; |
| | 475 | foreach my $act ( @keys ) { |
| | 476 | my @old_ids = keys %{ $other_triggers->{$act} }; |
| | 477 | foreach my $old_id ( @old_ids ) { |
| | 478 | my $new_obj = $objects->{'MT::Blog#' . $old_id}; |
| | 479 | $new_obj = $objects->{'MT::Website#' . $old_id} |
| | 480 | unless $new_obj; |
| | 481 | if ( $new_obj ) { |
| | 482 | $data->{other_triggers}{$act}{$new_obj->id} = |
| | 483 | delete $data->{other_triggers}{$act}{$old_id}; |
| | 484 | $callback->( |
| | 485 | $plugin->translate('Restoring MultiBlog rebuild trigger for blog #[_1]...', $old_id)); |
| | 486 | } |
| | 487 | } |
| | 488 | } |