WP Offload S3 Lite - Version 2.6.2

Version Description

= 2.6 = This is a major upgrade that updates the format of information stored about offloaded Media Library items. Once upgraded you will not be able to downgrade without restoring data from a backup. This version requires PHP 5.6+

= 2.3 = This is a major upgrade that switches to using a custom table for storing data about offloaded Media Library items. Once upgraded you will not be able to downgrade without restoring data from a backup.

= 2.0 = This is a major upgrade that introduces support for DigitalOcean Spaces, renames the plugin to WP Offload Media Lite, and coincidentally upgrades some of its database settings. You may not be able to downgrade to WP Offload S3 Lite 1.x after upgrading to WP Offload Media Lite 2.0+.

= 1.1 = This is a major change, which ensures S3 URLs are no longer saved in post content. Instead, local URLs are filtered on page generation and replaced with the S3 version. If you depend on the S3 URLs being stored in post content you will need to make modifications to support this version.

= 0.6 = This version requires PHP 5.3.3+ and the Amazon Web Services plugin

Download this release

Release Info

Developer deliciousbrains
Plugin Icon 128x128 WP Offload S3 Lite
Version 2.6.2
Comparing to
See all releases

Code changes from version 2.6.1 to 2.6.2

README.md CHANGED
@@ -2,9 +2,9 @@
2
  **Contributors:** bradt, deliciousbrains, ianmjones
3
  **Tags:** uploads, amazon, s3, amazon s3, digitalocean, digitalocean spaces, google cloud storage, gcs, mirror, admin, media, cdn, cloudfront
4
  **Requires at least:** 4.9
5
- **Tested up to:** 5.9
6
  **Requires PHP:** 5.6
7
- **Stable tag:** 2.6.1
8
  **License:** GPLv3
9
 
10
  Copies files to Amazon S3, DigitalOcean Spaces or Google Cloud Storage as they are uploaded to the Media Library. Optionally configure Amazon CloudFront or another CDN for faster delivery.
@@ -93,6 +93,9 @@ This version requires PHP 5.3.3+ and the Amazon Web Services plugin
93
 
94
  ## Changelog ##
95
 
 
 
 
96
  ### WP Offload Media Lite 2.6.1 - 2022-03-21 ###
97
  * Bug fix: Local files are no longer removed if as3cf_pre_upload_attachment filter is used to abort upload
98
 
2
  **Contributors:** bradt, deliciousbrains, ianmjones
3
  **Tags:** uploads, amazon, s3, amazon s3, digitalocean, digitalocean spaces, google cloud storage, gcs, mirror, admin, media, cdn, cloudfront
4
  **Requires at least:** 4.9
5
+ **Tested up to:** 6.0
6
  **Requires PHP:** 5.6
7
+ **Stable tag:** 2.6.2
8
  **License:** GPLv3
9
 
10
  Copies files to Amazon S3, DigitalOcean Spaces or Google Cloud Storage as they are uploaded to the Media Library. Optionally configure Amazon CloudFront or another CDN for faster delivery.
93
 
94
  ## Changelog ##
95
 
96
+ ### WP Offload Media Lite 2.6.2 - 2022-04-04 ###
97
+ * Bug fix: Upgrade routine no longer risks breaking items when external object cache is in use
98
+
99
  ### WP Offload Media Lite 2.6.1 - 2022-03-21 ###
100
  * Bug fix: Local files are no longer removed if as3cf_pre_upload_attachment filter is used to abort upload
101
 
classes/amazon-s3-and-cloudfront.php CHANGED
@@ -27,6 +27,7 @@ use DeliciousBrains\WP_Offload_Media\Providers\Storage\GCP_Provider;
27
  use DeliciousBrains\WP_Offload_Media\Providers\Storage\Null_Provider;
28
  use DeliciousBrains\WP_Offload_Media\Providers\Storage\Storage_Provider;
29
  use DeliciousBrains\WP_Offload_Media\Upgrades\Clear_Postmeta_Cache;
 
30
  use DeliciousBrains\WP_Offload_Media\Upgrades\Upgrade;
31
  use DeliciousBrains\WP_Offload_Media\Upgrades\Upgrade_Content_Replace_URLs;
32
  use DeliciousBrains\WP_Offload_Media\Upgrades\Upgrade_EDD_Replace_URLs;
@@ -167,7 +168,7 @@ class Amazon_S3_And_CloudFront extends AS3CF_Plugin_Base {
167
  */
168
  protected $integration_manager;
169
 
170
- const LATEST_UPGRADE_ROUTINE = 11;
171
 
172
  /**
173
  * @param string $plugin_file_path
@@ -233,6 +234,7 @@ class Amazon_S3_And_CloudFront extends AS3CF_Plugin_Base {
233
  new Upgrade_Tools_Errors( $this );
234
  new Upgrade_Item_Extra_Data( $this );
235
  new Clear_Postmeta_Cache( $this );
 
236
 
237
  // Plugin setup
238
  add_action( 'admin_menu', array( $this, 'admin_menu' ) );
27
  use DeliciousBrains\WP_Offload_Media\Providers\Storage\Null_Provider;
28
  use DeliciousBrains\WP_Offload_Media\Providers\Storage\Storage_Provider;
29
  use DeliciousBrains\WP_Offload_Media\Upgrades\Clear_Postmeta_Cache;
30
+ use DeliciousBrains\WP_Offload_Media\Upgrades\Fix_Broken_Item_Extra_Data;
31
  use DeliciousBrains\WP_Offload_Media\Upgrades\Upgrade;
32
  use DeliciousBrains\WP_Offload_Media\Upgrades\Upgrade_Content_Replace_URLs;
33
  use DeliciousBrains\WP_Offload_Media\Upgrades\Upgrade_EDD_Replace_URLs;
168
  */
169
  protected $integration_manager;
170
 
171
+ const LATEST_UPGRADE_ROUTINE = 12;
172
 
173
  /**
174
  * @param string $plugin_file_path
234
  new Upgrade_Tools_Errors( $this );
235
  new Upgrade_Item_Extra_Data( $this );
236
  new Clear_Postmeta_Cache( $this );
237
+ new Fix_Broken_Item_Extra_Data( $this );
238
 
239
  // Plugin setup
240
  add_action( 'admin_menu', array( $this, 'admin_menu' ) );
classes/items/download-handler.php CHANGED
@@ -116,18 +116,23 @@ class Download_Handler extends Item_Handler {
116
  * @return bool|WP_Error
117
  */
118
  protected function post_handle( Item $as3cf_item, Manifest $manifest, array $options ) {
119
- // Look for errors
120
- $errors = new WP_Error;
121
- $i = 1;
122
 
123
  foreach ( $manifest->objects as $manifest_object ) {
124
- if ( $manifest_object['download_result']['status'] !== self::STATUS_OK ) {
125
- $errors->add( 'download-error-' . $i++, $manifest_object['download_result']['message'] );
126
  }
127
  }
128
 
129
- if ( count( $errors->get_error_codes() ) ) {
130
- return $errors;
 
 
 
 
 
 
 
131
  }
132
 
133
  $as3cf_item->update_filesize_after_download_local();
@@ -166,4 +171,4 @@ class Download_Handler extends Item_Handler {
166
 
167
  return true;
168
  }
169
- }
116
  * @return bool|WP_Error
117
  */
118
  protected function post_handle( Item $as3cf_item, Manifest $manifest, array $options ) {
119
+ $error_count = 0;
 
 
120
 
121
  foreach ( $manifest->objects as $manifest_object ) {
122
+ if ( self::STATUS_OK !== $manifest_object['download_result']['status'] ) {
123
+ $error_count++;
124
  }
125
  }
126
 
127
+ if ( $error_count > 0 ) {
128
+ $error_message = sprintf(
129
+ __( 'There were %1$d errors downloading files for %2$s ID %3$d from bucket', 'amazon-s3-and-cloudfront' ),
130
+ $error_count,
131
+ $this->as3cf->get_source_type_name( $as3cf_item->source_type() ),
132
+ $as3cf_item->source_id()
133
+ );
134
+
135
+ return new WP_Error( 'download-error', $error_message );
136
  }
137
 
138
  $as3cf_item->update_filesize_after_download_local();
171
 
172
  return true;
173
  }
174
+ }
classes/items/item.php CHANGED
@@ -40,6 +40,7 @@ abstract class Item {
40
  );
41
 
42
  private static $checked_table_exists = array();
 
43
 
44
  private $id;
45
  private $provider;
@@ -179,6 +180,20 @@ abstract class Item {
179
  return '__as3cf_primary';
180
  }
181
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
182
  /**
183
  * Returns the string used to group all keys in the object cache by.
184
  *
@@ -389,6 +404,10 @@ abstract class Item {
389
  * @return bool|Item
390
  */
391
  private static function get_from_items_cache_by_id( $id ) {
 
 
 
 
392
  $blog_id = get_current_blog_id();
393
 
394
  if ( ! empty( static::$items_cache_by_id[ $blog_id ][ $id ] ) ) {
@@ -414,6 +433,10 @@ abstract class Item {
414
  * @return bool|Item
415
  */
416
  private static function get_from_items_cache_by_source_id( $source_id ) {
 
 
 
 
417
  $blog_id = get_current_blog_id();
418
 
419
  if ( ! empty( static::$items_cache_by_source_id[ $blog_id ][ static::$source_type ][ $source_id ] ) ) {
@@ -440,6 +463,10 @@ abstract class Item {
440
  * @return bool|Item
441
  */
442
  private static function get_from_items_cache_by_bucket_and_path( $bucket, $path ) {
 
 
 
 
443
  $blog_id = get_current_blog_id();
444
 
445
  if ( ! empty( static::$items_cache_by_path[ $blog_id ][ static::$source_type ][ $path ] ) ) {
@@ -1896,7 +1923,7 @@ abstract class Item {
1896
  */
1897
  protected static function maybe_update_extra_info( &$extra_info, $source_id, $is_private ) {
1898
  if ( ! is_array( $extra_info ) ) {
1899
- return;
1900
  }
1901
 
1902
  // Compatibility fallback for if just an array of private sizes is supplied.
@@ -1905,6 +1932,16 @@ abstract class Item {
1905
  $private_sizes = $extra_info;
1906
  }
1907
 
 
 
 
 
 
 
 
 
 
 
1908
  if ( ! isset( $extra_info['objects'] ) ) {
1909
  $private_sizes = isset( $extra_info['private_sizes'] ) && is_array( $extra_info['private_sizes'] ) ? $extra_info['private_sizes'] : $private_sizes;
1910
  $extra_info['objects'] = array();
@@ -1986,4 +2023,4 @@ abstract class Item {
1986
 
1987
  return false;
1988
  }
1989
- }
40
  );
41
 
42
  private static $checked_table_exists = array();
43
+ private static $enable_cache = true;
44
 
45
  private $id;
46
  private $provider;
180
  return '__as3cf_primary';
181
  }
182
 
183
+ /**
184
+ * Enable the built-in Item cache.
185
+ */
186
+ public static function enable_cache() {
187
+ self::$enable_cache = true;
188
+ }
189
+
190
+ /**
191
+ * Disable the built-in Item cache.
192
+ */
193
+ public static function disable_cache() {
194
+ self::$enable_cache = false;
195
+ }
196
+
197
  /**
198
  * Returns the string used to group all keys in the object cache by.
199
  *
404
  * @return bool|Item
405
  */
406
  private static function get_from_items_cache_by_id( $id ) {
407
+ if ( false === self::$enable_cache ) {
408
+ return false;
409
+ }
410
+
411
  $blog_id = get_current_blog_id();
412
 
413
  if ( ! empty( static::$items_cache_by_id[ $blog_id ][ $id ] ) ) {
433
  * @return bool|Item
434
  */
435
  private static function get_from_items_cache_by_source_id( $source_id ) {
436
+ if ( false === self::$enable_cache ) {
437
+ return false;
438
+ }
439
+
440
  $blog_id = get_current_blog_id();
441
 
442
  if ( ! empty( static::$items_cache_by_source_id[ $blog_id ][ static::$source_type ][ $source_id ] ) ) {
463
  * @return bool|Item
464
  */
465
  private static function get_from_items_cache_by_bucket_and_path( $bucket, $path ) {
466
+ if ( false === self::$enable_cache ) {
467
+ return false;
468
+ }
469
+
470
  $blog_id = get_current_blog_id();
471
 
472
  if ( ! empty( static::$items_cache_by_path[ $blog_id ][ static::$source_type ][ $path ] ) ) {
1923
  */
1924
  protected static function maybe_update_extra_info( &$extra_info, $source_id, $is_private ) {
1925
  if ( ! is_array( $extra_info ) ) {
1926
+ $extra_info = array();
1927
  }
1928
 
1929
  // Compatibility fallback for if just an array of private sizes is supplied.
1932
  $private_sizes = $extra_info;
1933
  }
1934
 
1935
+ // Compatibility fallback for old broken format.
1936
+ if ( isset( $extra_info['private_sizes'] ) && isset( $extra_info['private_sizes']['private_sizes'] ) ) {
1937
+ $extra_info['private_sizes'] = $extra_info['private_sizes']['private_sizes'];
1938
+ }
1939
+
1940
+ // Extra info must have at least one element, if not it's broken.
1941
+ if ( isset( $extra_info['objects'] ) && 0 === count( $extra_info['objects'] ) ) {
1942
+ unset( $extra_info['objects'] );
1943
+ }
1944
+
1945
  if ( ! isset( $extra_info['objects'] ) ) {
1946
  $private_sizes = isset( $extra_info['private_sizes'] ) && is_array( $extra_info['private_sizes'] ) ? $extra_info['private_sizes'] : $private_sizes;
1947
  $extra_info['objects'] = array();
2023
 
2024
  return false;
2025
  }
2026
+ }
classes/upgrades/fix-broken-item-extra-data.php ADDED
@@ -0,0 +1,74 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Upgrade extra info in custom objects table.
4
+ *
5
+ * @package amazon-s3-and-cloudfront
6
+ * @subpackage Classes/Upgrades/Upgrade_Item_Extra_Data
7
+ * @copyright Copyright (c) 2022, Delicious Brains
8
+ * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License
9
+ * @since 2.6.2
10
+ */
11
+
12
+ namespace DeliciousBrains\WP_Offload_Media\Upgrades;
13
+
14
+ use DeliciousBrains\WP_Offload_Media\Items\Item;
15
+
16
+ /**
17
+ * Fix_Broken_Item_Extra_Data Class
18
+ *
19
+ * This class handles updating extra info in the custom objects table.
20
+ *
21
+ * @since 2.6.2
22
+ */
23
+ class Fix_Broken_Item_Extra_Data extends Upgrade_Item_Extra_Data {
24
+
25
+ /**
26
+ * @var int
27
+ */
28
+ protected $upgrade_id = 12;
29
+
30
+ /**
31
+ * @var string
32
+ */
33
+ protected $upgrade_name = 'fix_broken_item_extra_data';
34
+
35
+ /**
36
+ * Wrapper for database call to get items with legacy extra info.
37
+ *
38
+ * @param string $prefix Table prefix for blog.
39
+ * @param bool $count return count of attachments
40
+ * @param null|int $limit
41
+ *
42
+ * @return mixed
43
+ */
44
+ protected function get_items_with_old_extra_info( $prefix, $count = false, $limit = null ) {
45
+ global $wpdb;
46
+
47
+ $table = Item::ITEMS_TABLE;
48
+
49
+ /**
50
+ * Find items with empty object array or that still have the private_sizes array element in
51
+ * extra_info
52
+ */
53
+ $sql = "
54
+ FROM {$prefix}{$table}
55
+ WHERE (extra_info LIKE '%s:7:\"objects\";a:0%' OR extra_info LIKE '%s:13:\"private_sizes\";a%' OR extra_info LIKE 's:%')
56
+ AND source_type='media-library'
57
+ ";
58
+
59
+ if ( $count ) {
60
+ $sql = 'SELECT COUNT(source_id)' . $sql;
61
+
62
+ return $wpdb->get_var( $sql );
63
+ }
64
+
65
+ $sql = 'SELECT source_id' . $sql;
66
+ $sql .= ' ORDER BY id';
67
+
68
+ if ( $limit && $limit > 0 ) {
69
+ $sql .= sprintf( ' LIMIT %d', (int) $limit );
70
+ }
71
+
72
+ return $wpdb->get_results( $sql, OBJECT );
73
+ }
74
+ }
classes/upgrades/upgrade-item-extra-data.php CHANGED
@@ -14,6 +14,7 @@ namespace DeliciousBrains\WP_Offload_Media\Upgrades;
14
  use AS3CF_Error;
15
  use DeliciousBrains\WP_Offload_Media\Items\Item;
16
  use DeliciousBrains\WP_Offload_Media\Items\Media_Library_Item;
 
17
 
18
  /**
19
  * Upgrade_Item_Extra_Data Class
@@ -51,12 +52,14 @@ class Upgrade_Item_Extra_Data extends Upgrade {
51
  /**
52
  * Update extra_info in items table
53
  *
54
- * @param $item
55
  *
56
  * @return bool
57
  */
58
  protected function upgrade_item( $item ) {
 
59
  $as3cf_item = Media_Library_Item::get_by_source_id( $item->source_id );
 
60
 
61
  if ( ! $as3cf_item ) {
62
  AS3CF_Error::log( 'Could not construct item for attachment with ID ' . $item->source_id . '.' );
@@ -149,4 +152,4 @@ class Upgrade_Item_Extra_Data extends Upgrade {
149
 
150
  return $wpdb->get_results( $sql, OBJECT );
151
  }
152
- }
14
  use AS3CF_Error;
15
  use DeliciousBrains\WP_Offload_Media\Items\Item;
16
  use DeliciousBrains\WP_Offload_Media\Items\Media_Library_Item;
17
+ use stdClass;
18
 
19
  /**
20
  * Upgrade_Item_Extra_Data Class
52
  /**
53
  * Update extra_info in items table
54
  *
55
+ * @param stdClass $item
56
  *
57
  * @return bool
58
  */
59
  protected function upgrade_item( $item ) {
60
+ Item::disable_cache();
61
  $as3cf_item = Media_Library_Item::get_by_source_id( $item->source_id );
62
+ Item::enable_cache();
63
 
64
  if ( ! $as3cf_item ) {
65
  AS3CF_Error::log( 'Could not construct item for attachment with ID ' . $item->source_id . '.' );
152
 
153
  return $wpdb->get_results( $sql, OBJECT );
154
  }
155
+ }
languages/amazon-s3-and-cloudfront-en.pot CHANGED
@@ -8,7 +8,7 @@ msgid ""
8
  msgstr ""
9
  "Project-Id-Version: amazon-s3-and-cloudfront\n"
10
  "Report-Msgid-Bugs-To: nom@deliciousbrains.com\n"
11
- "POT-Creation-Date: 2022-03-21 15:00+0000\n"
12
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
13
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14
  "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -17,17 +17,17 @@ msgstr ""
17
  "Content-Type: text/plain; charset=UTF-8\n"
18
  "Content-Transfer-Encoding: 8bit\n"
19
 
20
- #: classes/amazon-s3-and-cloudfront.php:196
21
  #: classes/amazon-s3-and-cloudfront.php:197
 
22
  msgid "Offload Media Lite"
23
  msgstr ""
24
 
25
- #: classes/amazon-s3-and-cloudfront.php:438
26
- #: classes/amazon-s3-and-cloudfront.php:455
27
  msgid "Unknown"
28
  msgstr ""
29
 
30
- #: classes/amazon-s3-and-cloudfront.php:536
31
  #: view/bucket-select.php:87
32
  #: view/delivery-provider-select.php:129
33
  #: view/delivery-provider-select.php:149
@@ -38,185 +38,185 @@ msgstr ""
38
  msgid "defined in wp-config.php"
39
  msgstr ""
40
 
41
- #: classes/amazon-s3-and-cloudfront.php:1523
42
  msgid "This action can only be performed through an admin screen."
43
  msgstr ""
44
 
45
- #: classes/amazon-s3-and-cloudfront.php:1525
46
  msgid "Cheatin&#8217; eh?"
47
  msgstr ""
48
 
49
- #: classes/amazon-s3-and-cloudfront.php:1527
50
  msgid "You do not have sufficient permissions to access this page."
51
  msgstr ""
52
 
53
- #: classes/amazon-s3-and-cloudfront.php:1851
54
  msgid "Error Getting Bucket Region"
55
  msgstr ""
56
 
57
- #: classes/amazon-s3-and-cloudfront.php:1852
58
  #, php-format
59
  msgid "There was an error attempting to get the region of the bucket %s: %s"
60
  msgstr ""
61
 
62
- #: classes/amazon-s3-and-cloudfront.php:1955
63
  msgid ""
64
  "This is a test file to check if the user has write permission to the bucket. "
65
  "Delete me if found."
66
  msgstr ""
67
 
68
- #: classes/amazon-s3-and-cloudfront.php:1961
69
  #, php-format
70
  msgid ""
71
  "There was an error attempting to check the permissions of the bucket %s: %s"
72
  msgstr ""
73
 
74
- #: classes/amazon-s3-and-cloudfront.php:2079
75
  msgid "Error creating bucket"
76
  msgstr ""
77
 
78
- #: classes/amazon-s3-and-cloudfront.php:2080
79
  msgid "Bucket name too short."
80
  msgstr ""
81
 
82
- #: classes/amazon-s3-and-cloudfront.php:2081
83
  msgid "Bucket name too long."
84
  msgstr ""
85
 
86
- #: classes/amazon-s3-and-cloudfront.php:2082
87
  msgid ""
88
  "Invalid character. Bucket names can contain lowercase letters, numbers, "
89
  "periods and hyphens."
90
  msgstr ""
91
 
92
- #: classes/amazon-s3-and-cloudfront.php:2083
93
  msgid "Error saving bucket"
94
  msgstr ""
95
 
96
- #: classes/amazon-s3-and-cloudfront.php:2084
97
  msgid "Error fetching buckets"
98
  msgstr ""
99
 
100
- #: classes/amazon-s3-and-cloudfront.php:2085
101
  msgid "Error getting URL preview: "
102
  msgstr ""
103
 
104
- #: classes/amazon-s3-and-cloudfront.php:2086
105
  msgid "The changes you made will be lost if you navigate away from this page"
106
  msgstr ""
107
 
108
- #: classes/amazon-s3-and-cloudfront.php:2087
109
  msgid "Getting diagnostic info..."
110
  msgstr ""
111
 
112
- #: classes/amazon-s3-and-cloudfront.php:2088
113
  msgid "Error getting diagnostic info: "
114
  msgstr ""
115
 
116
- #: classes/amazon-s3-and-cloudfront.php:2089
117
  msgctxt "placeholder for hidden access key, 39 char max"
118
  msgid "-- not shown --"
119
  msgstr ""
120
 
121
- #: classes/amazon-s3-and-cloudfront.php:2091
122
- #: classes/amazon-s3-and-cloudfront.php:4212
123
  msgid "Settings saved."
124
  msgstr ""
125
 
126
- #: classes/amazon-s3-and-cloudfront.php:2213
127
  msgid "Cheatin' eh?"
128
  msgstr ""
129
 
130
- #: classes/amazon-s3-and-cloudfront.php:2286
131
  #, php-format
132
  msgid "Could not set new Delivery Provider: %s"
133
  msgstr ""
134
 
135
- #: classes/amazon-s3-and-cloudfront.php:2361
136
- #: classes/amazon-s3-and-cloudfront.php:2491
137
  msgid "No bucket name provided."
138
  msgstr ""
139
 
140
- #: classes/amazon-s3-and-cloudfront.php:2370
141
  msgid "Bucket name not valid."
142
  msgstr ""
143
 
144
- #: classes/amazon-s3-and-cloudfront.php:2383
145
  msgid "No region provided."
146
  msgstr ""
147
 
148
- #: classes/amazon-s3-and-cloudfront.php:2460
149
  #, php-format
150
  msgctxt "Trying to change public access setting for given provider's bucket."
151
  msgid "Can't change Block All Public Access setting for %s buckets."
152
  msgstr ""
153
 
154
- #: classes/amazon-s3-and-cloudfront.php:2469
155
  msgid "No block public access setting provided."
156
  msgstr ""
157
 
158
- #: classes/amazon-s3-and-cloudfront.php:2482
159
  msgid "Storage Provider not configured with access credentials."
160
  msgstr ""
161
 
162
- #: classes/amazon-s3-and-cloudfront.php:2509
163
  msgid "Could not change Block All Public Access status for bucket."
164
  msgstr ""
165
 
166
- #: classes/amazon-s3-and-cloudfront.php:2526
167
  msgid ""
168
  "<strong>Failed to Enable Block All Public Access</strong> &mdash; We could "
169
  "not enable Block All Public Access. You will need to log in to the AWS "
170
  "Console and do it manually."
171
  msgstr ""
172
 
173
- #: classes/amazon-s3-and-cloudfront.php:2528
174
  msgid ""
175
  "<strong>Failed to Disable Block All Public Access</strong> &mdash; We could "
176
  "not disable Block All Public Access. You will need to log in to the AWS "
177
  "Console and do it manually."
178
  msgstr ""
179
 
180
- #: classes/amazon-s3-and-cloudfront.php:2563
181
  #: view/provider-select.php:329
182
  msgctxt "placeholder for hidden secret access key, 39 char max"
183
  msgid "-- not shown --"
184
  msgstr ""
185
 
186
- #: classes/amazon-s3-and-cloudfront.php:2586
187
  msgid "Key File not valid JSON."
188
  msgstr ""
189
 
190
- #: classes/amazon-s3-and-cloudfront.php:2606
191
- #: classes/amazon-s3-and-cloudfront.php:2620
192
- #: classes/amazon-s3-and-cloudfront.php:2629
193
  msgctxt "missing form field"
194
  msgid " not provided."
195
  msgstr ""
196
 
197
- #: classes/amazon-s3-and-cloudfront.php:2672
198
  msgctxt "Show the media library tab"
199
  msgid "Media Library"
200
  msgstr ""
201
 
202
- #: classes/amazon-s3-and-cloudfront.php:2673
203
  msgctxt "Show the addons tab"
204
  msgid "Addons"
205
  msgstr ""
206
 
207
- #: classes/amazon-s3-and-cloudfront.php:2674
208
  msgctxt "Show the support tab"
209
  msgid "Support"
210
  msgstr ""
211
 
212
- #: classes/amazon-s3-and-cloudfront.php:2851
213
  #, php-format
214
  msgid ""
215
  "<strong>WP Offload Media</strong> &mdash; The file %s has been given %s "
216
  "permissions in the bucket."
217
  msgstr ""
218
 
219
- #: classes/amazon-s3-and-cloudfront.php:2870
220
  msgid ""
221
  "<strong>WP Offload Media Requirement Missing</strong> &mdash; Looks like you "
222
  "don't have an image manipulation library installed on this server and "
@@ -224,7 +224,7 @@ msgid ""
224
  "Please setup GD or ImageMagick."
225
  msgstr ""
226
 
227
- #: classes/amazon-s3-and-cloudfront.php:2894
228
  #, php-format
229
  msgid ""
230
  "<strong>Missing Table</strong> &mdash; One or more required database tables "
@@ -232,18 +232,18 @@ msgid ""
232
  "details. %s"
233
  msgstr ""
234
 
235
- #: classes/amazon-s3-and-cloudfront.php:3716
236
  #, php-format
237
  msgid ""
238
  "<a href=\"%s\">Define your access keys</a> to enable write access to the "
239
  "bucket"
240
  msgstr ""
241
 
242
- #: classes/amazon-s3-and-cloudfront.php:3723
243
  msgid "Quick Start Guide"
244
  msgstr ""
245
 
246
- #: classes/amazon-s3-and-cloudfront.php:3725
247
  #, php-format
248
  msgid ""
249
  "Looks like we don't have write access to this bucket. It's likely that the "
@@ -252,7 +252,7 @@ msgid ""
252
  "correctly."
253
  msgstr ""
254
 
255
- #: classes/amazon-s3-and-cloudfront.php:3727
256
  #, php-format
257
  msgid ""
258
  "Looks like we don't have access to the buckets. It's likely that the user "
@@ -260,39 +260,39 @@ msgid ""
260
  "Please see our %s for instructions on setting up permissions correctly."
261
  msgstr ""
262
 
263
- #: classes/amazon-s3-and-cloudfront.php:3897
264
  msgid "WP Offload Media Activation"
265
  msgstr ""
266
 
267
- #: classes/amazon-s3-and-cloudfront.php:3898
268
  msgid ""
269
  "WP Offload Media Lite and WP Offload Media cannot both be active. We've "
270
  "automatically deactivated WP Offload Media Lite."
271
  msgstr ""
272
 
273
- #: classes/amazon-s3-and-cloudfront.php:3900
274
  msgid "WP Offload Media Lite Activation"
275
  msgstr ""
276
 
277
- #: classes/amazon-s3-and-cloudfront.php:3901
278
  msgid ""
279
  "WP Offload Media Lite and WP Offload Media cannot both be active. We've "
280
  "automatically deactivated WP Offload Media."
281
  msgstr ""
282
 
283
- #: classes/amazon-s3-and-cloudfront.php:3955
284
  msgid "More&nbsp;info&nbsp;&raquo;"
285
  msgstr ""
286
 
287
- #: classes/amazon-s3-and-cloudfront.php:4024
288
  msgid "this doc"
289
  msgstr ""
290
 
291
- #: classes/amazon-s3-and-cloudfront.php:4026
292
  msgid "WP Offload Media Feature Removed"
293
  msgstr ""
294
 
295
- #: classes/amazon-s3-and-cloudfront.php:4027
296
  #, php-format
297
  msgid ""
298
  "You had the \"Always non-SSL\" option selected in your settings, but we've "
@@ -303,21 +303,21 @@ msgid ""
303
  "to the old behavior."
304
  msgstr ""
305
 
306
- #: classes/amazon-s3-and-cloudfront.php:4175
307
  msgid "Assets Pull"
308
  msgstr ""
309
 
310
- #: classes/amazon-s3-and-cloudfront.php:4176
311
  msgid ""
312
  "An addon for WP Offload Media to serve your site's JS, CSS, and other "
313
  "enqueued assets from Amazon CloudFront or another CDN."
314
  msgstr ""
315
 
316
- #: classes/amazon-s3-and-cloudfront.php:4180
317
  msgid "Feature"
318
  msgstr ""
319
 
320
- #: classes/amazon-s3-and-cloudfront.php:4226
321
  #, php-format
322
  msgid ""
323
  "<strong>Amazon Web Services Plugin No Longer Required</strong> &mdash; As of "
@@ -328,7 +328,7 @@ msgid ""
328
  "plugin, it should be safe to deactivate and delete it. %2$s"
329
  msgstr ""
330
 
331
- #: classes/amazon-s3-and-cloudfront.php:4258
332
  #, php-format
333
  msgid ""
334
  "<strong>WP Offload Media Settings Moved</strong> &mdash; You now define your "
@@ -526,18 +526,23 @@ msgid ""
526
  "configured"
527
  msgstr ""
528
 
529
- #: classes/items/download-handler.php:150
 
 
 
 
 
530
  #, php-format
531
  msgid "The local directory %s does not exist and could not be created."
532
  msgstr ""
533
 
534
- #: classes/items/download-handler.php:151
535
  #, php-format
536
  msgid ""
537
  "There was an error attempting to download the file %1$s from the bucket: %2$s"
538
  msgstr ""
539
 
540
- #: classes/items/download-handler.php:162
541
  #, php-format
542
  msgid "Error downloading %1$s from bucket: %2$s"
543
  msgstr ""
@@ -747,7 +752,7 @@ msgid ""
747
  "make it run faster."
748
  msgstr ""
749
 
750
- #: classes/upgrades/upgrade-item-extra-data.php:48
751
  msgid "and updating metadata about offloaded items to new format."
752
  msgstr ""
753
 
8
  msgstr ""
9
  "Project-Id-Version: amazon-s3-and-cloudfront\n"
10
  "Report-Msgid-Bugs-To: nom@deliciousbrains.com\n"
11
+ "POT-Creation-Date: 2022-04-04 12:34+0200\n"
12
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
13
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14
  "Language-Team: LANGUAGE <LL@li.org>\n"
17
  "Content-Type: text/plain; charset=UTF-8\n"
18
  "Content-Transfer-Encoding: 8bit\n"
19
 
 
20
  #: classes/amazon-s3-and-cloudfront.php:197
21
+ #: classes/amazon-s3-and-cloudfront.php:198
22
  msgid "Offload Media Lite"
23
  msgstr ""
24
 
25
+ #: classes/amazon-s3-and-cloudfront.php:440
26
+ #: classes/amazon-s3-and-cloudfront.php:457
27
  msgid "Unknown"
28
  msgstr ""
29
 
30
+ #: classes/amazon-s3-and-cloudfront.php:538
31
  #: view/bucket-select.php:87
32
  #: view/delivery-provider-select.php:129
33
  #: view/delivery-provider-select.php:149
38
  msgid "defined in wp-config.php"
39
  msgstr ""
40
 
41
+ #: classes/amazon-s3-and-cloudfront.php:1525
42
  msgid "This action can only be performed through an admin screen."
43
  msgstr ""
44
 
45
+ #: classes/amazon-s3-and-cloudfront.php:1527
46
  msgid "Cheatin&#8217; eh?"
47
  msgstr ""
48
 
49
+ #: classes/amazon-s3-and-cloudfront.php:1529
50
  msgid "You do not have sufficient permissions to access this page."
51
  msgstr ""
52
 
53
+ #: classes/amazon-s3-and-cloudfront.php:1853
54
  msgid "Error Getting Bucket Region"
55
  msgstr ""
56
 
57
+ #: classes/amazon-s3-and-cloudfront.php:1854
58
  #, php-format
59
  msgid "There was an error attempting to get the region of the bucket %s: %s"
60
  msgstr ""
61
 
62
+ #: classes/amazon-s3-and-cloudfront.php:1957
63
  msgid ""
64
  "This is a test file to check if the user has write permission to the bucket. "
65
  "Delete me if found."
66
  msgstr ""
67
 
68
+ #: classes/amazon-s3-and-cloudfront.php:1963
69
  #, php-format
70
  msgid ""
71
  "There was an error attempting to check the permissions of the bucket %s: %s"
72
  msgstr ""
73
 
74
+ #: classes/amazon-s3-and-cloudfront.php:2081
75
  msgid "Error creating bucket"
76
  msgstr ""
77
 
78
+ #: classes/amazon-s3-and-cloudfront.php:2082
79
  msgid "Bucket name too short."
80
  msgstr ""
81
 
82
+ #: classes/amazon-s3-and-cloudfront.php:2083
83
  msgid "Bucket name too long."
84
  msgstr ""
85
 
86
+ #: classes/amazon-s3-and-cloudfront.php:2084
87
  msgid ""
88
  "Invalid character. Bucket names can contain lowercase letters, numbers, "
89
  "periods and hyphens."
90
  msgstr ""
91
 
92
+ #: classes/amazon-s3-and-cloudfront.php:2085
93
  msgid "Error saving bucket"
94
  msgstr ""
95
 
96
+ #: classes/amazon-s3-and-cloudfront.php:2086
97
  msgid "Error fetching buckets"
98
  msgstr ""
99
 
100
+ #: classes/amazon-s3-and-cloudfront.php:2087
101
  msgid "Error getting URL preview: "
102
  msgstr ""
103
 
104
+ #: classes/amazon-s3-and-cloudfront.php:2088
105
  msgid "The changes you made will be lost if you navigate away from this page"
106
  msgstr ""
107
 
108
+ #: classes/amazon-s3-and-cloudfront.php:2089
109
  msgid "Getting diagnostic info..."
110
  msgstr ""
111
 
112
+ #: classes/amazon-s3-and-cloudfront.php:2090
113
  msgid "Error getting diagnostic info: "
114
  msgstr ""
115
 
116
+ #: classes/amazon-s3-and-cloudfront.php:2091
117
  msgctxt "placeholder for hidden access key, 39 char max"
118
  msgid "-- not shown --"
119
  msgstr ""
120
 
121
+ #: classes/amazon-s3-and-cloudfront.php:2093
122
+ #: classes/amazon-s3-and-cloudfront.php:4214
123
  msgid "Settings saved."
124
  msgstr ""
125
 
126
+ #: classes/amazon-s3-and-cloudfront.php:2215
127
  msgid "Cheatin' eh?"
128
  msgstr ""
129
 
130
+ #: classes/amazon-s3-and-cloudfront.php:2288
131
  #, php-format
132
  msgid "Could not set new Delivery Provider: %s"
133
  msgstr ""
134
 
135
+ #: classes/amazon-s3-and-cloudfront.php:2363
136
+ #: classes/amazon-s3-and-cloudfront.php:2493
137
  msgid "No bucket name provided."
138
  msgstr ""
139
 
140
+ #: classes/amazon-s3-and-cloudfront.php:2372
141
  msgid "Bucket name not valid."
142
  msgstr ""
143
 
144
+ #: classes/amazon-s3-and-cloudfront.php:2385
145
  msgid "No region provided."
146
  msgstr ""
147
 
148
+ #: classes/amazon-s3-and-cloudfront.php:2462
149
  #, php-format
150
  msgctxt "Trying to change public access setting for given provider's bucket."
151
  msgid "Can't change Block All Public Access setting for %s buckets."
152
  msgstr ""
153
 
154
+ #: classes/amazon-s3-and-cloudfront.php:2471
155
  msgid "No block public access setting provided."
156
  msgstr ""
157
 
158
+ #: classes/amazon-s3-and-cloudfront.php:2484
159
  msgid "Storage Provider not configured with access credentials."
160
  msgstr ""
161
 
162
+ #: classes/amazon-s3-and-cloudfront.php:2511
163
  msgid "Could not change Block All Public Access status for bucket."
164
  msgstr ""
165
 
166
+ #: classes/amazon-s3-and-cloudfront.php:2528
167
  msgid ""
168
  "<strong>Failed to Enable Block All Public Access</strong> &mdash; We could "
169
  "not enable Block All Public Access. You will need to log in to the AWS "
170
  "Console and do it manually."
171
  msgstr ""
172
 
173
+ #: classes/amazon-s3-and-cloudfront.php:2530
174
  msgid ""
175
  "<strong>Failed to Disable Block All Public Access</strong> &mdash; We could "
176
  "not disable Block All Public Access. You will need to log in to the AWS "
177
  "Console and do it manually."
178
  msgstr ""
179
 
180
+ #: classes/amazon-s3-and-cloudfront.php:2565
181
  #: view/provider-select.php:329
182
  msgctxt "placeholder for hidden secret access key, 39 char max"
183
  msgid "-- not shown --"
184
  msgstr ""
185
 
186
+ #: classes/amazon-s3-and-cloudfront.php:2588
187
  msgid "Key File not valid JSON."
188
  msgstr ""
189
 
190
+ #: classes/amazon-s3-and-cloudfront.php:2608
191
+ #: classes/amazon-s3-and-cloudfront.php:2622
192
+ #: classes/amazon-s3-and-cloudfront.php:2631
193
  msgctxt "missing form field"
194
  msgid " not provided."
195
  msgstr ""
196
 
197
+ #: classes/amazon-s3-and-cloudfront.php:2674
198
  msgctxt "Show the media library tab"
199
  msgid "Media Library"
200
  msgstr ""
201
 
202
+ #: classes/amazon-s3-and-cloudfront.php:2675
203
  msgctxt "Show the addons tab"
204
  msgid "Addons"
205
  msgstr ""
206
 
207
+ #: classes/amazon-s3-and-cloudfront.php:2676
208
  msgctxt "Show the support tab"
209
  msgid "Support"
210
  msgstr ""
211
 
212
+ #: classes/amazon-s3-and-cloudfront.php:2853
213
  #, php-format
214
  msgid ""
215
  "<strong>WP Offload Media</strong> &mdash; The file %s has been given %s "
216
  "permissions in the bucket."
217
  msgstr ""
218
 
219
+ #: classes/amazon-s3-and-cloudfront.php:2872
220
  msgid ""
221
  "<strong>WP Offload Media Requirement Missing</strong> &mdash; Looks like you "
222
  "don't have an image manipulation library installed on this server and "
224
  "Please setup GD or ImageMagick."
225
  msgstr ""
226
 
227
+ #: classes/amazon-s3-and-cloudfront.php:2896
228
  #, php-format
229
  msgid ""
230
  "<strong>Missing Table</strong> &mdash; One or more required database tables "
232
  "details. %s"
233
  msgstr ""
234
 
235
+ #: classes/amazon-s3-and-cloudfront.php:3718
236
  #, php-format
237
  msgid ""
238
  "<a href=\"%s\">Define your access keys</a> to enable write access to the "
239
  "bucket"
240
  msgstr ""
241
 
242
+ #: classes/amazon-s3-and-cloudfront.php:3725
243
  msgid "Quick Start Guide"
244
  msgstr ""
245
 
246
+ #: classes/amazon-s3-and-cloudfront.php:3727
247
  #, php-format
248
  msgid ""
249
  "Looks like we don't have write access to this bucket. It's likely that the "
252
  "correctly."
253
  msgstr ""
254
 
255
+ #: classes/amazon-s3-and-cloudfront.php:3729
256
  #, php-format
257
  msgid ""
258
  "Looks like we don't have access to the buckets. It's likely that the user "
260
  "Please see our %s for instructions on setting up permissions correctly."
261
  msgstr ""
262
 
263
+ #: classes/amazon-s3-and-cloudfront.php:3899
264
  msgid "WP Offload Media Activation"
265
  msgstr ""
266
 
267
+ #: classes/amazon-s3-and-cloudfront.php:3900
268
  msgid ""
269
  "WP Offload Media Lite and WP Offload Media cannot both be active. We've "
270
  "automatically deactivated WP Offload Media Lite."
271
  msgstr ""
272
 
273
+ #: classes/amazon-s3-and-cloudfront.php:3902
274
  msgid "WP Offload Media Lite Activation"
275
  msgstr ""
276
 
277
+ #: classes/amazon-s3-and-cloudfront.php:3903
278
  msgid ""
279
  "WP Offload Media Lite and WP Offload Media cannot both be active. We've "
280
  "automatically deactivated WP Offload Media."
281
  msgstr ""
282
 
283
+ #: classes/amazon-s3-and-cloudfront.php:3957
284
  msgid "More&nbsp;info&nbsp;&raquo;"
285
  msgstr ""
286
 
287
+ #: classes/amazon-s3-and-cloudfront.php:4026
288
  msgid "this doc"
289
  msgstr ""
290
 
291
+ #: classes/amazon-s3-and-cloudfront.php:4028
292
  msgid "WP Offload Media Feature Removed"
293
  msgstr ""
294
 
295
+ #: classes/amazon-s3-and-cloudfront.php:4029
296
  #, php-format
297
  msgid ""
298
  "You had the \"Always non-SSL\" option selected in your settings, but we've "
303
  "to the old behavior."
304
  msgstr ""
305
 
306
+ #: classes/amazon-s3-and-cloudfront.php:4177
307
  msgid "Assets Pull"
308
  msgstr ""
309
 
310
+ #: classes/amazon-s3-and-cloudfront.php:4178
311
  msgid ""
312
  "An addon for WP Offload Media to serve your site's JS, CSS, and other "
313
  "enqueued assets from Amazon CloudFront or another CDN."
314
  msgstr ""
315
 
316
+ #: classes/amazon-s3-and-cloudfront.php:4182
317
  msgid "Feature"
318
  msgstr ""
319
 
320
+ #: classes/amazon-s3-and-cloudfront.php:4228
321
  #, php-format
322
  msgid ""
323
  "<strong>Amazon Web Services Plugin No Longer Required</strong> &mdash; As of "
328
  "plugin, it should be safe to deactivate and delete it. %2$s"
329
  msgstr ""
330
 
331
+ #: classes/amazon-s3-and-cloudfront.php:4260
332
  #, php-format
333
  msgid ""
334
  "<strong>WP Offload Media Settings Moved</strong> &mdash; You now define your "
526
  "configured"
527
  msgstr ""
528
 
529
+ #: classes/items/download-handler.php:129
530
+ #, php-format
531
+ msgid "There were %1$d errors downloading files for %2$s ID %3$d from bucket"
532
+ msgstr ""
533
+
534
+ #: classes/items/download-handler.php:155
535
  #, php-format
536
  msgid "The local directory %s does not exist and could not be created."
537
  msgstr ""
538
 
539
+ #: classes/items/download-handler.php:156
540
  #, php-format
541
  msgid ""
542
  "There was an error attempting to download the file %1$s from the bucket: %2$s"
543
  msgstr ""
544
 
545
+ #: classes/items/download-handler.php:167
546
  #, php-format
547
  msgid "Error downloading %1$s from bucket: %2$s"
548
  msgstr ""
752
  "make it run faster."
753
  msgstr ""
754
 
755
+ #: classes/upgrades/upgrade-item-extra-data.php:49
756
  msgid "and updating metadata about offloaded items to new format."
757
  msgstr ""
758
 
readme.txt CHANGED
@@ -2,9 +2,9 @@
2
  Contributors: bradt, deliciousbrains, ianmjones
3
  Tags: uploads, amazon, s3, amazon s3, digitalocean, digitalocean spaces, google cloud storage, gcs, mirror, admin, media, cdn, cloudfront
4
  Requires at least: 4.9
5
- Tested up to: 5.9
6
  Requires PHP: 5.6
7
- Stable tag: 2.6.1
8
  License: GPLv3
9
 
10
  Copies files to Amazon S3, DigitalOcean Spaces or Google Cloud Storage as they are uploaded to the Media Library. Optionally configure Amazon CloudFront or another CDN for faster delivery.
@@ -85,6 +85,9 @@ This version requires PHP 5.3.3+ and the Amazon Web Services plugin
85
 
86
  == Changelog ==
87
 
 
 
 
88
  = WP Offload Media Lite 2.6.1 - 2022-03-21 =
89
  * Bug fix: Local files are no longer removed if as3cf_pre_upload_attachment filter is used to abort upload
90
 
2
  Contributors: bradt, deliciousbrains, ianmjones
3
  Tags: uploads, amazon, s3, amazon s3, digitalocean, digitalocean spaces, google cloud storage, gcs, mirror, admin, media, cdn, cloudfront
4
  Requires at least: 4.9
5
+ Tested up to: 6.0
6
  Requires PHP: 5.6
7
+ Stable tag: 2.6.2
8
  License: GPLv3
9
 
10
  Copies files to Amazon S3, DigitalOcean Spaces or Google Cloud Storage as they are uploaded to the Media Library. Optionally configure Amazon CloudFront or another CDN for faster delivery.
85
 
86
  == Changelog ==
87
 
88
+ = WP Offload Media Lite 2.6.2 - 2022-04-04 =
89
+ * Bug fix: Upgrade routine no longer risks breaking items when external object cache is in use
90
+
91
  = WP Offload Media Lite 2.6.1 - 2022-03-21 =
92
  * Bug fix: Local files are no longer removed if as3cf_pre_upload_attachment filter is used to abort upload
93
 
wordpress-s3.php CHANGED
@@ -4,7 +4,7 @@ Plugin Name: WP Offload Media Lite
4
  Plugin URI: http://wordpress.org/extend/plugins/amazon-s3-and-cloudfront/
5
  Description: Automatically copies media uploads to Amazon S3, DigitalOcean Spaces or Google Cloud Storage for storage and delivery. Optionally configure Amazon CloudFront or another CDN for even faster delivery.
6
  Author: Delicious Brains
7
- Version: 2.6.1
8
  Author URI: https://deliciousbrains.com/?utm_campaign=WP%2BOffload%2BS3&utm_source=wordpress.org&utm_medium=free%2Bplugin%2Blisting
9
  Network: True
10
  Text Domain: amazon-s3-and-cloudfront
@@ -26,7 +26,7 @@ Domain Path: /languages/
26
  // Then completely rewritten.
27
  */
28
 
29
- $GLOBALS['aws_meta']['amazon-s3-and-cloudfront']['version'] = '2.6.1';
30
 
31
  require_once dirname( __FILE__ ) . '/classes/as3cf-compatibility-check.php';
32
 
4
  Plugin URI: http://wordpress.org/extend/plugins/amazon-s3-and-cloudfront/
5
  Description: Automatically copies media uploads to Amazon S3, DigitalOcean Spaces or Google Cloud Storage for storage and delivery. Optionally configure Amazon CloudFront or another CDN for even faster delivery.
6
  Author: Delicious Brains
7
+ Version: 2.6.2
8
  Author URI: https://deliciousbrains.com/?utm_campaign=WP%2BOffload%2BS3&utm_source=wordpress.org&utm_medium=free%2Bplugin%2Blisting
9
  Network: True
10
  Text Domain: amazon-s3-and-cloudfront
26
  // Then completely rewritten.
27
  */
28
 
29
+ $GLOBALS['aws_meta']['amazon-s3-and-cloudfront']['version'] = '2.6.2';
30
 
31
  require_once dirname( __FILE__ ) . '/classes/as3cf-compatibility-check.php';
32