Changeset 407
- Timestamp:
- 09/12/07 17:41:31 (15 months ago)
- Location:
- DuplicateEntries/trunk/DuplicateEntries
- Files:
-
- 2 modified
-
DuplicateEntries.pl (modified) (5 diffs)
-
lib/DuplicateEntries/L10N/ja.pm (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
DuplicateEntries/trunk/DuplicateEntries/DuplicateEntries.pl
r406 r407 16 16 use MT::Page; 17 17 use MT::Placement; 18 use MT::Template; 18 19 19 our $VERSION = '0.0 1';20 our $VERSION = '0.02'; 20 21 21 22 my $plugin = __PACKAGE__->new({ 22 23 id => 'duplicate_entries', 23 24 name => 'DuplicateEntries', 24 description => q(<MT_TRANS phrase="DuplicateEntries plugin allows you to duplicate Movable Type entries and pages.">),25 description => q(<MT_TRANS phrase="DuplicateEntries plugin allows you to duplicate Movable Type entries, pages, and templates.">), 25 26 doc_link => 'http://code.as-is.net/wiki/DuplicateEntries', 26 27 author_name => 'Hirotaka Ogawa', … … 40 41 duplicate_entry => { 41 42 label => $plugin->translate('Duplicate Entries'), 42 code => \& list_action_duplicate_entries,43 code => \&_duplicate_entries, 43 44 permission => 'create_post', 44 45 }, … … 47 48 duplicate_page => { 48 49 label => $plugin->translate('Duplicate Pages'), 49 code => \& list_action_duplicate_entries,50 code => \&_duplicate_entries, 50 51 permission => 'create_post', 52 }, 53 }, 54 template => { 55 duplicate_template => { 56 label => $plugin->translate('Duplicate Templates'), 57 code => \&_duplicate_templates, 58 permission => 'edit_templates', 51 59 }, 52 60 }, … … 57 65 } 58 66 59 sub list_action_duplicate_entries {67 sub _duplicate_entries { 60 68 my $app = shift; 61 69 my $perms = $app->permissions; … … 97 105 } 98 106 } 99 $app->mode($type eq 'entry' ? 'list_entries' : 'list_pages'); 100 $app->list_entries({ type => $type }); 107 108 $app->call_return; 109 } 110 111 sub _duplicate_templates { 112 my $app = shift; 113 my $perms = $app->permissions; 114 return $app->trans_error('Permission Denied.') 115 unless $perms && $perms->can_edit_templates; 116 117 my $type = 'template'; 118 my $class = MT->model($type); 119 120 my @tmpl_ids = $app->param('id') 121 or return $app->trans_error('No template was selected to duplicate.'); 122 for my $tmpl_id (@tmpl_ids) { 123 my $tmpl = $class->load($tmpl_id) 124 or return $app->trans_error('Invalid template_id'); 125 my $tmpl_cloned = $tmpl->clone({ 126 except => { 127 id => 1, 128 }, 129 }); 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 144 $tmpl_cloned->save 145 or return $app->trans_error('Error saving template: [_1]', $tmpl_cloned->errstr); 146 } 147 148 $app->call_return; 101 149 } 102 150 -
DuplicateEntries/trunk/DuplicateEntries/lib/DuplicateEntries/L10N/ja.pm
r406 r407 7 7 8 8 our %Lexicon = ( 9 'DuplicateEntries plugin allows you to duplicate Movable Type entries and pages.' => 'DuplicateEntriesプラグインを用いると、Movable Typeのブログ記事・ウェブページを複製することができます。',9 'DuplicateEntries plugin allows you to duplicate Movable Type entries, pages, and templates.' => 'DuplicateEntriesプラグインを用いると、Movable Typeのブログ記事・ウェブページ・テンプレートを複製することができます。', 10 10 'Duplicate Entries' => 'ブログ記事の複製', 11 11 'Duplicate Pages' => 'ウェブページの複製', 12 'Duplicate Templates' => 'テンプレートの複製', 12 13 ); 13 14
![(please configure the [header_logo] section in trac.ini)](/public/chrome/common/trac_banner.png)