Show
Ignore:
Timestamp:
08/18/08 13:04:44 (5 months ago)
Author:
ogawa
Message:

Add backup and overwrite options.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • Templets/trunk/Templets/lib/Templets/CMS.pm

    r483 r489  
    6969      if !$tmpl_list || ( ref($tmpl_list) ne 'ARRAY' ) || ( !@$tmpl_list ); 
    7070 
     71    # options 
     72    my $overwrite = $app->param('overwrite') || 0; 
     73    my $backup    = $app->param('backup')    || 0; 
     74 
     75    my @ts = MT::Util::offset_time_list( time, $blog ); 
     76    my $ts = sprintf "%04d-%02d-%02d %02d:%02d:%02d", $ts[5] + 1900, $ts[4] + 1, 
     77      @ts[ 3, 2, 1, 0 ]; 
     78 
    7179    # The following part is based on MT::Blog->create_default_templates() 
    7280    require MT::Template; 
     
    8997            $terms->{identifier} = $val->{identifier}; 
    9098        } 
    91         next if MT::Template->exist($terms); 
     99        next if !$overwrite && MT::Template->exist($terms); 
     100 
     101        my $iter = MT::Template->load_iter($terms); 
     102        while ( my $tmpl = $iter->() ) { 
     103            if ($backup) { 
     104                require MT::TemplateMap; 
     105                MT::TemplateMap->remove( { template_id => $tmpl->id, } ); 
     106                $tmpl->type('backup'); 
     107                $tmpl->name( $tmpl->name . ' (Backup from ' . $ts . ')' ); 
     108                $tmpl->identifier(undef); 
     109                $tmpl->rebuild_me(0); 
     110                $tmpl->linked_file(undef); 
     111                $tmpl->outfile(''); 
     112                $tmpl->save; 
     113            } 
     114            else { 
     115                $tmpl->remove; 
     116            } 
     117        } 
    92118 
    93119        my $obj = MT::Template->new;