AJAX Thumbnail Rebuild - Version 1.06

Version Description

  • FIX: Don't forget metadata for sizes that aren't rebuilt.
  • FIX: Option to only rebuild featured images should now work correctly.
  • FIX: Don't fail if there are no attachments.
  • NEW: It's now possible to toggle all selected sizes.
  • NEW: Added translation: German.
Download this release

Release Info

Developer junkcoder
Plugin Icon wp plugin AJAX Thumbnail Rebuild
Version 1.06
Comparing to
See all releases

Code changes from version 1.05 to 1.06

ajax-thumbnail-rebuild.php CHANGED
@@ -3,9 +3,10 @@
3
  Plugin URI: http://breiti.cc/wordpress/ajax-thumbnail-rebuild
4
  Author: junkcoder
5
  Author URI: http://breiti.cc
6
- Version: 1.05
7
  Description: Rebuild all thumbnails
8
- Max WP Version: 3.0.1
 
9
 
10
  This program is free software; you can redistribute it and/or modify
11
  it under the terms of the GNU General Public License as published by
@@ -29,7 +30,7 @@ class AjaxThumbnailRebuild {
29
  }
30
 
31
  function addAdminMenu() {
32
- add_management_page( __( 'Rebuild all Thumbnails', 'ajax-thumbnail-rebuild' ), __( 'Rebuild Thumbnails', 'ajax_thumbnail_rebuild'
33
  ), 'manage_options', 'ajax-thumbnail-rebuild', array(&$this, 'ManagementPage') );
34
  }
35
 
@@ -46,7 +47,7 @@ class AjaxThumbnailRebuild {
46
 
47
  function regenerate() {
48
  jQuery("#ajax_thumbnail_rebuild").attr("disabled", true);
49
- setMessage("<p>Reading attachments...</p>");
50
 
51
  inputs = jQuery( 'input:checked' );
52
  var thumbnails= '';
@@ -56,26 +57,32 @@ class AjaxThumbnailRebuild {
56
  } );
57
  }
58
 
59
- var onlypostthumbs = jQuery("#onlypostthumbs").attr('checked') ? 1 : 0;
60
 
61
  jQuery.ajax({
62
- url: "<?php bloginfo('wpurl'); ?>/wp-admin/admin-ajax.php",
63
  type: "POST",
64
- data: "action=ajax_thumbnail_rebuild&do=getlist&onlypostthumbs="+onlypostthumbs,
65
  success: function(result) {
66
  var list = eval(result);
67
  var curr = 0;
68
 
 
 
 
 
 
 
69
  function regenItem() {
70
  if (curr >= list.length) {
71
  jQuery("#ajax_thumbnail_rebuild").removeAttr("disabled");
72
- setMessage("Done.");
73
  return;
74
  }
75
- setMessage("Regenerating " + (curr+1) + " of " + list.length + " (" + list[curr].title + ")...");
76
 
77
  jQuery.ajax({
78
- url: "<?php bloginfo('wpurl'); ?>/wp-admin/admin-ajax.php",
79
  type: "POST",
80
  data: "action=ajax_thumbnail_rebuild&do=regen&id=" + list[curr].id + thumbnails,
81
  success: function(result) {
@@ -91,63 +98,59 @@ class AjaxThumbnailRebuild {
91
  regenItem();
92
  },
93
  error: function(request, status, error) {
94
- setMessage("Error " + request.status);
95
  }
96
  });
97
  }
98
 
 
 
 
 
 
 
 
 
99
  // ]]>
100
  </script>
101
 
102
  <form method="post" action="" style="display:inline; float:left; padding-right:30px;">
103
- <h4>Select which thumbnails you want to rebuild:</h4>
104
- <p>
105
-
106
  <?php
107
- global $_wp_additional_image_sizes;
108
-
109
- foreach ( get_intermediate_image_sizes() as $s ):
110
-
111
- if ( isset( $_wp_additional_image_sizes[$s]['width'] ) ) // For theme-added sizes
112
- $width = intval( $_wp_additional_image_sizes[$s]['width'] );
113
- else // For default sizes set in options
114
- $width = get_option( "{$s}_size_w" );
115
-
116
- if ( isset( $_wp_additional_image_sizes[$s]['height'] ) ) // For theme-added sizes
117
- $height = intval( $_wp_additional_image_sizes[$s]['height'] );
118
- else // For default sizes set in options
119
- $height = get_option( "{$s}_size_h" );
120
-
121
- if ( isset( $_wp_additional_image_sizes[$s]['crop'] ) ) // For theme-added sizes
122
- $crop = intval( $_wp_additional_image_sizes[$s]['crop'] );
123
- else // For default sizes set in options
124
- $crop = get_option( "{$s}_crop" );
125
  ?>
126
 
127
- <input type="checkbox" name="thumbnails[]" checked="checked" value="<?php echo $s ?>" />
128
  <label>
129
- <em><?php echo $s ?></em> (width : <?php echo $width ?>, height : <?php echo $height ?>, crop : <?php echo $crop ?>)
 
 
130
  </label>
131
  <br/>
132
  <?php endforeach;?>
133
- </p>
134
  <p>
135
- <input type="checkbox" id="onlypostthumbs" name="onlypostthumbs" />
136
- <label>Only rebuild post thumbnails</label>
137
  </p>
138
 
 
 
139
  <input type="button" onClick="javascript:regenerate();" class="button"
140
  name="ajax_thumbnail_rebuild" id="ajax_thumbnail_rebuild"
141
- value="<?php _e( 'Regenerate All Thumbnails', 'ajax-thumbnail-rebuild' ) ?>" />
142
  <br />
143
  </form>
144
 
145
- <div id="thumb" style="display:none;"><h4>Last image:</h4><img id="thumb-img" /></div>
146
 
147
  <p style="clear:both; padding-top:2em;">
148
- If you find this plugin useful, I'd be happy to read your comments on
149
- the <a href="http://breiti.cc/wordpress/ajax-thumbnail-rebuild" target="_blank">plugin homepage</a>.<br />
150
- If you experience any problems, feel free to leave a comment too.
 
151
  </p>
152
 
153
  <?php
@@ -160,28 +163,18 @@ function ajax_thumbnail_rebuild_ajax() {
160
 
161
  $action = $_POST["do"];
162
  $thumbnails = isset( $_POST['thumbnails'] )? $_POST['thumbnails'] : NULL;
163
- $onlypostthumbs = isset( $_POST['onlypostthumbs'] ) ? $_POST['onlypostthumbs'] : 0;
164
 
165
  if ($action == "getlist") {
166
 
167
- if ($onlypostthumbs) {
168
  /* Get all featured images */
169
- $featured_images = $wpdb->get_results( "SELECT meta_value FROM {$wpdb->postmeta}
170
- WHERE meta_key = '_thumbnail_id'" );
171
 
172
- $thumbs = array();
173
  foreach($featured_images as $image) {
174
- array_push($thumbs, $image->meta_value);
175
  }
176
- $attachments =& get_children( array(
177
- 'post_type' => 'attachment',
178
- 'post_mime_type' => 'image',
179
- 'numberposts' => -1,
180
- 'post_status' => null,
181
- 'post_in' => $thumbs,
182
- 'output' => 'object',
183
- ) );
184
-
185
  } else {
186
  $attachments =& get_children( array(
187
  'post_type' => 'attachment',
@@ -191,11 +184,11 @@ function ajax_thumbnail_rebuild_ajax() {
191
  'post_parent' => null, // any parent
192
  'output' => 'object',
193
  ) );
 
 
 
194
  }
195
 
196
- foreach ( $attachments as $attachment ) {
197
- $res[] = array('id' => $attachment->ID, 'title' => $attachment->post_title);
198
- }
199
  die( json_encode($res) );
200
  } else if ($action == "regen") {
201
  $id = $_POST["id"];
@@ -214,6 +207,34 @@ add_action('wp_ajax_ajax_thumbnail_rebuild', 'ajax_thumbnail_rebuild_ajax');
214
 
215
  add_action( 'plugins_loaded', create_function( '', 'global $AjaxThumbnailRebuild; $AjaxThumbnailRebuild = new AjaxThumbnailRebuild();' ) );
216
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
217
 
218
  /**
219
  * Generate post thumbnail attachment meta data.
@@ -238,36 +259,14 @@ function wp_generate_attachment_metadata_custom( $attachment_id, $file, $thumbna
238
  // Make the file path relative to the upload dir
239
  $metadata['file'] = _wp_relative_upload_path($file);
240
 
241
- // make thumbnails and other intermediate sizes
242
- global $_wp_additional_image_sizes;
243
-
244
- foreach ( get_intermediate_image_sizes() as $s ) {
245
- $sizes[$s] = array( 'width' => '', 'height' => '', 'crop' => FALSE );
246
- if ( isset( $_wp_additional_image_sizes[$s]['width'] ) )
247
- $sizes[$s]['width'] = intval( $_wp_additional_image_sizes[$s]['width'] ); // For theme-added sizes
248
- else
249
- $sizes[$s]['width'] = get_option( "{$s}_size_w" ); // For default sizes set in options
250
- if ( isset( $_wp_additional_image_sizes[$s]['height'] ) )
251
- $sizes[$s]['height'] = intval( $_wp_additional_image_sizes[$s]['height'] ); // For theme-added sizes
252
- else
253
- $sizes[$s]['height'] = get_option( "{$s}_size_h" ); // For default sizes set in options
254
- if ( isset( $_wp_additional_image_sizes[$s]['crop'] ) )
255
- $sizes[$s]['crop'] = intval( $_wp_additional_image_sizes[$s]['crop'] ); // For theme-added sizes
256
- else
257
- $sizes[$s]['crop'] = get_option( "{$s}_crop" ); // For default sizes set in options
258
- }
259
-
260
  $sizes = apply_filters( 'intermediate_image_sizes_advanced', $sizes );
261
 
262
  foreach ($sizes as $size => $size_data ) {
263
- if( isset( $thumbnails ) )
264
- if( !in_array( $size, $thumbnails ) )
265
- continue;
266
-
267
- $resized = image_make_intermediate_size( $file, $size_data['width'], $size_data['height'], $size_data['crop'] );
268
-
269
- if ( $resized )
270
- $metadata['sizes'][$size] = $resized;
271
  }
272
 
273
  // fetch additional metadata from exif/iptc
@@ -280,4 +279,6 @@ function wp_generate_attachment_metadata_custom( $attachment_id, $file, $thumbna
280
  return apply_filters( 'wp_generate_attachment_metadata', $metadata, $attachment_id );
281
  }
282
 
 
 
283
  ?>
3
  Plugin URI: http://breiti.cc/wordpress/ajax-thumbnail-rebuild
4
  Author: junkcoder
5
  Author URI: http://breiti.cc
6
+ Version: 1.06
7
  Description: Rebuild all thumbnails
8
+ Max WP Version: 3.2.1
9
+ Text Domain: ajax-thumbnail-rebuild
10
 
11
  This program is free software; you can redistribute it and/or modify
12
  it under the terms of the GNU General Public License as published by
30
  }
31
 
32
  function addAdminMenu() {
33
+ add_management_page( __( 'Rebuild all Thumbnails', 'ajax-thumbnail-rebuild' ), __( 'Rebuild Thumbnails', 'ajax-thumbnail-rebuild'
34
  ), 'manage_options', 'ajax-thumbnail-rebuild', array(&$this, 'ManagementPage') );
35
  }
36
 
47
 
48
  function regenerate() {
49
  jQuery("#ajax_thumbnail_rebuild").attr("disabled", true);
50
+ setMessage("<p><?php _e('Reading attachments...', 'ajax-thumbnail-rebuild') ?></p>");
51
 
52
  inputs = jQuery( 'input:checked' );
53
  var thumbnails= '';
57
  } );
58
  }
59
 
60
+ var onlyfeatured = jQuery("#onlyfeatured").attr('checked') ? 1 : 0;
61
 
62
  jQuery.ajax({
63
+ url: "<?php echo admin_url('admin-ajax.php'); ?>",
64
  type: "POST",
65
+ data: "action=ajax_thumbnail_rebuild&do=getlist&onlyfeatured="+onlyfeatured,
66
  success: function(result) {
67
  var list = eval(result);
68
  var curr = 0;
69
 
70
+ if (!list) {
71
+ setMessage("<?php _e('No attachments found.', 'ajax-thumbnail-rebuild')?>");
72
+ jQuery("#ajax_thumbnail_rebuild").removeAttr("disabled");
73
+ return;
74
+ }
75
+
76
  function regenItem() {
77
  if (curr >= list.length) {
78
  jQuery("#ajax_thumbnail_rebuild").removeAttr("disabled");
79
+ setMessage("<?php _e('Done.', 'ajax-thumbnail-rebuild') ?>");
80
  return;
81
  }
82
+ setMessage(<?php printf( __('"Rebuilding " + %s + " of " + %s + " (" + %s + ")..."', 'ajax-thumbnail-rebuild'), "(curr+1)", "list.length", "list[curr].title"); ?>);
83
 
84
  jQuery.ajax({
85
+ url: "<?php echo admin_url('admin-ajax.php'); ?>",
86
  type: "POST",
87
  data: "action=ajax_thumbnail_rebuild&do=regen&id=" + list[curr].id + thumbnails,
88
  success: function(result) {
98
  regenItem();
99
  },
100
  error: function(request, status, error) {
101
+ setMessage("<?php _e('Error', 'ajax-thumbnail-rebuild') ?>" + request.status);
102
  }
103
  });
104
  }
105
 
106
+ jQuery(document).ready(function() {
107
+ jQuery('#size-toggle').click(function() {
108
+ jQuery("#sizeselect").find("input[type=checkbox]").each(function() {
109
+ jQuery(this).attr("checked", !jQuery(this).attr("checked"));
110
+ });
111
+ });
112
+ });
113
+
114
  // ]]>
115
  </script>
116
 
117
  <form method="post" action="" style="display:inline; float:left; padding-right:30px;">
118
+ <h4><?php _e('Select which thumbnails you want to rebuild', 'ajax-thumbnail-rebuild'); ?>:</h4>
119
+ <a href="javascript:void(0);" id="size-toggle"><?php _e('Toggle all', 'ajax-thumbnail-rebuild'); ?></a>
120
+ <div id="sizeselect">
121
  <?php
122
+ foreach ( ajax_thumbnail_rebuild_get_sizes() as $s ):
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
123
  ?>
124
 
125
+ <input type="checkbox" name="thumbnails[]" id="sizeselect" checked="checked" value="<?php echo $s['name'] ?>" />
126
  <label>
127
+ <em><?php echo $s['name'] ?></em>
128
+ &nbsp;(<?php echo $s['width'] ?>x<?php echo $s['height'] ?>
129
+ <?php if ($s['crop']) _e('cropped', 'ajax-thumbnail-rebuild'); ?>)
130
  </label>
131
  <br/>
132
  <?php endforeach;?>
133
+ </div>
134
  <p>
135
+ <input type="checkbox" id="onlyfeatured" name="onlyfeatured" />
136
+ <label><?php _e('Only rebuild featured images', 'ajax-thumbnail-rebuild'); ?></label>
137
  </p>
138
 
139
+ <p><?php _e("Note: If you've changed the dimensions of your thumbnails, existing thumbnail images will not be deleted.",
140
+ 'ajax-thumbnail-rebuild'); ?></p>
141
  <input type="button" onClick="javascript:regenerate();" class="button"
142
  name="ajax_thumbnail_rebuild" id="ajax_thumbnail_rebuild"
143
+ value="<?php _e( 'Rebuild All Thumbnails', 'ajax-thumbnail-rebuild' ) ?>" />
144
  <br />
145
  </form>
146
 
147
+ <div id="thumb" style="display:none;"><h4><?php _e('Last image', 'ajax-thumbnail-rebuild'); ?>:</h4><img id="thumb-img" /></div>
148
 
149
  <p style="clear:both; padding-top:2em;">
150
+ <?php printf( __("If you find this plugin useful, I'd be happy to read your comments on the %splugin homepage%s. If you experience any problems, feel free to leave a comment too.",
151
+ 'ajax-thumbnail-rebuild'),
152
+ '<a href="http://breiti.cc/wordpress/ajax-thumbnail-rebuild" target="_blank">', '</a>');
153
+ ?>
154
  </p>
155
 
156
  <?php
163
 
164
  $action = $_POST["do"];
165
  $thumbnails = isset( $_POST['thumbnails'] )? $_POST['thumbnails'] : NULL;
166
+ $onlyfeatured = isset( $_POST['onlyfeatured'] ) ? $_POST['onlyfeatured'] : 0;
167
 
168
  if ($action == "getlist") {
169
 
170
+ if ($onlyfeatured) {
171
  /* Get all featured images */
172
+ $featured_images = $wpdb->get_results( "SELECT meta_value,{$wpdb->posts}.post_title AS title FROM {$wpdb->postmeta}, {$wpdb->posts}
173
+ WHERE meta_key = '_thumbnail_id' AND {$wpdb->postmeta}.post_id={$wpdb->posts}.ID");
174
 
 
175
  foreach($featured_images as $image) {
176
+ $res[] = array('id' => $image->meta_value, 'title' => $image->title);
177
  }
 
 
 
 
 
 
 
 
 
178
  } else {
179
  $attachments =& get_children( array(
180
  'post_type' => 'attachment',
184
  'post_parent' => null, // any parent
185
  'output' => 'object',
186
  ) );
187
+ foreach ( $attachments as $attachment ) {
188
+ $res[] = array('id' => $attachment->ID, 'title' => $attachment->post_title);
189
+ }
190
  }
191
 
 
 
 
192
  die( json_encode($res) );
193
  } else if ($action == "regen") {
194
  $id = $_POST["id"];
207
 
208
  add_action( 'plugins_loaded', create_function( '', 'global $AjaxThumbnailRebuild; $AjaxThumbnailRebuild = new AjaxThumbnailRebuild();' ) );
209
 
210
+ function ajax_thumbnail_rebuild_get_sizes() {
211
+ global $_wp_additional_image_sizes;
212
+
213
+ foreach ( get_intermediate_image_sizes() as $s ) {
214
+ $sizes[$s] = array( 'name' => '', 'width' => '', 'height' => '', 'crop' => FALSE );
215
+
216
+ /* Read theme added sizes or fall back to default sizes set in options... */
217
+
218
+ $sizes[$s]['name'] = $s;
219
+
220
+ if ( isset( $_wp_additional_image_sizes[$s]['width'] ) )
221
+ $sizes[$s]['width'] = intval( $_wp_additional_image_sizes[$s]['width'] );
222
+ else
223
+ $sizes[$s]['width'] = get_option( "{$s}_size_w" );
224
+
225
+ if ( isset( $_wp_additional_image_sizes[$s]['height'] ) )
226
+ $sizes[$s]['height'] = intval( $_wp_additional_image_sizes[$s]['height'] );
227
+ else
228
+ $sizes[$s]['height'] = get_option( "{$s}_size_h" );
229
+
230
+ if ( isset( $_wp_additional_image_sizes[$s]['crop'] ) )
231
+ $sizes[$s]['crop'] = intval( $_wp_additional_image_sizes[$s]['crop'] );
232
+ else
233
+ $sizes[$s]['crop'] = get_option( "{$s}_crop" );
234
+ }
235
+
236
+ return $sizes;
237
+ }
238
 
239
  /**
240
  * Generate post thumbnail attachment meta data.
259
  // Make the file path relative to the upload dir
260
  $metadata['file'] = _wp_relative_upload_path($file);
261
 
262
+ $sizes = ajax_thumbnail_rebuild_get_sizes();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
263
  $sizes = apply_filters( 'intermediate_image_sizes_advanced', $sizes );
264
 
265
  foreach ($sizes as $size => $size_data ) {
266
+ if( isset( $thumbnails ) && !in_array( $size, $thumbnails ))
267
+ $metadata['sizes'][$size] = image_get_intermediate_size( $attachment_id, $size_data['name'] );
268
+ else
269
+ $metadata['sizes'][$size] = image_make_intermediate_size( $file, $size_data['width'], $size_data['height'], $size_data['crop'] );
 
 
 
 
270
  }
271
 
272
  // fetch additional metadata from exif/iptc
279
  return apply_filters( 'wp_generate_attachment_metadata', $metadata, $attachment_id );
280
  }
281
 
282
+ load_plugin_textdomain('ajax-thumbnail-rebuild', false, basename( dirname( __FILE__ ) ) . '/languages' );
283
+
284
  ?>
languages/ajax-thumbnail-rebuild-de_DE.mo ADDED
Binary file
languages/ajax-thumbnail-rebuild-de_DE.po ADDED
@@ -0,0 +1,96 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (C) 2010 AJAX Thumbnail Rebuild
2
+ # This file is distributed under the same license as the AJAX Thumbnail Rebuild package.
3
+ msgid ""
4
+ msgstr ""
5
+ "Project-Id-Version: AJAX Thumbnail Rebuild 1.05\n"
6
+ "Report-Msgid-Bugs-To: http://wordpress.org/tag/ajax-thumbnail-rebuild\n"
7
+ "POT-Creation-Date: 2011-12-02 18:02:56+00:00\n"
8
+ "MIME-Version: 1.0\n"
9
+ "Content-Type: text/plain; charset=UTF-8\n"
10
+ "Content-Transfer-Encoding: 8bit\n"
11
+ "PO-Revision-Date: 2010-MO-DA HO:MI+ZONE\n"
12
+
13
+ #: ajax-thumbnail-rebuild.php:33
14
+ msgid "Rebuild all Thumbnails"
15
+ msgstr "Alle Miniaturbilder neu erstellen"
16
+
17
+ #: ajax-thumbnail-rebuild.php:33
18
+ msgid "Rebuild Thumbnails"
19
+ msgstr "Miniaturbilder neu erstellen"
20
+
21
+ #: ajax-thumbnail-rebuild.php:50
22
+ msgid "Reading attachments..."
23
+ msgstr "Anhänge lesen..."
24
+
25
+ #: ajax-thumbnail-rebuild.php:71
26
+ msgid "No attachments found."
27
+ msgstr "Keine Anhänge gefunden."
28
+
29
+ #: ajax-thumbnail-rebuild.php:79
30
+ msgid "Done."
31
+ msgstr "Fertig."
32
+
33
+ #: ajax-thumbnail-rebuild.php:82
34
+ msgid "\"Rebuilding \" + %s + \" of \" + %s + \" (\" + %s + \")...\""
35
+ msgstr "\"Erzeuge \" + %s + \" von \" + %s + \" (\" + %s + \") neu...\""
36
+
37
+ #: ajax-thumbnail-rebuild.php:101
38
+ msgid "Error"
39
+ msgstr "Fehler"
40
+
41
+ #: ajax-thumbnail-rebuild.php:118
42
+ msgid "Select which thumbnails you want to rebuild"
43
+ msgstr "Neu zu erstellende Miniaturbilder auswählen"
44
+
45
+ #: ajax-thumbnail-rebuild.php:119
46
+ msgid "Toggle all"
47
+ msgstr "Auswahl umkehren"
48
+
49
+ #: ajax-thumbnail-rebuild.php:129
50
+ msgid "cropped"
51
+ msgstr "beschneiden"
52
+
53
+ #: ajax-thumbnail-rebuild.php:136
54
+ msgid "Only rebuild featured images"
55
+ msgstr "Nur Artikelbilder neu erstellen"
56
+
57
+ #: ajax-thumbnail-rebuild.php:139
58
+ msgid ""
59
+ "Note: If you've changed the dimensions of your thumbnails, existing "
60
+ "thumbnail images will not be deleted."
61
+ msgstr "Hinweis: Bei Änderung der Dimensionen werden alte Bilder nicht gelöscht."
62
+
63
+ #: ajax-thumbnail-rebuild.php:143
64
+ msgid "Rebuild All Thumbnails"
65
+ msgstr "Alle Miniaturbilder neu erzeugen"
66
+
67
+ #: ajax-thumbnail-rebuild.php:147
68
+ msgid "Last image"
69
+ msgstr "Letztes Bild"
70
+
71
+ #: ajax-thumbnail-rebuild.php:150
72
+ msgid ""
73
+ "If you find this plugin useful, I'd be happy to read your comments on the %"
74
+ "splugin homepage%s. If you experience any problems, feel free to leave a "
75
+ "comment too."
76
+ msgstr ""
77
+
78
+ #. Plugin Name of the plugin/theme
79
+ msgid "AJAX Thumbnail Rebuild"
80
+ msgstr ""
81
+
82
+ #. Plugin URI of the plugin/theme
83
+ msgid "http://breiti.cc/wordpress/ajax-thumbnail-rebuild"
84
+ msgstr ""
85
+
86
+ #. Description of the plugin/theme
87
+ msgid "Rebuild all thumbnails"
88
+ msgstr "Miniaturbilder neu erstellen"
89
+
90
+ #. Author of the plugin/theme
91
+ msgid "junkcoder"
92
+ msgstr ""
93
+
94
+ #. Author URI of the plugin/theme
95
+ msgid "http://breiti.cc"
96
+ msgstr ""
languages/ajax-thumbnail-rebuild.pot ADDED
@@ -0,0 +1,98 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (C) 2010 AJAX Thumbnail Rebuild
2
+ # This file is distributed under the same license as the AJAX Thumbnail Rebuild package.
3
+ msgid ""
4
+ msgstr ""
5
+ "Project-Id-Version: AJAX Thumbnail Rebuild 1.05\n"
6
+ "Report-Msgid-Bugs-To: http://wordpress.org/tag/ajax-thumbnail-rebuild\n"
7
+ "POT-Creation-Date: 2011-12-02 18:11:04+00:00\n"
8
+ "MIME-Version: 1.0\n"
9
+ "Content-Type: text/plain; charset=UTF-8\n"
10
+ "Content-Transfer-Encoding: 8bit\n"
11
+ "PO-Revision-Date: 2010-MO-DA HO:MI+ZONE\n"
12
+ "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
+ "Language-Team: LANGUAGE <LL@li.org>\n"
14
+
15
+ #: ajax-thumbnail-rebuild.php:33
16
+ msgid "Rebuild all Thumbnails"
17
+ msgstr ""
18
+
19
+ #: ajax-thumbnail-rebuild.php:33
20
+ msgid "Rebuild Thumbnails"
21
+ msgstr ""
22
+
23
+ #: ajax-thumbnail-rebuild.php:50
24
+ msgid "Reading attachments..."
25
+ msgstr ""
26
+
27
+ #: ajax-thumbnail-rebuild.php:71
28
+ msgid "No attachments found."
29
+ msgstr ""
30
+
31
+ #: ajax-thumbnail-rebuild.php:79
32
+ msgid "Done."
33
+ msgstr ""
34
+
35
+ #: ajax-thumbnail-rebuild.php:82
36
+ msgid "\"Rebuilding \" + %s + \" of \" + %s + \" (\" + %s + \")...\""
37
+ msgstr ""
38
+
39
+ #: ajax-thumbnail-rebuild.php:101
40
+ msgid "Error"
41
+ msgstr ""
42
+
43
+ #: ajax-thumbnail-rebuild.php:118
44
+ msgid "Select which thumbnails you want to rebuild"
45
+ msgstr ""
46
+
47
+ #: ajax-thumbnail-rebuild.php:119
48
+ msgid "Toggle all"
49
+ msgstr ""
50
+
51
+ #: ajax-thumbnail-rebuild.php:129
52
+ msgid "cropped"
53
+ msgstr ""
54
+
55
+ #: ajax-thumbnail-rebuild.php:136
56
+ msgid "Only rebuild featured images"
57
+ msgstr ""
58
+
59
+ #: ajax-thumbnail-rebuild.php:139
60
+ msgid ""
61
+ "Note: If you've changed the dimensions of your thumbnails, existing "
62
+ "thumbnail images will not be deleted."
63
+ msgstr ""
64
+
65
+ #: ajax-thumbnail-rebuild.php:143
66
+ msgid "Rebuild All Thumbnails"
67
+ msgstr ""
68
+
69
+ #: ajax-thumbnail-rebuild.php:147
70
+ msgid "Last image"
71
+ msgstr ""
72
+
73
+ #: ajax-thumbnail-rebuild.php:150
74
+ msgid ""
75
+ "If you find this plugin useful, I'd be happy to read your comments on the %"
76
+ "splugin homepage%s. If you experience any problems, feel free to leave a "
77
+ "comment too."
78
+ msgstr ""
79
+
80
+ #. Plugin Name of the plugin/theme
81
+ msgid "AJAX Thumbnail Rebuild"
82
+ msgstr ""
83
+
84
+ #. Plugin URI of the plugin/theme
85
+ msgid "http://breiti.cc/wordpress/ajax-thumbnail-rebuild"
86
+ msgstr ""
87
+
88
+ #. Description of the plugin/theme
89
+ msgid "Rebuild all thumbnails"
90
+ msgstr ""
91
+
92
+ #. Author of the plugin/theme
93
+ msgid "junkcoder"
94
+ msgstr ""
95
+
96
+ #. Author URI of the plugin/theme
97
+ msgid "http://breiti.cc"
98
+ msgstr ""
readme.txt CHANGED
@@ -2,8 +2,8 @@
2
  Contributors: junkcoder
3
  Tags: ajax, thumbnail, rebuild, regenerate, admin
4
  Requires at least: 2.8
5
- Tested up to: 3.2
6
- Stable tag: 1.05
7
 
8
  AJAX Thumbnail Rebuild allows you to rebuild all thumbnails at once without script timeouts on your server.
9
 
@@ -23,6 +23,14 @@ Upload the plugin to your blog, activate it, done. You can then rebuild all thum
23
 
24
  == Changelog ==
25
 
 
 
 
 
 
 
 
 
26
  = 1.05 =
27
 
28
  * Add option to only rebuild post thumbnails (featured images)
2
  Contributors: junkcoder
3
  Tags: ajax, thumbnail, rebuild, regenerate, admin
4
  Requires at least: 2.8
5
+ Tested up to: 3.2.1
6
+ Stable tag: 1.06
7
 
8
  AJAX Thumbnail Rebuild allows you to rebuild all thumbnails at once without script timeouts on your server.
9
 
23
 
24
  == Changelog ==
25
 
26
+ = 1.06 =
27
+
28
+ * FIX: Don't forget metadata for sizes that aren't rebuilt.
29
+ * FIX: Option to only rebuild featured images should now work correctly.
30
+ * FIX: Don't fail if there are no attachments.
31
+ * NEW: It's now possible to toggle all selected sizes.
32
+ * NEW: Added translation: German.
33
+
34
  = 1.05 =
35
 
36
  * Add option to only rebuild post thumbnails (featured images)