Changeset 410

Show
Ignore:
Timestamp:
09/13/07 00:47:22 (1 year ago)
Author:
ogawa
Message:

Add sub make_unique_tmpl_name() for refactoring.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • DuplicateEntries/trunk/DuplicateEntries/DuplicateEntries.pl

    r408 r410  
    4141                        duplicate_entry => { 
    4242                            label      => $plugin->translate('Duplicate Entries'), 
    43                             code       => \&_duplicate_entries, 
     43                            code       => \&duplicate_entries, 
    4444                            permission => 'create_post', 
    4545                        }, 
     
    4848                        duplicate_page => { 
    4949                            label      => $plugin->translate('Duplicate Pages'), 
    50                             code       => \&_duplicate_entries, 
     50                            code       => \&duplicate_entries, 
    5151                            permission => 'create_post', 
    5252                        }, 
     
    5555                        duplicate_template => { 
    5656                            label      => $plugin->translate('Duplicate Templates'), 
    57                             code       => \&_duplicate_templates, 
     57                            code       => \&duplicate_templates, 
    5858                            permission => 'edit_templates', 
    5959                        }, 
     
    6565} 
    6666 
    67 sub _duplicate_entries { 
     67sub duplicate_entries { 
    6868    my $app = shift; 
    6969    my $perms = $app->permissions; 
     
    109109} 
    110110 
    111 sub _duplicate_templates { 
     111sub duplicate_templates { 
    112112    my $app = shift; 
    113113    my $perms = $app->permissions; 
     
    128128            }, 
    129129        }); 
    130  
    131         # generate a unique template name 
    132         my $blog_id = $tmpl->blog_id; 
    133         my $name = $tmpl->name; 
    134         my $name_cloned = $name . ' (1)'; 
    135         my $i = 1; 
    136         while ($class->count({ 
    137             name    => $name_cloned, 
    138             blog_id => $blog_id, 
    139         })) { 
    140             $name_cloned = $name . ' (' . $i++ . ')'; 
    141         } 
    142         $tmpl_cloned->name($name_cloned); 
    143  
     130        $tmpl_cloned->name(make_unique_tmpl_name($tmpl)); 
    144131        $tmpl_cloned->save 
    145132            or return $app->error($plugin->translate('Saving template failed: [_1]', $tmpl_cloned->errstr)); 
     
    149136} 
    150137 
     138sub make_unique_tmpl_name { 
     139    my $tmpl = shift; 
     140    my $blog_id = $tmpl->blog_id; 
     141    my $tmpl_name = $tmpl->name; 
     142    my $unique_tmpl_name; 
     143    my $i = 1; 
     144    do { 
     145        $unique_tmpl_name = $tmpl_name . ' (' . $i++ . ')'; 
     146    } while (MT->model('template')->count({ 
     147        name    => $unique_tmpl_name, 
     148        blog_id => $blog_id 
     149    })); 
     150 
     151    $unique_tmpl_name; 
     152} 
     153 
    1511541;