WP Offload S3 Lite - Version 2.5.1

Version Description

= 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.5.1
Comparing to
See all releases

Code changes from version 2.5 to 2.5.1

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.5
6
  **Requires PHP:** 5.5
7
- **Stable tag:** 2.5
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.
@@ -89,6 +89,13 @@ This version requires PHP 5.3.3+ and the Amazon Web Services plugin
89
 
90
  ## Changelog ##
91
 
 
 
 
 
 
 
 
92
  ### WP Offload Media Lite 2.5 - 2020-11-11 ###
93
  * [Release Summary Blog Post](https://deliciousbrains.com/wp-offload-media-2-5-released/?utm_campaign=changelogs&utm_source=wordpress.org&utm_medium=free%2Bplugin%2Blisting)
94
  * Improvement: [Error notice shown](https://deliciousbrains.com/wp-offload-media/doc/missing-table-error-notice/?utm_campaign=changelogs&utm_source=wordpress.org&utm_medium=free%2Bplugin%2Blisting) when plugin's required custom table(s) missing
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.6
6
  **Requires PHP:** 5.5
7
+ **Stable tag:** 2.5.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.
89
 
90
  ## Changelog ##
91
 
92
+ ### WP Offload Media Lite 2.5.1- 2020-11-25 ###
93
+ * New: WordPress 5.6 compatible
94
+ * New: PHP 8.0 compatible
95
+ * Bug fix: Unexpectedly asked to select bucket after saving settings when legacy access key named constants defined
96
+ * Bug fix: srcset missing for some images
97
+ * Bug fix: Error saving item during Metadata upgrade in some cases
98
+
99
  ### WP Offload Media Lite 2.5 - 2020-11-11 ###
100
  * [Release Summary Blog Post](https://deliciousbrains.com/wp-offload-media-2-5-released/?utm_campaign=changelogs&utm_source=wordpress.org&utm_medium=free%2Bplugin%2Blisting)
101
  * Improvement: [Error notice shown](https://deliciousbrains.com/wp-offload-media/doc/missing-table-error-notice/?utm_campaign=changelogs&utm_source=wordpress.org&utm_medium=free%2Bplugin%2Blisting) when plugin's required custom table(s) missing
assets/js/script.js CHANGED
@@ -540,7 +540,7 @@
540
  var n = o.name,
541
  v = o.value;
542
  n = n.replace( '[]', '' );
543
- data[ n ] = undefined === data[ n ] ? v : $.isArray( data[ n ] ) ? data[ n ].concat( v ) : [ data[ n ], v ];
544
  } );
545
 
546
  // Overwrite the save action stored in the form
@@ -661,7 +661,7 @@
661
  } );
662
 
663
  // Don't allow 'enter' key to submit form on text input settings
664
- $( '.as3cf-setting input[type="text"]' ).keypress( function( event ) {
665
  if ( 13 === event.which ) {
666
  event.preventDefault();
667
 
@@ -813,7 +813,7 @@
813
  } );
814
 
815
  // Don't allow 'enter' key to submit form on text input settings
816
- $( '.as3cf-bucket-container input[type="text"]' ).keypress( function( event ) {
817
  if ( 13 === event.which ) {
818
  event.preventDefault();
819
 
540
  var n = o.name,
541
  v = o.value;
542
  n = n.replace( '[]', '' );
543
+ data[ n ] = undefined === data[ n ] ? v : Array.isArray( data[ n ] ) ? data[ n ].concat( v ) : [ data[ n ], v ];
544
  } );
545
 
546
  // Overwrite the save action stored in the form
661
  } );
662
 
663
  // Don't allow 'enter' key to submit form on text input settings
664
+ $( '.as3cf-setting input[type="text"]' ).on( 'keypress', function( event ) {
665
  if ( 13 === event.which ) {
666
  event.preventDefault();
667
 
813
  } );
814
 
815
  // Don't allow 'enter' key to submit form on text input settings
816
+ $( '.as3cf-bucket-container input[type="text"]' ).on( 'keypress', function( event ) {
817
  if ( 13 === event.which ) {
818
  event.preventDefault();
819
 
assets/js/script.min.js CHANGED
@@ -1 +1 @@
1
- !function(a,b){function c(b){return a("#"+b+" .as3cf-main-settings form").find("input:not(.no-compare)").serialize()}function d(a){var b=o.find("#"+a),c=b.find("input[type=checkbox]");b.toggleClass("on").find("span").toggleClass("checked");var d=b.find("span.on").hasClass("checked");c.prop("checked",d).trigger("change")}function e(b){var c=b.next(".as3cf-validation-error"),d=a("#"+o.attr("id")+' form button[type="submit"]'),e=/[^a-zA-Z0-9\.\-]/;e.test(b.val())?(c.show(),d.prop("disabled",!0)):(c.hide(),d.prop("disabled",!1))}function f(b){var c=b.next(".as3cf-validation-error"),d=a("#"+o.attr("id")+' form button[type="submit"]'),e=/[^a-zA-Z0-9]/;e.test(b.val())?(c.show(),d.prop("disabled",!0)):(c.hide(),d.prop("disabled",!1))}function g(b){var c=b.next(".as3cf-validation-error"),d=a("#"+o.attr("id")+' form button[type="submit"]'),e=/[^a-zA-Z0-9\.\-\\:\/ _]/;e.test(b.val())?(c.show(),d.prop("disabled",!0)):(c.hide(),d.prop("disabled",!1))}function h(b){var c=b.next(".as3cf-validation-error"),d=a("#"+o.attr("id")+' form button[type="submit"]'),e=/[^a-zA-Z0-9\-\/ ]/;e.test(b.val())?(c.show(),d.prop("disabled",!0)):(c.hide(),d.prop("disabled",!1))}function i(){var c=a("#"+b.prefix+"-bucket").val(),d=o.find('input[name="object-prefix"]'),e=d.val();""!==e&&(e=as3cf.provider_console_url_prefix_param+encodeURIComponent(e));var f=as3cf.provider_console_url+c+e;a("#"+b.prefix+"-view-bucket").attr("href",f)}function j(){a("#as3cf-remove-local-file").is(":checked")&&a("#as3cf-serve-from-s3").is(":not(:checked)")?a("#as3cf-lost-files-notice").show():a("#as3cf-lost-files-notice").hide()}function k(){a("#as3cf-remove-local-file").is(":checked")?a("#as3cf-remove-local-notice").show():a("#as3cf-remove-local-notice").hide()}function l(b){!0!==b?a("#as3cf-seo-friendly-url-notice").show():a("#as3cf-seo-friendly-url-notice").hide()}function m(){a(".as3cf-url-preview").html("Generating...");var b={_nonce:as3cf.nonces.get_url_preview};a.each(a("#tab-"+as3cf.tabs.defaultTab+" .as3cf-main-settings form").serializeArray(),function(c,d){var e=d.name,f=d.value;e=e.replace("[]",""),b[e]=void 0===b[e]?f:a.isArray(b[e])?b[e].concat(f):[b[e],f]}),b.action="as3cf-get-url-preview",a.ajax({url:ajaxurl,type:"POST",dataType:"JSON",data:b,error:function(a,b,c){alert(as3cf.strings.get_url_preview_error+c)},success:function(b,c,d){"undefined"!=typeof b.success?(a(".as3cf-url-preview").html(b.url),l(b.seo_friendly)):alert(as3cf.strings.get_url_preview_error+b.error)}})}function n(){return"#"+as3cf.tabs.defaultTab===location.hash?void(location.hash=""):(as3cf.tabs.toggle(location.hash.replace("#",""),!0),void a(document).trigger("as3cf.tabRendered",[location.hash.replace("#","")]))}var o,p={},q=/[^a-z0-9.-]/,r=a("body"),s=a(".as3cf-tab");a(".as3cf-settings");as3cf.tabs={defaultTab:"media",toggle:function(c,d){c=as3cf.tabs.sanitizeHash(c),s.hide(),o=a("#tab-"+c),o.show(),a(".nav-tab").removeClass("nav-tab-active"),a('a.nav-tab[data-tab="'+c+'"]').addClass("nav-tab-active"),a(".as3cf-main").data("tab",c),o.data("prefix")&&(b.prefix=o.data("prefix")),d||a(".as3cf-updated").removeClass("show"),"support"===c&&as3cf.tabs.getDiagnosticInfo()},getDiagnosticInfo:function(){var b=a(".debug-log-textarea");b.html(as3cf.strings.get_diagnostic_info);var c={action:"as3cf-get-diagnostic-info",_nonce:as3cf.nonces.get_diagnostic_info};a.ajax({url:ajaxurl,type:"POST",dataType:"JSON",data:c,error:function(a,c,d){b.html(d)},success:function(a,c,d){"undefined"!=typeof a.success?b.html(a.diagnostic_info):(b.html(as3cf.strings.get_diagnostic_info_error),b.append(a.error))}})},sanitizeHash:function(b){var c=a("#tab-"+b);return 0===c.length&&(b=as3cf.tabs.defaultTab),b}},as3cf.buckets={validLength:3,bucketSelectLock:!1,loadList:function(c){"undefined"==typeof c&&(c=!1);var d=a(".as3cf-bucket-container."+b.prefix+" .as3cf-bucket-select"),e=d.find(".bucket-select-region"),f=d.find(".as3cf-bucket-list"),g=a("#"+b.prefix+"-bucket").val();if(!1===c&&f.find("li").length>1)return a(".as3cf-bucket-list a").removeClass("selected"),a('.as3cf-bucket-list a[data-bucket="'+g+'"]').addClass("selected"),void this.scrollToSelected();f.html('<li class="loading">'+f.data("working")+"</li>"),this.disabledButtons();var h={action:b.prefix+"-get-buckets",_nonce:window[b.prefix.replace(/-/g,"_")].nonces.get_buckets};e.val()&&(h.region=e.val());var i=this;a.ajax({url:ajaxurl,type:"POST",dataType:"JSON",data:h,error:function(a,b,c){f.html(""),i.showError(as3cf.strings.get_buckets_error,c,"as3cf-bucket-select")},success:function(b,c,d){f.html(""),"undefined"!=typeof b.success?(a(".as3cf-bucket-error").hide(),0===b.buckets.length?f.html('<li class="loading">'+f.data("nothing-found")+"</li>"):(a(b.buckets).each(function(a,b){var c=b.Name===g?"selected":"";f.append('<li><a class="'+c+'" href="#" data-bucket="'+b.Name+'"><span class="bucket"><span class="dashicons dashicons-portfolio"></span> '+b.Name+'</span><span class="spinner"></span></span></a></li>')}),i.scrollToSelected(),i.disabledButtons())):i.showError(as3cf.strings.get_buckets_error,b.error,"as3cf-bucket-select")}})},scrollToSelected:function(){if(a(".as3cf-bucket-list a.selected").length){var b=a("ul.as3cf-bucket-list li").first().position().top+150;a(".as3cf-bucket-list").animate({scrollTop:a("ul.as3cf-bucket-list li a.selected").position().top-b})}},setSelected:function(c){a(".as3cf-bucket-list a").removeClass("selected"),c.addClass("selected"),a("#"+b.prefix+"-bucket-select-name").val(c.data("bucket"))},disabledButtons:function(){var c=a(".as3cf-bucket-container."+b.prefix+" .as3cf-bucket-create"),d=a(".as3cf-bucket-container."+b.prefix+" .as3cf-bucket-manual"),e=a(".as3cf-bucket-container."+b.prefix+" .as3cf-bucket-select");0===c.length&&0===d.length&&0===e.length||(0<c.length&&this.isValidName(c.find(".as3cf-bucket-name").val())?c.find("button[type=submit]").prop("disabled",!1):c.find("button[type=submit]").prop("disabled",!0),0<d.length&&this.isValidName(d.find(".as3cf-bucket-name").val())?d.find("button[type=submit]").prop("disabled",!1):d.find("button[type=submit]").prop("disabled",!0),0<e.length&&1===e.find(".as3cf-bucket-list a.selected").length?e.find("button[type=submit]").prop("disabled",!1):e.find("button[type=submit]").prop("disabled",!0))},showError:function(b,c,d){var e=a(".as3cf-bucket-container").children(":visible"),f=e.find(".as3cf-bucket-error");d="undefined"==typeof d?null:d,d&&!e.hasClass(d)||(f.find("span.title").html(b+" &mdash;"),f.find("span.message").html(c),f.show(),this.bucketSelectLock=!1)},isValidName:function(a){return!(a.length<3||a.length>63)&&!0!==q.test(a)},updateNameNotice:function(b){var c=null;!0===q.test(b)?c=as3cf.strings.create_bucket_invalid_chars:b.length<3?c=as3cf.strings.create_bucket_name_short:b.length>63&&(c=as3cf.strings.create_bucket_name_long),c&&b.length>0?a(".as3cf-invalid-bucket-name").html(c):a(".as3cf-invalid-bucket-name").html("")}},as3cf.reloadUpdated=function(){var a=location.pathname+location.search;location.search.match(/[?&]updated=/)||(a+="&updated=1"),a+=location.hash,location.assign(a)},as3cf.showSettingsSavedNotice=function(){if(!(0<a("#setting-error-settings_updated:visible").length||0<a("#as3cf-settings_updated:visible").length)){var b='<div id="as3cf-settings_updated" class="updated settings-error notice is-dismissible"><p><strong>'+as3cf.strings.settings_saved+"</strong></p></div>";a("h2.nav-tab-wrapper").after(b),a(document).trigger("wp-updates-notice-added")}},as3cf.Settings=as3cf.Settings?as3cf.Settings:{},as3cf.Settings.Media={lock:function(b){a("#as3cf-media-settings-locked-"+b).show(),a(".as3cf-media-settings").addClass("locked locked-"+b),a(".as3cf-media-settings.locked-"+b).each(function(){a(this).find("input,button").prop("disabled",!0),a(this).find(".as3cf-settings-container").addClass("as3cf-locked-setting"),a(this).find("a.as3cf-change-settings").hide()})},unlock:function(b){a(".as3cf-media-settings.locked-"+b).each(function(){a(this).find("input,button").filter(":not(.disabled)").prop("disabled",!1),a(this).find(".as3cf-settings-container").removeClass("as3cf-locked-setting"),a(this).find("a.as3cf-change-settings").show(),a(this).removeClass("locked locked-"+b)}),a("#as3cf-media-settings-locked-"+b).hide()},locked:function(){return a(".as3cf-media-settings").hasClass("locked")}},a(document).ready(function(){n(),window.onhashchange=function(a){"function"==typeof history.replaceState&&"#"===location.href.slice(-1)&&history.replaceState({},"",location.href.slice(0,-1)),n()};var l=a(".as3cf-main .nav-tab-wrapper");a(".as3cf-compatibility-notice, div.updated, div.error, div.notice").not(".below-h2, .inline").insertAfter(l),s.length&&s.each(function(a,b){p[b.id]=c(b.id)}),a(window).on("beforeunload.as3cf-settings",function(){if(!a.isEmptyObject(p)&&!as3cf.Settings.Media.locked()){var b=o.attr("id");return c(b)!==p[b]?as3cf.strings.save_alert:void 0}}),a(document).on("submit",".as3cf-main-settings form",function(b){a(window).off("beforeunload.as3cf-settings")}),a(".as3cf-switch").on("click",function(b){a(this).hasClass("disabled")||a(this).parents().hasClass("locked")||d(a(this).attr("id"))}),s.on("change",".sub-toggle",function(b){var c=a(this).attr("id");a(".as3cf-setting."+c).toggleClass("hide")}),a(".url-preview").on("change","input",function(a){m()}),j(),a("#as3cf-serve-from-s3,#as3cf-remove-local-file").on("change",function(a){j()}),k(),a("#as3cf-remove-local-file").on("change",function(a){k()}),a('.as3cf-setting input[type="text"]').keypress(function(a){if(13===a.which)return a.preventDefault(),!1}),a(".as3cf-enable-delivery-domain-container").on("change",'input[type="checkbox"]',function(b){var c=a(this).is(":checked"),d=a(this).parents(".as3cf-enable-delivery-domain-container").find(".as3cf-setting.as3cf-delivery-domain");d.toggleClass("hide",!c);var e=a(this).parents(".as3cf-enable-delivery-domain-container").siblings(".as3cf-enable-signed-urls-container");e.toggleClass("hide",!c)}),a('input[name="enable-delivery-domain"]').on("change",function(b){var c=a(this),d=a("#"+o.attr("id")+' form button[type="submit"]');"1"!==c.val()?d.prop("disabled",!1):e(c.next(".as3cf-setting").find('input[name="delivery-domain"]'))}),a('input[name="delivery-domain"]').on("keyup",function(b){e(a(this))}),a(".as3cf-enable-signed-urls-container").on("change",'input[type="checkbox"]',function(b){var c=a(this).is(":checked"),d=a(this).parents(".as3cf-enable-signed-urls-container").find(".as3cf-setting.as3cf-signed-urls");d.toggleClass("hide",!c)}),a('input[name="signed-urls-key-id"]').on("keyup",function(b){f(a(this))}),a('input[name="enable-signed-urls-key-id"]').on("change",function(b){var c=a(this),d=a("#"+o.attr("id")+' form button[type="submit"]');"1"!==c.val()?d.prop("disabled",!1):f(c.next(".as3cf-setting").find('input[name="signed-urls-key-id"]'))}),a('input[name="signed-urls-key-file-path"]').on("keyup",function(b){g(a(this))}),a('input[name="enable-signed-urls-key-file-path"]').on("change",function(b){var c=a(this),d=a("#"+o.attr("id")+' form button[type="submit"]');"1"!==c.val()?d.prop("disabled",!1):g(c.next(".as3cf-setting").find('input[name="signed-urls-key-file-path"]'))}),a('input[name="signed-urls-object-prefix"]').on("keyup",function(b){h(a(this))}),a('input[name="enable-signed-urls-object-prefix"]').on("change",function(b){var c=a(this),d=a("#"+o.attr("id")+' form button[type="submit"]');"1"!==c.val()?d.prop("disabled",!1):h(c.next(".as3cf-setting").find('input[name="signed-urls-object-prefix"]'))}),a('input[name="object-prefix"]').on("change",function(a){i()}),a("#tab-media > .as3cf-bucket-error").detach().insertAfter(".as3cf-bucket-container h3"),as3cf.buckets.disabledButtons(),r.on("click",".bucket-action-refresh",function(a){a.preventDefault(),as3cf.buckets.loadList(!0)}),r.on("change",".bucket-select-region",function(a){a.preventDefault(),as3cf.buckets.loadList(!0)}),0<a(".as3cf-bucket-container."+b.prefix+" .as3cf-bucket-select").length&&as3cf.buckets.loadList(!0),r.on("click",".as3cf-bucket-list a",function(b){b.preventDefault(),as3cf.buckets.setSelected(a(this)),as3cf.buckets.disabledButtons()}),a(".as3cf-bucket-container").on("click","a.js-link",function(b){return b.preventDefault(),window.open(a(this).attr("href")),!1}),r.on("input keyup",".as3cf-bucket-create .as3cf-bucket-name",function(b){var c=a(this).val();as3cf.buckets.updateNameNotice(c),as3cf.buckets.disabledButtons()}),r.on("input keyup",".as3cf-bucket-manual .as3cf-bucket-name",function(b){var c=a(this).val();as3cf.buckets.updateNameNotice(c),as3cf.buckets.disabledButtons()}),a('.as3cf-bucket-container input[type="text"]').keypress(function(a){if(13===a.which)return a.preventDefault(),!1}),a(".as3cf-change-bucket-access-prompt").on("change","#origin-access-identity-confirmation",function(b){a("#block-public-access-confirmed").prop("disabled",!a(this).prop("checked"))}),a(".as3cf-media-settings.locked.locked-upgrade").each(function(){as3cf.Settings.Media.lock("upgrade")})})}(jQuery,as3cfModal);
1
+ !function(a,b){function c(b){return a("#"+b+" .as3cf-main-settings form").find("input:not(.no-compare)").serialize()}function d(a){var b=o.find("#"+a),c=b.find("input[type=checkbox]");b.toggleClass("on").find("span").toggleClass("checked");var d=b.find("span.on").hasClass("checked");c.prop("checked",d).trigger("change")}function e(b){var c=b.next(".as3cf-validation-error"),d=a("#"+o.attr("id")+' form button[type="submit"]'),e=/[^a-zA-Z0-9\.\-]/;e.test(b.val())?(c.show(),d.prop("disabled",!0)):(c.hide(),d.prop("disabled",!1))}function f(b){var c=b.next(".as3cf-validation-error"),d=a("#"+o.attr("id")+' form button[type="submit"]'),e=/[^a-zA-Z0-9]/;e.test(b.val())?(c.show(),d.prop("disabled",!0)):(c.hide(),d.prop("disabled",!1))}function g(b){var c=b.next(".as3cf-validation-error"),d=a("#"+o.attr("id")+' form button[type="submit"]'),e=/[^a-zA-Z0-9\.\-\\:\/ _]/;e.test(b.val())?(c.show(),d.prop("disabled",!0)):(c.hide(),d.prop("disabled",!1))}function h(b){var c=b.next(".as3cf-validation-error"),d=a("#"+o.attr("id")+' form button[type="submit"]'),e=/[^a-zA-Z0-9\-\/ ]/;e.test(b.val())?(c.show(),d.prop("disabled",!0)):(c.hide(),d.prop("disabled",!1))}function i(){var c=a("#"+b.prefix+"-bucket").val(),d=o.find('input[name="object-prefix"]'),e=d.val();""!==e&&(e=as3cf.provider_console_url_prefix_param+encodeURIComponent(e));var f=as3cf.provider_console_url+c+e;a("#"+b.prefix+"-view-bucket").attr("href",f)}function j(){a("#as3cf-remove-local-file").is(":checked")&&a("#as3cf-serve-from-s3").is(":not(:checked)")?a("#as3cf-lost-files-notice").show():a("#as3cf-lost-files-notice").hide()}function k(){a("#as3cf-remove-local-file").is(":checked")?a("#as3cf-remove-local-notice").show():a("#as3cf-remove-local-notice").hide()}function l(b){!0!==b?a("#as3cf-seo-friendly-url-notice").show():a("#as3cf-seo-friendly-url-notice").hide()}function m(){a(".as3cf-url-preview").html("Generating...");var b={_nonce:as3cf.nonces.get_url_preview};a.each(a("#tab-"+as3cf.tabs.defaultTab+" .as3cf-main-settings form").serializeArray(),function(a,c){var d=c.name,e=c.value;d=d.replace("[]",""),b[d]=void 0===b[d]?e:Array.isArray(b[d])?b[d].concat(e):[b[d],e]}),b.action="as3cf-get-url-preview",a.ajax({url:ajaxurl,type:"POST",dataType:"JSON",data:b,error:function(a,b,c){alert(as3cf.strings.get_url_preview_error+c)},success:function(b,c,d){"undefined"!=typeof b.success?(a(".as3cf-url-preview").html(b.url),l(b.seo_friendly)):alert(as3cf.strings.get_url_preview_error+b.error)}})}function n(){return"#"+as3cf.tabs.defaultTab===location.hash?void(location.hash=""):(as3cf.tabs.toggle(location.hash.replace("#",""),!0),void a(document).trigger("as3cf.tabRendered",[location.hash.replace("#","")]))}var o,p={},q=/[^a-z0-9.-]/,r=a("body"),s=a(".as3cf-tab");a(".as3cf-settings");as3cf.tabs={defaultTab:"media",toggle:function(c,d){c=as3cf.tabs.sanitizeHash(c),s.hide(),o=a("#tab-"+c),o.show(),a(".nav-tab").removeClass("nav-tab-active"),a('a.nav-tab[data-tab="'+c+'"]').addClass("nav-tab-active"),a(".as3cf-main").data("tab",c),o.data("prefix")&&(b.prefix=o.data("prefix")),d||a(".as3cf-updated").removeClass("show"),"support"===c&&as3cf.tabs.getDiagnosticInfo()},getDiagnosticInfo:function(){var b=a(".debug-log-textarea");b.html(as3cf.strings.get_diagnostic_info);var c={action:"as3cf-get-diagnostic-info",_nonce:as3cf.nonces.get_diagnostic_info};a.ajax({url:ajaxurl,type:"POST",dataType:"JSON",data:c,error:function(a,c,d){b.html(d)},success:function(a,c,d){"undefined"!=typeof a.success?b.html(a.diagnostic_info):(b.html(as3cf.strings.get_diagnostic_info_error),b.append(a.error))}})},sanitizeHash:function(b){var c=a("#tab-"+b);return 0===c.length&&(b=as3cf.tabs.defaultTab),b}},as3cf.buckets={validLength:3,bucketSelectLock:!1,loadList:function(c){"undefined"==typeof c&&(c=!1);var d=a(".as3cf-bucket-container."+b.prefix+" .as3cf-bucket-select"),e=d.find(".bucket-select-region"),f=d.find(".as3cf-bucket-list"),g=a("#"+b.prefix+"-bucket").val();if(!1===c&&f.find("li").length>1)return a(".as3cf-bucket-list a").removeClass("selected"),a('.as3cf-bucket-list a[data-bucket="'+g+'"]').addClass("selected"),void this.scrollToSelected();f.html('<li class="loading">'+f.data("working")+"</li>"),this.disabledButtons();var h={action:b.prefix+"-get-buckets",_nonce:window[b.prefix.replace(/-/g,"_")].nonces.get_buckets};e.val()&&(h.region=e.val());var i=this;a.ajax({url:ajaxurl,type:"POST",dataType:"JSON",data:h,error:function(a,b,c){f.html(""),i.showError(as3cf.strings.get_buckets_error,c,"as3cf-bucket-select")},success:function(b,c,d){f.html(""),"undefined"!=typeof b.success?(a(".as3cf-bucket-error").hide(),0===b.buckets.length?f.html('<li class="loading">'+f.data("nothing-found")+"</li>"):(a(b.buckets).each(function(a,b){var c=b.Name===g?"selected":"";f.append('<li><a class="'+c+'" href="#" data-bucket="'+b.Name+'"><span class="bucket"><span class="dashicons dashicons-portfolio"></span> '+b.Name+'</span><span class="spinner"></span></span></a></li>')}),i.scrollToSelected(),i.disabledButtons())):i.showError(as3cf.strings.get_buckets_error,b.error,"as3cf-bucket-select")}})},scrollToSelected:function(){if(a(".as3cf-bucket-list a.selected").length){var b=a("ul.as3cf-bucket-list li").first().position().top+150;a(".as3cf-bucket-list").animate({scrollTop:a("ul.as3cf-bucket-list li a.selected").position().top-b})}},setSelected:function(c){a(".as3cf-bucket-list a").removeClass("selected"),c.addClass("selected"),a("#"+b.prefix+"-bucket-select-name").val(c.data("bucket"))},disabledButtons:function(){var c=a(".as3cf-bucket-container."+b.prefix+" .as3cf-bucket-create"),d=a(".as3cf-bucket-container."+b.prefix+" .as3cf-bucket-manual"),e=a(".as3cf-bucket-container."+b.prefix+" .as3cf-bucket-select");0===c.length&&0===d.length&&0===e.length||(0<c.length&&this.isValidName(c.find(".as3cf-bucket-name").val())?c.find("button[type=submit]").prop("disabled",!1):c.find("button[type=submit]").prop("disabled",!0),0<d.length&&this.isValidName(d.find(".as3cf-bucket-name").val())?d.find("button[type=submit]").prop("disabled",!1):d.find("button[type=submit]").prop("disabled",!0),0<e.length&&1===e.find(".as3cf-bucket-list a.selected").length?e.find("button[type=submit]").prop("disabled",!1):e.find("button[type=submit]").prop("disabled",!0))},showError:function(b,c,d){var e=a(".as3cf-bucket-container").children(":visible"),f=e.find(".as3cf-bucket-error");d="undefined"==typeof d?null:d,d&&!e.hasClass(d)||(f.find("span.title").html(b+" &mdash;"),f.find("span.message").html(c),f.show(),this.bucketSelectLock=!1)},isValidName:function(a){return!(a.length<3||a.length>63)&&!0!==q.test(a)},updateNameNotice:function(b){var c=null;!0===q.test(b)?c=as3cf.strings.create_bucket_invalid_chars:b.length<3?c=as3cf.strings.create_bucket_name_short:b.length>63&&(c=as3cf.strings.create_bucket_name_long),c&&b.length>0?a(".as3cf-invalid-bucket-name").html(c):a(".as3cf-invalid-bucket-name").html("")}},as3cf.reloadUpdated=function(){var a=location.pathname+location.search;location.search.match(/[?&]updated=/)||(a+="&updated=1"),a+=location.hash,location.assign(a)},as3cf.showSettingsSavedNotice=function(){if(!(0<a("#setting-error-settings_updated:visible").length||0<a("#as3cf-settings_updated:visible").length)){var b='<div id="as3cf-settings_updated" class="updated settings-error notice is-dismissible"><p><strong>'+as3cf.strings.settings_saved+"</strong></p></div>";a("h2.nav-tab-wrapper").after(b),a(document).trigger("wp-updates-notice-added")}},as3cf.Settings=as3cf.Settings?as3cf.Settings:{},as3cf.Settings.Media={lock:function(b){a("#as3cf-media-settings-locked-"+b).show(),a(".as3cf-media-settings").addClass("locked locked-"+b),a(".as3cf-media-settings.locked-"+b).each(function(){a(this).find("input,button").prop("disabled",!0),a(this).find(".as3cf-settings-container").addClass("as3cf-locked-setting"),a(this).find("a.as3cf-change-settings").hide()})},unlock:function(b){a(".as3cf-media-settings.locked-"+b).each(function(){a(this).find("input,button").filter(":not(.disabled)").prop("disabled",!1),a(this).find(".as3cf-settings-container").removeClass("as3cf-locked-setting"),a(this).find("a.as3cf-change-settings").show(),a(this).removeClass("locked locked-"+b)}),a("#as3cf-media-settings-locked-"+b).hide()},locked:function(){return a(".as3cf-media-settings").hasClass("locked")}},a(document).ready(function(){n(),window.onhashchange=function(a){"function"==typeof history.replaceState&&"#"===location.href.slice(-1)&&history.replaceState({},"",location.href.slice(0,-1)),n()};var l=a(".as3cf-main .nav-tab-wrapper");a(".as3cf-compatibility-notice, div.updated, div.error, div.notice").not(".below-h2, .inline").insertAfter(l),s.length&&s.each(function(a,b){p[b.id]=c(b.id)}),a(window).on("beforeunload.as3cf-settings",function(){if(!a.isEmptyObject(p)&&!as3cf.Settings.Media.locked()){var b=o.attr("id");return c(b)!==p[b]?as3cf.strings.save_alert:void 0}}),a(document).on("submit",".as3cf-main-settings form",function(b){a(window).off("beforeunload.as3cf-settings")}),a(".as3cf-switch").on("click",function(b){a(this).hasClass("disabled")||a(this).parents().hasClass("locked")||d(a(this).attr("id"))}),s.on("change",".sub-toggle",function(b){var c=a(this).attr("id");a(".as3cf-setting."+c).toggleClass("hide")}),a(".url-preview").on("change","input",function(a){m()}),j(),a("#as3cf-serve-from-s3,#as3cf-remove-local-file").on("change",function(a){j()}),k(),a("#as3cf-remove-local-file").on("change",function(a){k()}),a('.as3cf-setting input[type="text"]').on("keypress",function(a){if(13===a.which)return a.preventDefault(),!1}),a(".as3cf-enable-delivery-domain-container").on("change",'input[type="checkbox"]',function(b){var c=a(this).is(":checked"),d=a(this).parents(".as3cf-enable-delivery-domain-container").find(".as3cf-setting.as3cf-delivery-domain");d.toggleClass("hide",!c);var e=a(this).parents(".as3cf-enable-delivery-domain-container").siblings(".as3cf-enable-signed-urls-container");e.toggleClass("hide",!c)}),a('input[name="enable-delivery-domain"]').on("change",function(b){var c=a(this),d=a("#"+o.attr("id")+' form button[type="submit"]');"1"!==c.val()?d.prop("disabled",!1):e(c.next(".as3cf-setting").find('input[name="delivery-domain"]'))}),a('input[name="delivery-domain"]').on("keyup",function(b){e(a(this))}),a(".as3cf-enable-signed-urls-container").on("change",'input[type="checkbox"]',function(b){var c=a(this).is(":checked"),d=a(this).parents(".as3cf-enable-signed-urls-container").find(".as3cf-setting.as3cf-signed-urls");d.toggleClass("hide",!c)}),a('input[name="signed-urls-key-id"]').on("keyup",function(b){f(a(this))}),a('input[name="enable-signed-urls-key-id"]').on("change",function(b){var c=a(this),d=a("#"+o.attr("id")+' form button[type="submit"]');"1"!==c.val()?d.prop("disabled",!1):f(c.next(".as3cf-setting").find('input[name="signed-urls-key-id"]'))}),a('input[name="signed-urls-key-file-path"]').on("keyup",function(b){g(a(this))}),a('input[name="enable-signed-urls-key-file-path"]').on("change",function(b){var c=a(this),d=a("#"+o.attr("id")+' form button[type="submit"]');"1"!==c.val()?d.prop("disabled",!1):g(c.next(".as3cf-setting").find('input[name="signed-urls-key-file-path"]'))}),a('input[name="signed-urls-object-prefix"]').on("keyup",function(b){h(a(this))}),a('input[name="enable-signed-urls-object-prefix"]').on("change",function(b){var c=a(this),d=a("#"+o.attr("id")+' form button[type="submit"]');"1"!==c.val()?d.prop("disabled",!1):h(c.next(".as3cf-setting").find('input[name="signed-urls-object-prefix"]'))}),a('input[name="object-prefix"]').on("change",function(a){i()}),a("#tab-media > .as3cf-bucket-error").detach().insertAfter(".as3cf-bucket-container h3"),as3cf.buckets.disabledButtons(),r.on("click",".bucket-action-refresh",function(a){a.preventDefault(),as3cf.buckets.loadList(!0)}),r.on("change",".bucket-select-region",function(a){a.preventDefault(),as3cf.buckets.loadList(!0)}),0<a(".as3cf-bucket-container."+b.prefix+" .as3cf-bucket-select").length&&as3cf.buckets.loadList(!0),r.on("click",".as3cf-bucket-list a",function(b){b.preventDefault(),as3cf.buckets.setSelected(a(this)),as3cf.buckets.disabledButtons()}),a(".as3cf-bucket-container").on("click","a.js-link",function(b){return b.preventDefault(),window.open(a(this).attr("href")),!1}),r.on("input keyup",".as3cf-bucket-create .as3cf-bucket-name",function(b){var c=a(this).val();as3cf.buckets.updateNameNotice(c),as3cf.buckets.disabledButtons()}),r.on("input keyup",".as3cf-bucket-manual .as3cf-bucket-name",function(b){var c=a(this).val();as3cf.buckets.updateNameNotice(c),as3cf.buckets.disabledButtons()}),a('.as3cf-bucket-container input[type="text"]').on("keypress",function(a){if(13===a.which)return a.preventDefault(),!1}),a(".as3cf-change-bucket-access-prompt").on("change","#origin-access-identity-confirmation",function(b){a("#block-public-access-confirmed").prop("disabled",!a(this).prop("checked"))}),a(".as3cf-media-settings.locked.locked-upgrade").each(function(){as3cf.Settings.Media.lock("upgrade")})})}(jQuery,as3cfModal);
classes/amazon-s3-and-cloudfront.php CHANGED
@@ -3898,6 +3898,14 @@ class Amazon_S3_And_CloudFront extends AS3CF_Plugin_Base {
3898
  }
3899
  }
3900
 
 
 
 
 
 
 
 
 
3901
  if ( 'use-server-roles' === $var && 'server-role' !== $_POST['authmethod'] ) {
3902
  continue;
3903
  }
3898
  }
3899
  }
3900
 
3901
+ if ( 'access-key-id' === $var && 'db' !== $_POST['authmethod'] ) {
3902
+ continue;
3903
+ }
3904
+
3905
+ if ( 'secret-access-key' === $var && 'db' !== $_POST['authmethod'] ) {
3906
+ continue;
3907
+ }
3908
+
3909
  if ( 'use-server-roles' === $var && 'server-role' !== $_POST['authmethod'] ) {
3910
  continue;
3911
  }
classes/filters/as3cf-s3-to-local.php CHANGED
@@ -22,6 +22,8 @@ class AS3CF_S3_To_Local extends AS3CF_Filter {
22
  add_filter( 'as3cf_filter_post_provider_to_local', array( $this, 'filter_post' ) );
23
  // Widgets
24
  add_filter( 'widget_update_callback', array( $this, 'filter_widget_save' ), 10, 4 );
 
 
25
  }
26
 
27
  /**
@@ -215,4 +217,25 @@ class AS3CF_S3_To_Local extends AS3CF_Filter {
215
  protected function pre_replace_content( $content ) {
216
  return $content;
217
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
218
  }
22
  add_filter( 'as3cf_filter_post_provider_to_local', array( $this, 'filter_post' ) );
23
  // Widgets
24
  add_filter( 'widget_update_callback', array( $this, 'filter_widget_save' ), 10, 4 );
25
+ // Srcset handling
26
+ add_filter( 'wp_image_file_matches_image_meta', array( $this, 'image_file_matches_image_meta' ), 10, 4 );
27
  }
28
 
29
  /**
217
  protected function pre_replace_content( $content ) {
218
  return $content;
219
  }
220
+
221
+ /**
222
+ * Determines if the image meta data is for the image source file.
223
+ *
224
+ * @handles wp_image_file_matches_image_meta
225
+ *
226
+ * @param bool $match
227
+ * @param string $image_location
228
+ * @param array $image_meta
229
+ * @param int $attachment_id
230
+ *
231
+ * @return bool
232
+ */
233
+ public function image_file_matches_image_meta( $match, $image_location, $image_meta, $attachment_id ) {
234
+ // If already matched or the URL is local, there's nothing for us to do.
235
+ if ( $match || ! $this->url_needs_replacing( $image_location ) ) {
236
+ return $match;
237
+ }
238
+
239
+ return $this->attachment_id_matches_src( $attachment_id, $image_location );
240
+ }
241
  }
classes/items/item.php CHANGED
@@ -569,7 +569,7 @@ abstract class Item {
569
  $result = $wpdb->update( static::items_table(), $this->key_values(), array( 'id' => $this->id ), $this->formats(), array( '%d' ) );
570
  }
571
 
572
- if ( $result ) {
573
  // Now that the item has an ID it should be (re)cached.
574
  static::add_to_object_cache( $this );
575
  } else {
569
  $result = $wpdb->update( static::items_table(), $this->key_values(), array( 'id' => $this->id ), $this->formats(), array( '%d' ) );
570
  }
571
 
572
+ if ( false !== $result ) {
573
  // Now that the item has an ID it should be (re)cached.
574
  static::add_to_object_cache( $this );
575
  } else {
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: 2020-11-11 11:45+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"
@@ -157,7 +157,7 @@ msgid "-- not shown --"
157
  msgstr ""
158
 
159
  #: classes/amazon-s3-and-cloudfront.php:3400
160
- #: classes/amazon-s3-and-cloudfront.php:5777
161
  msgid "Settings saved."
162
  msgstr ""
163
 
@@ -225,36 +225,36 @@ msgstr ""
225
  msgid "Key File not valid JSON."
226
  msgstr ""
227
 
228
- #: classes/amazon-s3-and-cloudfront.php:3907
229
- #: classes/amazon-s3-and-cloudfront.php:3921
230
- #: classes/amazon-s3-and-cloudfront.php:3930
231
  msgctxt "missing form field"
232
  msgid " not provided."
233
  msgstr ""
234
 
235
- #: classes/amazon-s3-and-cloudfront.php:3973
236
  msgctxt "Show the media library tab"
237
  msgid "Media Library"
238
  msgstr ""
239
 
240
- #: classes/amazon-s3-and-cloudfront.php:3974
241
  msgctxt "Show the addons tab"
242
  msgid "Addons"
243
  msgstr ""
244
 
245
- #: classes/amazon-s3-and-cloudfront.php:3975
246
  msgctxt "Show the support tab"
247
  msgid "Support"
248
  msgstr ""
249
 
250
- #: classes/amazon-s3-and-cloudfront.php:4151
251
  #, php-format
252
  msgid ""
253
  "<strong>WP Offload Media</strong> &mdash; The file %s has been given %s "
254
  "permissions in the bucket."
255
  msgstr ""
256
 
257
- #: classes/amazon-s3-and-cloudfront.php:4170
258
  msgid ""
259
  "<strong>WP Offload Media Requirement Missing</strong> &mdash; Looks like you "
260
  "don't have an image manipulation library installed on this server and "
@@ -262,7 +262,7 @@ msgid ""
262
  "Please setup GD or ImageMagick."
263
  msgstr ""
264
 
265
- #: classes/amazon-s3-and-cloudfront.php:4194
266
  #, php-format
267
  msgid ""
268
  "<strong>Missing Table</strong> &mdash; One or more required database tables "
@@ -270,18 +270,18 @@ msgid ""
270
  "details. %s"
271
  msgstr ""
272
 
273
- #: classes/amazon-s3-and-cloudfront.php:5016
274
  #, php-format
275
  msgid ""
276
  "<a href=\"%s\">Define your access keys</a> to enable write access to the "
277
  "bucket"
278
  msgstr ""
279
 
280
- #: classes/amazon-s3-and-cloudfront.php:5023
281
  msgid "Quick Start Guide"
282
  msgstr ""
283
 
284
- #: classes/amazon-s3-and-cloudfront.php:5025
285
  #, php-format
286
  msgid ""
287
  "Looks like we don't have write access to this bucket. It's likely that the "
@@ -290,7 +290,7 @@ msgid ""
290
  "correctly."
291
  msgstr ""
292
 
293
- #: classes/amazon-s3-and-cloudfront.php:5027
294
  #, php-format
295
  msgid ""
296
  "Looks like we don't have access to the buckets. It's likely that the user "
@@ -298,39 +298,39 @@ msgid ""
298
  "Please see our %s for instructions on setting up permissions correctly."
299
  msgstr ""
300
 
301
- #: classes/amazon-s3-and-cloudfront.php:5195
302
  msgid "WP Offload Media Activation"
303
  msgstr ""
304
 
305
- #: classes/amazon-s3-and-cloudfront.php:5196
306
  msgid ""
307
  "WP Offload Media Lite and WP Offload Media cannot both be active. We've "
308
  "automatically deactivated WP Offload Media Lite."
309
  msgstr ""
310
 
311
- #: classes/amazon-s3-and-cloudfront.php:5198
312
  msgid "WP Offload Media Lite Activation"
313
  msgstr ""
314
 
315
- #: classes/amazon-s3-and-cloudfront.php:5199
316
  msgid ""
317
  "WP Offload Media Lite and WP Offload Media cannot both be active. We've "
318
  "automatically deactivated WP Offload Media."
319
  msgstr ""
320
 
321
- #: classes/amazon-s3-and-cloudfront.php:5253
322
  msgid "More&nbsp;info&nbsp;&raquo;"
323
  msgstr ""
324
 
325
- #: classes/amazon-s3-and-cloudfront.php:5333
326
  msgid "this doc"
327
  msgstr ""
328
 
329
- #: classes/amazon-s3-and-cloudfront.php:5335
330
  msgid "WP Offload Media Feature Removed"
331
  msgstr ""
332
 
333
- #: classes/amazon-s3-and-cloudfront.php:5336
334
  #, php-format
335
  msgid ""
336
  "You had the \"Always non-SSL\" option selected in your settings, but we've "
@@ -341,68 +341,68 @@ msgid ""
341
  "to the old behavior."
342
  msgstr ""
343
 
344
- #: classes/amazon-s3-and-cloudfront.php:5371
345
  msgid "Offload"
346
  msgstr ""
347
 
348
- #: classes/amazon-s3-and-cloudfront.php:5475
349
  msgid "No"
350
  msgstr ""
351
 
352
- #: classes/amazon-s3-and-cloudfront.php:5480
353
  msgctxt "Storage provider key name"
354
  msgid "Storage Provider"
355
  msgstr ""
356
 
357
- #: classes/amazon-s3-and-cloudfront.php:5481
358
  msgctxt "Storage provider name"
359
  msgid "Storage Provider"
360
  msgstr ""
361
 
362
- #: classes/amazon-s3-and-cloudfront.php:5482
363
  msgctxt "Bucket name"
364
  msgid "Bucket"
365
  msgstr ""
366
 
367
- #: classes/amazon-s3-and-cloudfront.php:5483
368
  msgctxt "Path to file in bucket"
369
  msgid "Path"
370
  msgstr ""
371
 
372
- #: classes/amazon-s3-and-cloudfront.php:5484
373
  msgctxt "Location of bucket"
374
  msgid "Region"
375
  msgstr ""
376
 
377
- #: classes/amazon-s3-and-cloudfront.php:5485
378
  msgctxt "Access control list of the file in bucket"
379
  msgid "Access"
380
  msgstr ""
381
 
382
- #: classes/amazon-s3-and-cloudfront.php:5486
383
  msgid "URL"
384
  msgstr ""
385
 
386
- #: classes/amazon-s3-and-cloudfront.php:5487
387
  msgctxt "Whether or not metadata has been verified"
388
  msgid "Verified"
389
  msgstr ""
390
 
391
- #: classes/amazon-s3-and-cloudfront.php:5740
392
  msgid "Assets Pull"
393
  msgstr ""
394
 
395
- #: classes/amazon-s3-and-cloudfront.php:5741
396
  msgid ""
397
  "An addon for WP Offload Media to serve your site's JS, CSS, and other "
398
  "enqueued assets from Amazon CloudFront or another CDN."
399
  msgstr ""
400
 
401
- #: classes/amazon-s3-and-cloudfront.php:5745
402
  msgid "Feature"
403
  msgstr ""
404
 
405
- #: classes/amazon-s3-and-cloudfront.php:5791
406
  #, php-format
407
  msgid ""
408
  "<strong>Amazon Web Services Plugin No Longer Required</strong> &mdash; As of "
@@ -413,7 +413,7 @@ msgid ""
413
  "plugin, it should be safe to deactivate and delete it. %2$s"
414
  msgstr ""
415
 
416
- #: classes/amazon-s3-and-cloudfront.php:5823
417
  #, php-format
418
  msgid ""
419
  "<strong>WP Offload Media Settings Moved</strong> &mdash; You now define your "
8
  msgstr ""
9
  "Project-Id-Version: amazon-s3-and-cloudfront\n"
10
  "Report-Msgid-Bugs-To: nom@deliciousbrains.com\n"
11
+ "POT-Creation-Date: 2020-11-25 13:30+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"
157
  msgstr ""
158
 
159
  #: classes/amazon-s3-and-cloudfront.php:3400
160
+ #: classes/amazon-s3-and-cloudfront.php:5785
161
  msgid "Settings saved."
162
  msgstr ""
163
 
225
  msgid "Key File not valid JSON."
226
  msgstr ""
227
 
228
+ #: classes/amazon-s3-and-cloudfront.php:3915
229
+ #: classes/amazon-s3-and-cloudfront.php:3929
230
+ #: classes/amazon-s3-and-cloudfront.php:3938
231
  msgctxt "missing form field"
232
  msgid " not provided."
233
  msgstr ""
234
 
235
+ #: classes/amazon-s3-and-cloudfront.php:3981
236
  msgctxt "Show the media library tab"
237
  msgid "Media Library"
238
  msgstr ""
239
 
240
+ #: classes/amazon-s3-and-cloudfront.php:3982
241
  msgctxt "Show the addons tab"
242
  msgid "Addons"
243
  msgstr ""
244
 
245
+ #: classes/amazon-s3-and-cloudfront.php:3983
246
  msgctxt "Show the support tab"
247
  msgid "Support"
248
  msgstr ""
249
 
250
+ #: classes/amazon-s3-and-cloudfront.php:4159
251
  #, php-format
252
  msgid ""
253
  "<strong>WP Offload Media</strong> &mdash; The file %s has been given %s "
254
  "permissions in the bucket."
255
  msgstr ""
256
 
257
+ #: classes/amazon-s3-and-cloudfront.php:4178
258
  msgid ""
259
  "<strong>WP Offload Media Requirement Missing</strong> &mdash; Looks like you "
260
  "don't have an image manipulation library installed on this server and "
262
  "Please setup GD or ImageMagick."
263
  msgstr ""
264
 
265
+ #: classes/amazon-s3-and-cloudfront.php:4202
266
  #, php-format
267
  msgid ""
268
  "<strong>Missing Table</strong> &mdash; One or more required database tables "
270
  "details. %s"
271
  msgstr ""
272
 
273
+ #: classes/amazon-s3-and-cloudfront.php:5024
274
  #, php-format
275
  msgid ""
276
  "<a href=\"%s\">Define your access keys</a> to enable write access to the "
277
  "bucket"
278
  msgstr ""
279
 
280
+ #: classes/amazon-s3-and-cloudfront.php:5031
281
  msgid "Quick Start Guide"
282
  msgstr ""
283
 
284
+ #: classes/amazon-s3-and-cloudfront.php:5033
285
  #, php-format
286
  msgid ""
287
  "Looks like we don't have write access to this bucket. It's likely that the "
290
  "correctly."
291
  msgstr ""
292
 
293
+ #: classes/amazon-s3-and-cloudfront.php:5035
294
  #, php-format
295
  msgid ""
296
  "Looks like we don't have access to the buckets. It's likely that the user "
298
  "Please see our %s for instructions on setting up permissions correctly."
299
  msgstr ""
300
 
301
+ #: classes/amazon-s3-and-cloudfront.php:5203
302
  msgid "WP Offload Media Activation"
303
  msgstr ""
304
 
305
+ #: classes/amazon-s3-and-cloudfront.php:5204
306
  msgid ""
307
  "WP Offload Media Lite and WP Offload Media cannot both be active. We've "
308
  "automatically deactivated WP Offload Media Lite."
309
  msgstr ""
310
 
311
+ #: classes/amazon-s3-and-cloudfront.php:5206
312
  msgid "WP Offload Media Lite Activation"
313
  msgstr ""
314
 
315
+ #: classes/amazon-s3-and-cloudfront.php:5207
316
  msgid ""
317
  "WP Offload Media Lite and WP Offload Media cannot both be active. We've "
318
  "automatically deactivated WP Offload Media."
319
  msgstr ""
320
 
321
+ #: classes/amazon-s3-and-cloudfront.php:5261
322
  msgid "More&nbsp;info&nbsp;&raquo;"
323
  msgstr ""
324
 
325
+ #: classes/amazon-s3-and-cloudfront.php:5341
326
  msgid "this doc"
327
  msgstr ""
328
 
329
+ #: classes/amazon-s3-and-cloudfront.php:5343
330
  msgid "WP Offload Media Feature Removed"
331
  msgstr ""
332
 
333
+ #: classes/amazon-s3-and-cloudfront.php:5344
334
  #, php-format
335
  msgid ""
336
  "You had the \"Always non-SSL\" option selected in your settings, but we've "
341
  "to the old behavior."
342
  msgstr ""
343
 
344
+ #: classes/amazon-s3-and-cloudfront.php:5379
345
  msgid "Offload"
346
  msgstr ""
347
 
348
+ #: classes/amazon-s3-and-cloudfront.php:5483
349
  msgid "No"
350
  msgstr ""
351
 
352
+ #: classes/amazon-s3-and-cloudfront.php:5488
353
  msgctxt "Storage provider key name"
354
  msgid "Storage Provider"
355
  msgstr ""
356
 
357
+ #: classes/amazon-s3-and-cloudfront.php:5489
358
  msgctxt "Storage provider name"
359
  msgid "Storage Provider"
360
  msgstr ""
361
 
362
+ #: classes/amazon-s3-and-cloudfront.php:5490
363
  msgctxt "Bucket name"
364
  msgid "Bucket"
365
  msgstr ""
366
 
367
+ #: classes/amazon-s3-and-cloudfront.php:5491
368
  msgctxt "Path to file in bucket"
369
  msgid "Path"
370
  msgstr ""
371
 
372
+ #: classes/amazon-s3-and-cloudfront.php:5492
373
  msgctxt "Location of bucket"
374
  msgid "Region"
375
  msgstr ""
376
 
377
+ #: classes/amazon-s3-and-cloudfront.php:5493
378
  msgctxt "Access control list of the file in bucket"
379
  msgid "Access"
380
  msgstr ""
381
 
382
+ #: classes/amazon-s3-and-cloudfront.php:5494
383
  msgid "URL"
384
  msgstr ""
385
 
386
+ #: classes/amazon-s3-and-cloudfront.php:5495
387
  msgctxt "Whether or not metadata has been verified"
388
  msgid "Verified"
389
  msgstr ""
390
 
391
+ #: classes/amazon-s3-and-cloudfront.php:5748
392
  msgid "Assets Pull"
393
  msgstr ""
394
 
395
+ #: classes/amazon-s3-and-cloudfront.php:5749
396
  msgid ""
397
  "An addon for WP Offload Media to serve your site's JS, CSS, and other "
398
  "enqueued assets from Amazon CloudFront or another CDN."
399
  msgstr ""
400
 
401
+ #: classes/amazon-s3-and-cloudfront.php:5753
402
  msgid "Feature"
403
  msgstr ""
404
 
405
+ #: classes/amazon-s3-and-cloudfront.php:5799
406
  #, php-format
407
  msgid ""
408
  "<strong>Amazon Web Services Plugin No Longer Required</strong> &mdash; As of "
413
  "plugin, it should be safe to deactivate and delete it. %2$s"
414
  msgstr ""
415
 
416
+ #: classes/amazon-s3-and-cloudfront.php:5831
417
  #, php-format
418
  msgid ""
419
  "<strong>WP Offload Media Settings Moved</strong> &mdash; You now define your "
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.5
6
  Requires PHP: 5.5
7
- Stable tag: 2.5
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.
@@ -81,6 +81,13 @@ This version requires PHP 5.3.3+ and the Amazon Web Services plugin
81
 
82
  == Changelog ==
83
 
 
 
 
 
 
 
 
84
  = WP Offload Media Lite 2.5 - 2020-11-11 =
85
  * [Release Summary Blog Post](https://deliciousbrains.com/wp-offload-media-2-5-released/?utm_campaign=changelogs&utm_source=wordpress.org&utm_medium=free%2Bplugin%2Blisting)
86
  * Improvement: [Error notice shown](https://deliciousbrains.com/wp-offload-media/doc/missing-table-error-notice/?utm_campaign=changelogs&utm_source=wordpress.org&utm_medium=free%2Bplugin%2Blisting) when plugin's required custom table(s) missing
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.6
6
  Requires PHP: 5.5
7
+ Stable tag: 2.5.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.
81
 
82
  == Changelog ==
83
 
84
+ = WP Offload Media Lite 2.5.1- 2020-11-25 =
85
+ * New: WordPress 5.6 compatible
86
+ * New: PHP 8.0 compatible
87
+ * Bug fix: Unexpectedly asked to select bucket after saving settings when legacy access key named constants defined
88
+ * Bug fix: srcset missing for some images
89
+ * Bug fix: Error saving item during Metadata upgrade in some cases
90
+
91
  = WP Offload Media Lite 2.5 - 2020-11-11 =
92
  * [Release Summary Blog Post](https://deliciousbrains.com/wp-offload-media-2-5-released/?utm_campaign=changelogs&utm_source=wordpress.org&utm_medium=free%2Bplugin%2Blisting)
93
  * Improvement: [Error notice shown](https://deliciousbrains.com/wp-offload-media/doc/missing-table-error-notice/?utm_campaign=changelogs&utm_source=wordpress.org&utm_medium=free%2Bplugin%2Blisting) when plugin's required custom table(s) missing
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.5
8
  Author URI: https://deliciousbrains.com/
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.5';
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.5.1
8
  Author URI: https://deliciousbrains.com/
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.5.1';
30
 
31
  require_once dirname( __FILE__ ) . '/classes/as3cf-compatibility-check.php';
32