Converter for Media – Optimize images | Convert WebP & AVIF - Version 3.0.4

Version Description

(2021-05-28) = * [Fixed] Caching rewrites on CDN and Proxy servers

Download this release

Release Info

Developer mateuszgbiorczyk
Plugin Icon 128x128 Converter for Media – Optimize images | Convert WebP & AVIF
Version 3.0.4
Comparing to
See all releases

Code changes from version 3.0.3 to 3.0.4

assets/build/js/scripts.js CHANGED
@@ -1 +1 @@
1
- !function(e){var t={};function r(s){if(t[s])return t[s].exports;var i=t[s]={i:s,l:!1,exports:{}};return e[s].call(i.exports,i,i.exports,r),i.l=!0,i.exports}r.m=e,r.c=t,r.d=function(e,t,s){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:s})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var s=Object.create(null);if(r.r(s),Object.defineProperty(s,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)r.d(s,i,function(t){return e[t]}.bind(null,i));return s},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="/",r(r.s=0)}([function(e,t,r){r(1),e.exports=r(2)},function(e,t,r){"use strict";function s(e,t){for(var r=0;r<t.length;r++){var s=t[r];s.enumerable=s.enumerable||!1,s.configurable=!0,"value"in s&&(s.writable=!0),Object.defineProperty(e,s.key,s)}}r.r(t);var i=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.setVars()&&this.setEvents()}var t,r,i;return t=e,(r=[{key:"setVars",value:function(){if(this.buttonOpen=document.querySelector('[data-slug="webp-converter-for-media"] a[href*="action=deactivate"]'),this.modal=document.querySelector(".webpModal"),this.buttonOpen&&this.modal)return this.outer=this.modal.querySelector(".webpModal__outer"),this.form=this.outer.querySelector(".webpModal__form"),this.formOptions=this.form.querySelectorAll('[name="webpc_reason"]'),this.formComment=this.form.querySelector('[name="webpc_comment"]'),this.buttonSubmit=this.form.querySelector('button[type="submit"]'),this.buttonCancel=this.form.querySelector('button[type="button"]'),this.events={openModal:this.openModal.bind(this)},this.atts={optionPlaceholder:"data-placeholder"},!0}},{key:"setEvents",value:function(){var e=this;this.buttonOpen.addEventListener("click",this.events.openModal),this.buttonSubmit.addEventListener("click",this.submitForm.bind(this)),this.buttonCancel.addEventListener("click",this.cancelForm.bind(this)),this.outer.addEventListener("click",this.closeModal.bind(this)),this.form.addEventListener("click",(function(e){e.stopPropagation()}));for(var t=this.formOptions.length,r=function(t){e.formOptions[t].addEventListener("change",(function(){e.setCurrentOption(t)}))},s=0;s<t;s++)r(s)}},{key:"openModal",value:function(e){e.preventDefault(),this.buttonOpen.removeEventListener("click",this.events.openModal),this.modal.removeAttribute("hidden")}},{key:"closeModal",value:function(){this.modal.setAttribute("hidden","hidden")}},{key:"submitForm",value:function(e){var t=this;e.preventDefault(),this.closeModal(),setTimeout((function(){var e=new FormData(t.form),r=t.form.getAttribute("action"),s=new XMLHttpRequest;s.open("POST",r,!0),s.send(e),t.buttonOpen.click()}),0)}},{key:"cancelForm",value:function(e){var t=this;e.preventDefault(),this.closeModal(),setTimeout((function(){t.buttonOpen.click()}),0)}},{key:"setCurrentOption",value:function(e){this.formComment.value="";var t=this.formOptions[e].getAttribute(this.atts.optionPlaceholder);this.formComment.setAttribute("placeholder",t)}}])&&s(t.prototype,r),i&&s(t,i),e}();function n(e,t){for(var r=0;r<t.length;r++){var s=t[r];s.enumerable=s.enumerable||!1,s.configurable=!0,"value"in s&&(s.writable=!0),Object.defineProperty(e,s.key,s)}}var o=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.setVars()&&this.setEvents()}var t,r,s;return t=e,(r=[{key:"setVars",value:function(){if(this.notice=document.querySelector(".notice[data-notice=webp-converter]"),this.notice)return this.settings={ajaxUrl:this.notice.getAttribute("data-url"),ajaxAction:"webpc_notice",buttonCloseClass:".notice[data-notice=webp-converter] .notice-dismiss",buttonHideClass:".notice[data-notice=webp-converter] [data-permanently]"},this.status={isHidden:!1},!0}},{key:"setEvents",value:function(){var e=this,t=this.settings,r=t.buttonCloseClass,s=t.buttonHideClass;window.addEventListener("click",(function(t){t.target.matches(r)?e.hideNotice(!1):t.target.matches(s)&&(t.preventDefault(),e.hideNotice(!0))}))}},{key:"hideNotice",value:function(e){if(!this.status.isHidden){this.status.isHidden=!0;var t=this.settings,r=t.ajaxUrl,s=t.ajaxAction,i=t.buttonCloseClass;jQuery.ajax(r,{type:"POST",data:{action:s,is_permanently:e?1:0}}),document.querySelector(i).click()}}}])&&n(t.prototype,r),s&&n(t,s),e}();function a(e,t){for(var r=0;r<t.length;r++){var s=t[r];s.enumerable=s.enumerable||!1,s.configurable=!0,"value"in s&&(s.writable=!0),Object.defineProperty(e,s.key,s)}}var u=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.setVars()&&this.setEvents()}var t,r,s;return t=e,(r=[{key:"setVars",value:function(){if(this.section=document.querySelector(".webpLoader"),this.section)return this.wrapper=this.section.querySelector(".webpLoader__status"),this.progress=this.wrapper.querySelector(".webpLoader__barProgress"),this.progressSize=this.section.querySelector(".webpLoader__sizeProgress"),this.errors=this.section.querySelector(".webpLoader__errors"),this.errorsInner=this.errors.querySelector(".webpLoader__errorsContentList"),this.errorsMessage=this.errors.querySelector(".webpLoader__errorsContentMessage"),this.success=this.section.querySelector(".webpLoader__success"),this.succesPopup=this.section.querySelector(".webpLoader__popup"),this.inputOptions=this.section.querySelectorAll('input[type="checkbox"]'),this.button=this.section.querySelector(".webpLoader__button"),this.data={count:0,max:0,items:[],size:{before:0,after:0},errors:[]},this.settings={isDisabled:!1,ajax:{urlPaths:this.section.getAttribute("data-api-paths"),urlRegenerate:this.section.getAttribute("data-api-regenerate"),errorMessage:this.section.getAttribute("data-api-error-message")},units:["kB","MB","GB"]},this.atts={progress:"data-percent"},this.classes={progressError:"webpLoader__barProgress--error",buttonDisabled:"webpLoader__button--disabled"},!0}},{key:"setEvents",value:function(){this.button.addEventListener("click",this.initRegenerate.bind(this))}},{key:"initRegenerate",value:function(e){if(e.preventDefault(),!this.settings.isDisabled){this.settings.isDisabled=!0,this.button.classList.add(this.classes.buttonDisabled);for(var t=this.inputOptions.length,r=0;r<t;r++)this.inputOptions[r].setAttribute("disabled",!0);this.wrapper.removeAttribute("hidden"),this.getImagesList()}}},{key:"getImagesList",value:function(){var e=this;jQuery.ajax(this.settings.ajax.urlPaths,{type:"POST",data:this.getDataForPathsRequest()}).done((function(t){e.data.items=t,e.data.max=t.length,e.regenerateNextImages()})).fail((function(){e.progress.classList.add(e.classes.progressError),e.errorsMessage.removeAttribute("hidden"),e.errors.removeAttribute("hidden")}))}},{key:"getDataForPathsRequest",value:function(){for(var e={},t=this.inputOptions.length,r=0;r<t;r++)e[this.inputOptions[r].getAttribute("name")]=this.inputOptions[r].checked?1:0;return e}},{key:"regenerateNextImages",value:function(){if(0===this.data.max&&this.updateProgress(),!(this.data.count>=this.data.max)){var e=this.data.items[this.data.count];this.data.count++,this.sendRequest(e)}}},{key:"sendRequest",value:function(e){var t=this;jQuery.ajax(this.settings.ajax.urlRegenerate,{type:"POST",data:{paths:e}}).done((function(e){t.updateErrors(e.errors),t.updateSize(e),t.updateProgress(),t.regenerateNextImages()})).fail((function(){var r=JSON.stringify(e),s=t.settings.ajax.errorMessage.replace("%s","<code>".concat(r,"</code>"));t.updateErrors([s]),t.regenerateNextImages()}))}},{key:"updateErrors",value:function(e){0!==e.length&&(this.data.errors=this.data.errors.concat(e),this.errorsInner.innerHTML=this.data.errors.join("<br>"),this.errors.removeAttribute("hidden"))}},{key:"updateSize",value:function(e){var t=this.data.size;t.before+=e.size.before,t.after+=e.size.after;var r=t.before-t.after;if(r<0&&(r=0),0!==r){var s=Math.round(100*(1-t.after/t.before));s<0&&(s=0);var i=-1;do{i++,r/=1024}while(r>1024);var n=r.toFixed(2),o=this.settings.units[i],a="".concat(n," ").concat(o," (").concat(s,"%)");this.progressSize.innerHTML=a}}},{key:"updateProgress",value:function(){var e=this.data.max>0?Math.floor(this.data.count/this.data.max*100):100;e>100&&(e=100),100===e&&(this.success.removeAttribute("hidden"),this.succesPopup.removeAttribute("hidden")),this.progress.setAttribute(this.atts.progress,e)}}])&&a(t.prototype,r),s&&a(t,s),e}();new function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),new i,new o,new u}},function(e,t){}]);
1
+ !function(e){var t={};function r(s){if(t[s])return t[s].exports;var i=t[s]={i:s,l:!1,exports:{}};return e[s].call(i.exports,i,i.exports,r),i.l=!0,i.exports}r.m=e,r.c=t,r.d=function(e,t,s){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:s})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var s=Object.create(null);if(r.r(s),Object.defineProperty(s,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)r.d(s,i,function(t){return e[t]}.bind(null,i));return s},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="/",r(r.s=0)}([function(e,t,r){r(1),e.exports=r(2)},function(e,t,r){"use strict";function s(e,t){for(var r=0;r<t.length;r++){var s=t[r];s.enumerable=s.enumerable||!1,s.configurable=!0,"value"in s&&(s.writable=!0),Object.defineProperty(e,s.key,s)}}r.r(t);var i=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.setVars()&&this.setEvents()}var t,r,i;return t=e,(r=[{key:"setVars",value:function(){if(this.buttonOpen=document.querySelector('[data-slug="webp-converter-for-media"] a[href*="action=deactivate"]'),this.modal=document.querySelector(".webpModal"),this.buttonOpen&&this.modal)return this.outer=this.modal.querySelector(".webpModal__outer"),this.form=this.outer.querySelector(".webpModal__form"),this.formOptions=this.form.querySelectorAll('[name="webpc_reason"]'),this.formComment=this.form.querySelector('[name="webpc_comment"]'),this.buttonSubmit=this.form.querySelector('button[type="submit"]'),this.buttonCancel=this.form.querySelector('button[type="button"]'),this.events={openModal:this.openModal.bind(this)},this.atts={optionPlaceholder:"data-placeholder"},!0}},{key:"setEvents",value:function(){var e=this;this.buttonOpen.addEventListener("click",this.events.openModal),this.buttonSubmit.addEventListener("click",this.submitForm.bind(this)),this.buttonCancel.addEventListener("click",this.cancelForm.bind(this)),this.outer.addEventListener("click",this.closeModal.bind(this)),this.form.addEventListener("click",(function(e){e.stopPropagation()}));for(var t=this.formOptions.length,r=function(t){e.formOptions[t].addEventListener("change",(function(){e.setCurrentOption(t)}))},s=0;s<t;s++)r(s)}},{key:"openModal",value:function(e){e.preventDefault(),this.buttonOpen.removeEventListener("click",this.events.openModal),this.modal.removeAttribute("hidden")}},{key:"closeModal",value:function(){this.modal.setAttribute("hidden","hidden")}},{key:"submitForm",value:function(e){var t=this;e.preventDefault(),this.closeModal(),setTimeout((function(){var e=new FormData(t.form),r=t.form.getAttribute("action"),s=new XMLHttpRequest;s.open("POST",r,!0),s.send(e),t.buttonOpen.click()}),0)}},{key:"cancelForm",value:function(e){var t=this;e.preventDefault(),this.closeModal(),setTimeout((function(){t.buttonOpen.click()}),0)}},{key:"setCurrentOption",value:function(e){this.formComment.value="";var t=this.formOptions[e].getAttribute(this.atts.optionPlaceholder);this.formComment.setAttribute("placeholder",t)}}])&&s(t.prototype,r),i&&s(t,i),e}();function n(e,t){for(var r=0;r<t.length;r++){var s=t[r];s.enumerable=s.enumerable||!1,s.configurable=!0,"value"in s&&(s.writable=!0),Object.defineProperty(e,s.key,s)}}var o=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.setVars()&&this.setEvents()}var t,r,s;return t=e,(r=[{key:"setVars",value:function(){if(this.notice=document.querySelector('.notice[data-notice="webp-converter-for-media"]'),this.notice)return this.settings={ajaxUrl:this.notice.getAttribute("data-url"),ajaxAction:"webpc_notice",buttonCloseClass:".notice-dismiss",buttonHideClass:"[data-permanently]"},this.events={clickOnClose:this.clickOnClose.bind(this)},!0}},{key:"setEvents",value:function(){this.notice.addEventListener("click",this.events.clickOnClose)}},{key:"clickOnClose",value:function(e){var t=this.settings,r=t.buttonCloseClass,s=t.buttonHideClass;this.notice.removeEventListener("click",this.events.clickOnClose),e.target.matches(r)?this.hideNotice(!1):e.target.matches(s)&&this.hideNotice(!0)}},{key:"hideNotice",value:function(e){var t=this.settings,r=t.ajaxUrl,s=t.ajaxAction,i=t.buttonCloseClass;jQuery.ajax(r,{type:"POST",data:{action:s,is_permanently:e?1:0}}),e&&this.notice.querySelector(i).click()}}])&&n(t.prototype,r),s&&n(t,s),e}();function a(e,t){for(var r=0;r<t.length;r++){var s=t[r];s.enumerable=s.enumerable||!1,s.configurable=!0,"value"in s&&(s.writable=!0),Object.defineProperty(e,s.key,s)}}var u=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.setVars()&&this.setEvents()}var t,r,s;return t=e,(r=[{key:"setVars",value:function(){if(this.section=document.querySelector(".webpLoader"),this.section)return this.wrapper=this.section.querySelector(".webpLoader__status"),this.progress=this.wrapper.querySelector(".webpLoader__barProgress"),this.progressSize=this.section.querySelector(".webpLoader__sizeProgress"),this.errors=this.section.querySelector(".webpLoader__errors"),this.errorsInner=this.errors.querySelector(".webpLoader__errorsContentList"),this.errorsMessage=this.errors.querySelector(".webpLoader__errorsContentMessage"),this.success=this.section.querySelector(".webpLoader__success"),this.succesPopup=this.section.querySelector(".webpLoader__popup"),this.inputOptions=this.section.querySelectorAll('input[type="checkbox"]'),this.button=this.section.querySelector(".webpLoader__button"),this.data={count:0,max:0,items:[],size:{before:0,after:0},errors:[]},this.settings={isDisabled:!1,ajax:{urlPaths:this.section.getAttribute("data-api-paths"),urlRegenerate:this.section.getAttribute("data-api-regenerate"),errorMessage:this.section.getAttribute("data-api-error-message")},units:["kB","MB","GB"]},this.atts={progress:"data-percent"},this.classes={progressError:"webpLoader__barProgress--error",buttonDisabled:"webpLoader__button--disabled"},!0}},{key:"setEvents",value:function(){this.button.addEventListener("click",this.initRegenerate.bind(this))}},{key:"initRegenerate",value:function(e){if(e.preventDefault(),!this.settings.isDisabled){this.settings.isDisabled=!0,this.button.classList.add(this.classes.buttonDisabled);for(var t=this.inputOptions.length,r=0;r<t;r++)this.inputOptions[r].setAttribute("disabled",!0);this.wrapper.removeAttribute("hidden"),this.getImagesList()}}},{key:"getImagesList",value:function(){var e=this;jQuery.ajax(this.settings.ajax.urlPaths,{type:"POST",data:this.getDataForPathsRequest()}).done((function(t){e.data.items=t,e.data.max=t.length,e.regenerateNextImages()})).fail((function(){e.progress.classList.add(e.classes.progressError),e.errorsMessage.removeAttribute("hidden"),e.errors.removeAttribute("hidden")}))}},{key:"getDataForPathsRequest",value:function(){for(var e={},t=this.inputOptions.length,r=0;r<t;r++)e[this.inputOptions[r].getAttribute("name")]=this.inputOptions[r].checked?1:0;return e}},{key:"regenerateNextImages",value:function(){if(0===this.data.max&&this.updateProgress(),!(this.data.count>=this.data.max)){var e=this.data.items[this.data.count];this.data.count++,this.sendRequest(e)}}},{key:"sendRequest",value:function(e){var t=this;jQuery.ajax(this.settings.ajax.urlRegenerate,{type:"POST",data:{paths:e}}).done((function(e){t.updateErrors(e.errors),t.updateSize(e),t.updateProgress(),t.regenerateNextImages()})).fail((function(){var r=JSON.stringify(e),s=t.settings.ajax.errorMessage.replace("%s","<code>".concat(r,"</code>"));t.updateErrors([s]),t.regenerateNextImages()}))}},{key:"updateErrors",value:function(e){0!==e.length&&(this.data.errors=this.data.errors.concat(e),this.errorsInner.innerHTML=this.data.errors.join("<br>"),this.errors.removeAttribute("hidden"))}},{key:"updateSize",value:function(e){var t=this.data.size;t.before+=e.size.before,t.after+=e.size.after;var r=t.before-t.after;if(r<0&&(r=0),0!==r){var s=Math.round(100*(1-t.after/t.before));s<0&&(s=0);var i=-1;do{i++,r/=1024}while(r>1024);var n=r.toFixed(2),o=this.settings.units[i],a="".concat(n," ").concat(o," (").concat(s,"%)");this.progressSize.innerHTML=a}}},{key:"updateProgress",value:function(){var e=this.data.max>0?Math.floor(this.data.count/this.data.max*100):100;e>100&&(e=100),100===e&&(this.success.removeAttribute("hidden"),this.succesPopup.removeAttribute("hidden")),this.progress.setAttribute(this.atts.progress,e)}}])&&a(t.prototype,r),s&&a(t,s),e}();new function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),new i,new o,new u}},function(e,t){}]);
includes/passthru.php CHANGED
@@ -38,13 +38,15 @@ class PassthruLoader {
38
  * @return void
39
  */
40
  private function load_converted_image( string $image_url ) {
41
- $mime_types = json_decode( self::MIME_TYPES, true );
42
- $header = function_exists( 'getallheaders' )
43
- ? ( getallheaders()['Accept'] ?? '' )
44
- : ( $_SERVER['HTTP_ACCEPT'] ?? '' ); // phpcs:ignore
 
 
45
 
46
  foreach ( $mime_types as $extension => $mime_type ) {
47
- if ( ( strpos( $header, $mime_type ) !== false )
48
  && ( $source = $this->load_image_source( $image_url, $extension ) ) ) {
49
  header( 'Content-Type: ' . $mime_type );
50
  echo $source; // phpcs:ignore
38
  * @return void
39
  */
40
  private function load_converted_image( string $image_url ) {
41
+ $mime_types = json_decode( self::MIME_TYPES, true );
42
+ $headers = array_change_key_case(
43
+ array_merge( ( function_exists( 'getallheaders' ) ) ? getallheaders() : [], $_SERVER ),
44
+ CASE_UPPER
45
+ );
46
+ $accept_header = $headers['ACCEPT'] ?? ( $headers['HTTP_ACCEPT'] ?? '' );
47
 
48
  foreach ( $mime_types as $extension => $mime_type ) {
49
+ if ( ( strpos( $accept_header, $mime_type ) !== false )
50
  && ( $source = $this->load_image_source( $image_url, $extension ) ) ) {
51
  header( 'Content-Type: ' . $mime_type );
52
  echo $source; // phpcs:ignore
readme.txt CHANGED
@@ -92,17 +92,6 @@ If you have an error on the plugin settings screen, first of all please read it
92
 
93
  The messages are designed to reduce the number of support requests that are repeated. It saves your and our time. Please read [this thread](https://wordpress.org/support/topic/server-configuration-error-what-to-do/) for more information.
94
 
95
- = Server configuration error on Cloudflare =
96
-
97
- For Cloudflare servers, a recurring problem is the error code **rewrites_cached**. To solve this problem, you need to disable the cache for the website from the server.
98
-
99
- Please follow the steps below:
100
- - Enter Cloudflare management panel and then to **Page Rules** Tab.
101
- - Click **Create page rule** button.
102
- - Enter your domain name.
103
- - Choose **Cache Level** option, set **Bypass** value and click **Save** button.
104
- - Click **Save and Deploy** button.
105
-
106
  = Error while converting? =
107
 
108
  You can get several types of errors when converting. First of all, carefully read their content. For the most part, you can solve this problem yourself. Try to do this or contact the server administrator.
@@ -373,6 +362,7 @@ and add below code in this file *(add these lines to very beginning of file if p
373
  ` break;`
374
  ` }`
375
  ` add_header Vary Accept;`
 
376
  ` expires 365d;`
377
  ` try_files /wp-content/uploads-webpc/$path.$ext.webp $uri =404;`
378
  ` }`
@@ -393,13 +383,16 @@ Please manually paste the following code **at the beginning of .htaccess file**
393
  RewriteEngine On
394
  RewriteCond %{HTTP_ACCEPT} image/webp
395
  RewriteCond %{DOCUMENT_ROOT}/wp-content/uploads-webpc/$1.jpg.webp -f
396
- RewriteRule (.+)\.jpg$ /wp-content/uploads-webpc/$1.jpg.webp [NC,T=image/webp,E=cache-control:no-cache,L]
397
  RewriteCond %{HTTP_ACCEPT} image/webp
398
  RewriteCond %{DOCUMENT_ROOT}/wp-content/uploads-webpc/$1.jpeg.webp -f
399
- RewriteRule (.+)\.jpeg$ /wp-content/uploads-webpc/$1.jpeg.webp [NC,T=image/webp,E=cache-control:no-cache,L]
400
  RewriteCond %{HTTP_ACCEPT} image/webp
401
  RewriteCond %{DOCUMENT_ROOT}/wp-content/uploads-webpc/$1.png.webp -f
402
- RewriteRule (.+)\.png$ /wp-content/uploads-webpc/$1.png.webp [NC,T=image/webp,E=cache-control:no-cache,L]
 
 
 
403
  </IfModule>`
404
  `# ! --- DO NOT EDIT NEXT LINE --- !`
405
  `# END WebP Converter`
@@ -414,6 +407,9 @@ And the following code **at the beginning of .htaccess file** in the `/wp-conten
414
  <IfModule mod_expires.c>
415
  ExpiresActive On
416
  ExpiresByType image/webp "access plus 1 year"
 
 
 
417
  </IfModule>`
418
  `# ! --- DO NOT EDIT NEXT LINE --- !`
419
  `# END WebP Converter`
@@ -438,6 +434,9 @@ This is all very important to us and allows us to do even better things for you!
438
 
439
  == Changelog ==
440
 
 
 
 
441
  = 3.0.3 (2021-05-22) =
442
  * `[Fixed]` Rewrite rules for via .htaccess loading mode
443
 
92
 
93
  The messages are designed to reduce the number of support requests that are repeated. It saves your and our time. Please read [this thread](https://wordpress.org/support/topic/server-configuration-error-what-to-do/) for more information.
94
 
 
 
 
 
 
 
 
 
 
 
 
95
  = Error while converting? =
96
 
97
  You can get several types of errors when converting. First of all, carefully read their content. For the most part, you can solve this problem yourself. Try to do this or contact the server administrator.
362
  ` break;`
363
  ` }`
364
  ` add_header Vary Accept;`
365
+ ` add_header Cache-Control "private";
366
  ` expires 365d;`
367
  ` try_files /wp-content/uploads-webpc/$path.$ext.webp $uri =404;`
368
  ` }`
383
  RewriteEngine On
384
  RewriteCond %{HTTP_ACCEPT} image/webp
385
  RewriteCond %{DOCUMENT_ROOT}/wp-content/uploads-webpc/$1.jpg.webp -f
386
+ RewriteRule (.+)\.jpg$ /wp-content/uploads-webpc/$1.jpg.webp [NC,T=image/webp,L]
387
  RewriteCond %{HTTP_ACCEPT} image/webp
388
  RewriteCond %{DOCUMENT_ROOT}/wp-content/uploads-webpc/$1.jpeg.webp -f
389
+ RewriteRule (.+)\.jpeg$ /wp-content/uploads-webpc/$1.jpeg.webp [NC,T=image/webp,L]
390
  RewriteCond %{HTTP_ACCEPT} image/webp
391
  RewriteCond %{DOCUMENT_ROOT}/wp-content/uploads-webpc/$1.png.webp -f
392
+ RewriteRule (.+)\.png$ /wp-content/uploads-webpc/$1.png.webp [NC,T=image/webp,L]
393
+ </IfModule>
394
+ <IfModule mod_headers.c>
395
+ Header Set Cache-Control "private"
396
  </IfModule>`
397
  `# ! --- DO NOT EDIT NEXT LINE --- !`
398
  `# END WebP Converter`
407
  <IfModule mod_expires.c>
408
  ExpiresActive On
409
  ExpiresByType image/webp "access plus 1 year"
410
+ </IfModule>
411
+ <IfModule mod_headers.c>
412
+ Header Set Cache-Control "private"
413
  </IfModule>`
414
  `# ! --- DO NOT EDIT NEXT LINE --- !`
415
  `# END WebP Converter`
434
 
435
  == Changelog ==
436
 
437
+ = 3.0.4 (2021-05-28) =
438
+ * `[Fixed]` Caching rewrites on CDN and Proxy servers
439
+
440
  = 3.0.3 (2021-05-22) =
441
  * `[Fixed]` Rewrite rules for via .htaccess loading mode
442
 
src/Error/RewritesError.php CHANGED
@@ -85,12 +85,13 @@ class RewritesError extends ErrorAbstract implements ErrorInterface {
85
  private function if_redirects_are_works(): bool {
86
  $uploads_dir = apply_filters( 'webpc_dir_path', '', 'uploads' );
87
  $uploads_url = apply_filters( 'webpc_dir_url', '', 'uploads' );
 
88
 
89
  $file_size = FileLoader::get_file_size_by_path(
90
  $uploads_dir . self::PATH_OUTPUT_FILE_PNG
91
  );
92
  $file_webp = FileLoader::get_file_size_by_url(
93
- $uploads_url . self::PATH_OUTPUT_FILE_PNG,
94
  $this->get_plugin()
95
  );
96
 
@@ -104,13 +105,14 @@ class RewritesError extends ErrorAbstract implements ErrorInterface {
104
  */
105
  private function if_bypassing_apache_is_active(): bool {
106
  $uploads_url = apply_filters( 'webpc_dir_url', '', 'uploads' );
 
107
 
108
  $file_png = FileLoader::get_file_size_by_url(
109
- $uploads_url . self::PATH_OUTPUT_FILE_PNG,
110
  $this->get_plugin()
111
  );
112
  $file_png2 = FileLoader::get_file_size_by_url(
113
- $uploads_url . self::PATH_OUTPUT_FILE_PNG2,
114
  $this->get_plugin()
115
  );
116
 
@@ -124,13 +126,14 @@ class RewritesError extends ErrorAbstract implements ErrorInterface {
124
  */
125
  private function if_redirects_are_cached(): bool {
126
  $uploads_url = apply_filters( 'webpc_dir_url', '', 'uploads' );
 
127
 
128
  $file_webp = FileLoader::get_file_size_by_url(
129
- $uploads_url . self::PATH_OUTPUT_FILE_PNG,
130
  $this->get_plugin()
131
  );
132
  $file_original = FileLoader::get_file_size_by_url(
133
- $uploads_url . self::PATH_OUTPUT_FILE_PNG,
134
  $this->get_plugin(),
135
  false
136
  );
85
  private function if_redirects_are_works(): bool {
86
  $uploads_dir = apply_filters( 'webpc_dir_path', '', 'uploads' );
87
  $uploads_url = apply_filters( 'webpc_dir_url', '', 'uploads' );
88
+ $ver_param = sprintf( '?ver=%s', time() );
89
 
90
  $file_size = FileLoader::get_file_size_by_path(
91
  $uploads_dir . self::PATH_OUTPUT_FILE_PNG
92
  );
93
  $file_webp = FileLoader::get_file_size_by_url(
94
+ $uploads_url . self::PATH_OUTPUT_FILE_PNG . $ver_param,
95
  $this->get_plugin()
96
  );
97
 
105
  */
106
  private function if_bypassing_apache_is_active(): bool {
107
  $uploads_url = apply_filters( 'webpc_dir_url', '', 'uploads' );
108
+ $ver_param = sprintf( '?ver=%s', time() );
109
 
110
  $file_png = FileLoader::get_file_size_by_url(
111
+ $uploads_url . self::PATH_OUTPUT_FILE_PNG . $ver_param,
112
  $this->get_plugin()
113
  );
114
  $file_png2 = FileLoader::get_file_size_by_url(
115
+ $uploads_url . self::PATH_OUTPUT_FILE_PNG2 . $ver_param,
116
  $this->get_plugin()
117
  );
118
 
126
  */
127
  private function if_redirects_are_cached(): bool {
128
  $uploads_url = apply_filters( 'webpc_dir_url', '', 'uploads' );
129
+ $ver_param = sprintf( '?ver=%s', time() );
130
 
131
  $file_webp = FileLoader::get_file_size_by_url(
132
+ $uploads_url . self::PATH_OUTPUT_FILE_PNG . $ver_param,
133
  $this->get_plugin()
134
  );
135
  $file_original = FileLoader::get_file_size_by_url(
136
+ $uploads_url . self::PATH_OUTPUT_FILE_PNG . $ver_param,
137
  $this->get_plugin(),
138
  false
139
  );
src/Loader/HtaccessLoader.php CHANGED
@@ -94,6 +94,7 @@ class HtaccessLoader extends LoaderAbstract implements LoaderInterface {
94
  $content = $this->add_comments_to_rules(
95
  [
96
  $this->get_mod_rewrite_rules( $settings, end( $path_parts ) ),
 
97
  ]
98
  );
99
 
@@ -120,6 +121,7 @@ class HtaccessLoader extends LoaderAbstract implements LoaderInterface {
120
  [
121
  $this->get_mod_mime_rules( $settings ),
122
  $this->get_mod_expires_rules( $settings ),
 
123
  ]
124
  );
125
 
@@ -157,15 +159,29 @@ class HtaccessLoader extends LoaderAbstract implements LoaderInterface {
157
  if ( ! in_array( 'referer_disabled', $settings['features'] ) ) {
158
  $content .= " RewriteCond %{HTTP_HOST}@@%{HTTP_REFERER} ^([^@]*)@@https?://\\1/.*" . PHP_EOL;
159
  }
160
- $content .= " RewriteRule (.+)\.${ext}$ ${prefix_rule}${path}/$1.${ext}.${format} [NC,T=${mime_type},E=cache-control:no-cache,L]" . PHP_EOL;
161
  }
162
  $content .= '</IfModule>';
163
- $content .= PHP_EOL;
164
  }
165
 
166
  return apply_filters( 'webpc_htaccess_mod_rewrite', trim( $content ), $path );
167
  }
168
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
169
  /**
170
  * Generates rules for mod_expires.
171
  *
94
  $content = $this->add_comments_to_rules(
95
  [
96
  $this->get_mod_rewrite_rules( $settings, end( $path_parts ) ),
97
+ $this->get_mod_headers_rules( $settings ),
98
  ]
99
  );
100
 
121
  [
122
  $this->get_mod_mime_rules( $settings ),
123
  $this->get_mod_expires_rules( $settings ),
124
+ $this->get_mod_headers_rules( $settings ),
125
  ]
126
  );
127
 
159
  if ( ! in_array( 'referer_disabled', $settings['features'] ) ) {
160
  $content .= " RewriteCond %{HTTP_HOST}@@%{HTTP_REFERER} ^([^@]*)@@https?://\\1/.*" . PHP_EOL;
161
  }
162
+ $content .= " RewriteRule (.+)\.${ext}$ ${prefix_rule}${path}/$1.${ext}.${format} [NC,T=${mime_type},L]" . PHP_EOL;
163
  }
164
  $content .= '</IfModule>';
 
165
  }
166
 
167
  return apply_filters( 'webpc_htaccess_mod_rewrite', trim( $content ), $path );
168
  }
169
 
170
+ /**
171
+ * Generates rules for mod_headers.
172
+ *
173
+ * @param mixed[] $settings Plugin settings.
174
+ *
175
+ * @return string Rules for .htaccess file.
176
+ */
177
+ private function get_mod_headers_rules( array $settings ): string {
178
+ $content = '<IfModule mod_headers.c>' . PHP_EOL;
179
+ $content .= ' Header Set Cache-Control "private"' . PHP_EOL;
180
+ $content .= '</IfModule>';
181
+
182
+ return apply_filters( 'webpc_htaccess_mod_headers', $content );
183
+ }
184
+
185
  /**
186
  * Generates rules for mod_expires.
187
  *
src/Settings/Page/DebugPage.php CHANGED
@@ -37,6 +37,7 @@ class DebugPage extends PageAbstract implements PageInterface {
37
  $plugin = $this->get_plugin();
38
  $uploads_url = apply_filters( 'webpc_dir_url', '', 'uploads' );
39
  $uploads_path = apply_filters( 'webpc_dir_path', '', 'uploads' );
 
40
 
41
  do_action( LoaderAbstract::ACTION_NAME, true, true );
42
 
@@ -60,21 +61,21 @@ class DebugPage extends PageAbstract implements PageInterface {
60
  $uploads_path . RewritesError::PATH_OUTPUT_FILE_PNG2
61
  ),
62
  'size_png_url' => FileLoader::get_file_size_by_url(
63
- $uploads_url . RewritesError::PATH_OUTPUT_FILE_PNG,
64
  $plugin,
65
  false
66
  ),
67
  'size_png2_url' => FileLoader::get_file_size_by_url(
68
- $uploads_url . RewritesError::PATH_OUTPUT_FILE_PNG2,
69
  $plugin,
70
  false
71
  ),
72
  'size_png_as_webp_url' => FileLoader::get_file_size_by_url(
73
- $uploads_url . RewritesError::PATH_OUTPUT_FILE_PNG,
74
  $plugin
75
  ),
76
  'size_png2_as_webp_url' => FileLoader::get_file_size_by_url(
77
- $uploads_url . RewritesError::PATH_OUTPUT_FILE_PNG2,
78
  $plugin
79
  ),
80
  ]
37
  $plugin = $this->get_plugin();
38
  $uploads_url = apply_filters( 'webpc_dir_url', '', 'uploads' );
39
  $uploads_path = apply_filters( 'webpc_dir_path', '', 'uploads' );
40
+ $ver_param = sprintf( '?ver=%s', time() );
41
 
42
  do_action( LoaderAbstract::ACTION_NAME, true, true );
43
 
61
  $uploads_path . RewritesError::PATH_OUTPUT_FILE_PNG2
62
  ),
63
  'size_png_url' => FileLoader::get_file_size_by_url(
64
+ $uploads_url . RewritesError::PATH_OUTPUT_FILE_PNG . $ver_param,
65
  $plugin,
66
  false
67
  ),
68
  'size_png2_url' => FileLoader::get_file_size_by_url(
69
+ $uploads_url . RewritesError::PATH_OUTPUT_FILE_PNG2 . $ver_param,
70
  $plugin,
71
  false
72
  ),
73
  'size_png_as_webp_url' => FileLoader::get_file_size_by_url(
74
+ $uploads_url . RewritesError::PATH_OUTPUT_FILE_PNG . $ver_param,
75
  $plugin
76
  ),
77
  'size_png2_as_webp_url' => FileLoader::get_file_size_by_url(
78
+ $uploads_url . RewritesError::PATH_OUTPUT_FILE_PNG2 . $ver_param,
79
  $plugin
80
  ),
81
  ]
templates/components/errors/rewrites-cached.php CHANGED
@@ -9,13 +9,7 @@
9
  <p>
10
  <?php
11
  echo wp_kses_post(
12
- sprintf(
13
- /* translators: %1$s: br tags, %2$s: open anchor tag, %3$s: close anchor tag */
14
- __( 'Your server uses the cache for HTTP requests. The rules from .htaccess file or from Nginx configuration are not executed every time when the image is loaded, but the last redirect from cache is performed. With each request to image, your server should execute the rules from .htaccess file or from Nginx configuration. Now it only does this the first time and then uses cache. This means that if your server redirected image to WebP format the first time, it does so on every request. It should check the rules from .htaccess file or from Nginx configuration each time during request to image and redirect only when the conditions are met. %1$sIf you have enabled caching HTTP reverse proxy or another HTTP caching, you must disable it. Otherwise the plugin cannot work properly. Please read %2$sthe plugin FAQ%3$s to learn more (there you will find e.g. solution for Cloudflare servers).', 'webp-converter-for-media' ),
15
- '<br><br>',
16
- '<a href="https://wordpress.org/plugins/webp-converter-for-media/#faq" target="_blank">',
17
- '</a>'
18
- )
19
  );
20
  ?>
21
  <br><br>
9
  <p>
10
  <?php
11
  echo wp_kses_post(
12
+ __( 'Your server uses the cache for HTTP requests. The rules from .htaccess file or from Nginx configuration are not executed every time when the image is loaded, but the last redirect from cache is performed. With each request to image, your server should execute the rules from .htaccess file or from Nginx configuration. Now it only does this the first time and then uses cache. This means that if your server redirected image to WebP format the first time, it does so on every request. It should check the rules from .htaccess file or from Nginx configuration each time during request to image and redirect only when the conditions are met.', 'webp-converter-for-media' )
 
 
 
 
 
 
13
  );
14
  ?>
15
  <br><br>
templates/components/notices/thanks.php CHANGED
@@ -7,7 +7,8 @@
7
  */
8
 
9
  ?>
10
- <div class="notice notice-success is-dismissible" data-notice="webp-converter"
 
11
  data-url="<?php echo esc_url( $ajax_url ); ?>"
12
  >
13
  <div class="webpContent webpContent--notice">
@@ -44,11 +45,11 @@
44
  >
45
  <?php echo esc_html( __( 'Provide us a coffee', 'webp-converter-for-media' ) ); ?>
46
  </a>
47
- <a href="#" target="_blank" data-permanently
48
  class="webpContent__button webpButton webpButton--blue"
49
  >
50
  <?php echo esc_html( __( 'I added review, do not show again', 'webp-converter-for-media' ) ); ?>
51
- </a>
52
  </div>
53
  </div>
54
  </div>
7
  */
8
 
9
  ?>
10
+ <div class="notice notice-success is-dismissible"
11
+ data-notice="webp-converter-for-media"
12
  data-url="<?php echo esc_url( $ajax_url ); ?>"
13
  >
14
  <div class="webpContent webpContent--notice">
45
  >
46
  <?php echo esc_html( __( 'Provide us a coffee', 'webp-converter-for-media' ) ); ?>
47
  </a>
48
+ <button type="button" data-permanently
49
  class="webpContent__button webpButton webpButton--blue"
50
  >
51
  <?php echo esc_html( __( 'I added review, do not show again', 'webp-converter-for-media' ) ); ?>
52
+ </button>
53
  </div>
54
  </div>
55
  </div>
vendor/composer/InstalledVersions.php CHANGED
@@ -32,7 +32,7 @@ private static $installed = array (
32
  'aliases' =>
33
  array (
34
  ),
35
- 'reference' => '334269d73e4280c99d694f2ddf29be11511f7630',
36
  'name' => 'gbiorczyk/webp-converter-for-media',
37
  ),
38
  'versions' =>
@@ -44,7 +44,7 @@ private static $installed = array (
44
  'aliases' =>
45
  array (
46
  ),
47
- 'reference' => '334269d73e4280c99d694f2ddf29be11511f7630',
48
  ),
49
  ),
50
  );
32
  'aliases' =>
33
  array (
34
  ),
35
+ 'reference' => '03b08fcc91827c5754d058f1dbe5ee56ba0bc99c',
36
  'name' => 'gbiorczyk/webp-converter-for-media',
37
  ),
38
  'versions' =>
44
  'aliases' =>
45
  array (
46
  ),
47
+ 'reference' => '03b08fcc91827c5754d058f1dbe5ee56ba0bc99c',
48
  ),
49
  ),
50
  );
vendor/composer/autoload_classmap.php CHANGED
@@ -7,4 +7,119 @@ $baseDir = dirname($vendorDir);
7
 
8
  return array(
9
  'Composer\\InstalledVersions' => $vendorDir . '/composer/InstalledVersions.php',
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10
  );
7
 
8
  return array(
9
  'Composer\\InstalledVersions' => $vendorDir . '/composer/InstalledVersions.php',
10
+ 'WebpConverter\\Action\\ConvertAttachment' => $baseDir . '/src/Action/ConvertAttachment.php',
11
+ 'WebpConverter\\Action\\ConvertDir' => $baseDir . '/src/Action/ConvertDir.php',
12
+ 'WebpConverter\\Action\\ConvertPaths' => $baseDir . '/src/Action/ConvertPaths.php',
13
+ 'WebpConverter\\Action\\DeletePaths' => $baseDir . '/src/Action/DeletePaths.php',
14
+ 'WebpConverter\\Action\\RegenerateAll' => $baseDir . '/src/Action/RegenerateAll.php',
15
+ 'WebpConverter\\Conversion\\Cron\\Event' => $baseDir . '/src/Conversion/Cron/Event.php',
16
+ 'WebpConverter\\Conversion\\Cron\\Schedules' => $baseDir . '/src/Conversion/Cron/Schedules.php',
17
+ 'WebpConverter\\Conversion\\Directories' => $baseDir . '/src/Conversion/Directories.php',
18
+ 'WebpConverter\\Conversion\\DirectoryFiles' => $baseDir . '/src/Conversion/DirectoryFiles.php',
19
+ 'WebpConverter\\Conversion\\Directory\\DirectoriesIntegration' => $baseDir . '/src/Conversion/Directory/DirectoriesIntegration.php',
20
+ 'WebpConverter\\Conversion\\Directory\\DirectoryAbstract' => $baseDir . '/src/Conversion/Directory/DirectoryAbstract.php',
21
+ 'WebpConverter\\Conversion\\Directory\\DirectoryInterface' => $baseDir . '/src/Conversion/Directory/DirectoryInterface.php',
22
+ 'WebpConverter\\Conversion\\Directory\\GalleryDirectory' => $baseDir . '/src/Conversion/Directory/GalleryDirectory.php',
23
+ 'WebpConverter\\Conversion\\Directory\\PluginsDirectory' => $baseDir . '/src/Conversion/Directory/PluginsDirectory.php',
24
+ 'WebpConverter\\Conversion\\Directory\\ThemesDirectory' => $baseDir . '/src/Conversion/Directory/ThemesDirectory.php',
25
+ 'WebpConverter\\Conversion\\Directory\\UploadsDirectory' => $baseDir . '/src/Conversion/Directory/UploadsDirectory.php',
26
+ 'WebpConverter\\Conversion\\Directory\\UploadsWebpcDirectory' => $baseDir . '/src/Conversion/Directory/UploadsWebpcDirectory.php',
27
+ 'WebpConverter\\Conversion\\Endpoint\\EndpointAbstract' => $baseDir . '/src/Conversion/Endpoint/EndpointAbstract.php',
28
+ 'WebpConverter\\Conversion\\Endpoint\\EndpointIntegration' => $baseDir . '/src/Conversion/Endpoint/EndpointIntegration.php',
29
+ 'WebpConverter\\Conversion\\Endpoint\\EndpointInterface' => $baseDir . '/src/Conversion/Endpoint/EndpointInterface.php',
30
+ 'WebpConverter\\Conversion\\Endpoint\\PathsEndpoint' => $baseDir . '/src/Conversion/Endpoint/PathsEndpoint.php',
31
+ 'WebpConverter\\Conversion\\Endpoint\\RegenerateEndpoint' => $baseDir . '/src/Conversion/Endpoint/RegenerateEndpoint.php',
32
+ 'WebpConverter\\Conversion\\Endpoints' => $baseDir . '/src/Conversion/Endpoints.php',
33
+ 'WebpConverter\\Conversion\\Exception\\ConversionErrorException' => $baseDir . '/src/Conversion/Exception/ConversionErrorException.php',
34
+ 'WebpConverter\\Conversion\\Exception\\ExceptionAbstract' => $baseDir . '/src/Conversion/Exception/ExceptionAbstract.php',
35
+ 'WebpConverter\\Conversion\\Exception\\ExceptionInterface' => $baseDir . '/src/Conversion/Exception/ExceptionInterface.php',
36
+ 'WebpConverter\\Conversion\\Exception\\ExtensionUnsupportedException' => $baseDir . '/src/Conversion/Exception/ExtensionUnsupportedException.php',
37
+ 'WebpConverter\\Conversion\\Exception\\FunctionUnavailableException' => $baseDir . '/src/Conversion/Exception/FunctionUnavailableException.php',
38
+ 'WebpConverter\\Conversion\\Exception\\ImageInvalidException' => $baseDir . '/src/Conversion/Exception/ImageInvalidException.php',
39
+ 'WebpConverter\\Conversion\\Exception\\ImagickNotSupportWebpException' => $baseDir . '/src/Conversion/Exception/ImagickNotSupportWebpException.php',
40
+ 'WebpConverter\\Conversion\\Exception\\ImagickUnavailableException' => $baseDir . '/src/Conversion/Exception/ImagickUnavailableException.php',
41
+ 'WebpConverter\\Conversion\\Exception\\LargerThanOriginalException' => $baseDir . '/src/Conversion/Exception/LargerThanOriginalException.php',
42
+ 'WebpConverter\\Conversion\\Exception\\OutputPathException' => $baseDir . '/src/Conversion/Exception/OutputPathException.php',
43
+ 'WebpConverter\\Conversion\\Exception\\ResolutionOversizeException' => $baseDir . '/src/Conversion/Exception/ResolutionOversizeException.php',
44
+ 'WebpConverter\\Conversion\\Exception\\ServerConfigurationException' => $baseDir . '/src/Conversion/Exception/ServerConfigurationException.php',
45
+ 'WebpConverter\\Conversion\\Exception\\SourcePathException' => $baseDir . '/src/Conversion/Exception/SourcePathException.php',
46
+ 'WebpConverter\\Conversion\\Format\\AvifFormat' => $baseDir . '/src/Conversion/Format/AvifFormat.php',
47
+ 'WebpConverter\\Conversion\\Format\\FormatAbstract' => $baseDir . '/src/Conversion/Format/FormatAbstract.php',
48
+ 'WebpConverter\\Conversion\\Format\\FormatInterface' => $baseDir . '/src/Conversion/Format/FormatInterface.php',
49
+ 'WebpConverter\\Conversion\\Format\\WebpFormat' => $baseDir . '/src/Conversion/Format/WebpFormat.php',
50
+ 'WebpConverter\\Conversion\\Formats' => $baseDir . '/src/Conversion/Formats.php',
51
+ 'WebpConverter\\Conversion\\Media\\Attachment' => $baseDir . '/src/Conversion/Media/Attachment.php',
52
+ 'WebpConverter\\Conversion\\Media\\Delete' => $baseDir . '/src/Conversion/Media/Delete.php',
53
+ 'WebpConverter\\Conversion\\Media\\Upload' => $baseDir . '/src/Conversion/Media/Upload.php',
54
+ 'WebpConverter\\Conversion\\Method\\GdMethod' => $baseDir . '/src/Conversion/Method/GdMethod.php',
55
+ 'WebpConverter\\Conversion\\Method\\ImagickMethod' => $baseDir . '/src/Conversion/Method/ImagickMethod.php',
56
+ 'WebpConverter\\Conversion\\Method\\MethodAbstract' => $baseDir . '/src/Conversion/Method/MethodAbstract.php',
57
+ 'WebpConverter\\Conversion\\Method\\MethodIntegrator' => $baseDir . '/src/Conversion/Method/MethodIntegrator.php',
58
+ 'WebpConverter\\Conversion\\Method\\MethodInterface' => $baseDir . '/src/Conversion/Method/MethodInterface.php',
59
+ 'WebpConverter\\Conversion\\Methods' => $baseDir . '/src/Conversion/Methods.php',
60
+ 'WebpConverter\\Conversion\\OutputPath' => $baseDir . '/src/Conversion/OutputPath.php',
61
+ 'WebpConverter\\Conversion\\SkipExists' => $baseDir . '/src/Conversion/SkipExists.php',
62
+ 'WebpConverter\\Conversion\\SkipLarger' => $baseDir . '/src/Conversion/SkipLarger.php',
63
+ 'WebpConverter\\Error\\ErrorAbstract' => $baseDir . '/src/Error/ErrorAbstract.php',
64
+ 'WebpConverter\\Error\\ErrorInterface' => $baseDir . '/src/Error/ErrorInterface.php',
65
+ 'WebpConverter\\Error\\Errors' => $baseDir . '/src/Error/Errors.php',
66
+ 'WebpConverter\\Error\\LibsInstalledError' => $baseDir . '/src/Error/LibsInstalledError.php',
67
+ 'WebpConverter\\Error\\LibsSupportAvifError' => $baseDir . '/src/Error/LibsSupportAvifError.php',
68
+ 'WebpConverter\\Error\\LibsSupportWebpError' => $baseDir . '/src/Error/LibsSupportWebpError.php',
69
+ 'WebpConverter\\Error\\PassthruError' => $baseDir . '/src/Error/PassthruError.php',
70
+ 'WebpConverter\\Error\\PathsError' => $baseDir . '/src/Error/PathsError.php',
71
+ 'WebpConverter\\Error\\RestapiError' => $baseDir . '/src/Error/RestapiError.php',
72
+ 'WebpConverter\\Error\\RewritesError' => $baseDir . '/src/Error/RewritesError.php',
73
+ 'WebpConverter\\Error\\SettingsError' => $baseDir . '/src/Error/SettingsError.php',
74
+ 'WebpConverter\\Helper\\FileLoader' => $baseDir . '/src/Helper/FileLoader.php',
75
+ 'WebpConverter\\Helper\\ViewLoader' => $baseDir . '/src/Helper/ViewLoader.php',
76
+ 'WebpConverter\\HookableInterface' => $baseDir . '/src/HookableInterface.php',
77
+ 'WebpConverter\\Loader\\HtaccessLoader' => $baseDir . '/src/Loader/HtaccessLoader.php',
78
+ 'WebpConverter\\Loader\\LoaderAbstract' => $baseDir . '/src/Loader/LoaderAbstract.php',
79
+ 'WebpConverter\\Loader\\LoaderIntegration' => $baseDir . '/src/Loader/LoaderIntegration.php',
80
+ 'WebpConverter\\Loader\\LoaderInterface' => $baseDir . '/src/Loader/LoaderInterface.php',
81
+ 'WebpConverter\\Loader\\Loaders' => $baseDir . '/src/Loader/Loaders.php',
82
+ 'WebpConverter\\Loader\\PassthruLoader' => $baseDir . '/src/Loader/PassthruLoader.php',
83
+ 'WebpConverter\\Notice\\NoticeAbstract' => $baseDir . '/src/Notice/NoticeAbstract.php',
84
+ 'WebpConverter\\Notice\\NoticeIntegration' => $baseDir . '/src/Notice/NoticeIntegration.php',
85
+ 'WebpConverter\\Notice\\NoticeInterface' => $baseDir . '/src/Notice/NoticeInterface.php',
86
+ 'WebpConverter\\Notice\\Notices' => $baseDir . '/src/Notice/Notices.php',
87
+ 'WebpConverter\\Notice\\ThanksNotice' => $baseDir . '/src/Notice/ThanksNotice.php',
88
+ 'WebpConverter\\Notice\\WelcomeNotice' => $baseDir . '/src/Notice/WelcomeNotice.php',
89
+ 'WebpConverter\\PluginAccessAbstract' => $baseDir . '/src/PluginAccessAbstract.php',
90
+ 'WebpConverter\\PluginAccessInterface' => $baseDir . '/src/PluginAccessInterface.php',
91
+ 'WebpConverter\\Plugin\\Activation' => $baseDir . '/src/Plugin/Activation.php',
92
+ 'WebpConverter\\Plugin\\Activation\\DefaultSettings' => $baseDir . '/src/Plugin/Activation/DefaultSettings.php',
93
+ 'WebpConverter\\Plugin\\Activation\\RefreshLoader' => $baseDir . '/src/Plugin/Activation/RefreshLoader.php',
94
+ 'WebpConverter\\Plugin\\Activation\\WebpDirectory' => $baseDir . '/src/Plugin/Activation/WebpDirectory.php',
95
+ 'WebpConverter\\Plugin\\Deactivation' => $baseDir . '/src/Plugin/Deactivation.php',
96
+ 'WebpConverter\\Plugin\\Deactivation\\CronReset' => $baseDir . '/src/Plugin/Deactivation/CronReset.php',
97
+ 'WebpConverter\\Plugin\\Deactivation\\Modal' => $baseDir . '/src/Plugin/Deactivation/Modal.php',
98
+ 'WebpConverter\\Plugin\\Deactivation\\RefreshLoader' => $baseDir . '/src/Plugin/Deactivation/RefreshLoader.php',
99
+ 'WebpConverter\\Plugin\\Links' => $baseDir . '/src/Plugin/Links.php',
100
+ 'WebpConverter\\Plugin\\Uninstall' => $baseDir . '/src/Plugin/Uninstall.php',
101
+ 'WebpConverter\\Plugin\\Uninstall\\DebugFiles' => $baseDir . '/src/Plugin/Uninstall/DebugFiles.php',
102
+ 'WebpConverter\\Plugin\\Uninstall\\HtaccessFile' => $baseDir . '/src/Plugin/Uninstall/HtaccessFile.php',
103
+ 'WebpConverter\\Plugin\\Uninstall\\PluginSettings' => $baseDir . '/src/Plugin/Uninstall/PluginSettings.php',
104
+ 'WebpConverter\\Plugin\\Uninstall\\WebpFiles' => $baseDir . '/src/Plugin/Uninstall/WebpFiles.php',
105
+ 'WebpConverter\\Plugin\\Update' => $baseDir . '/src/Plugin/Update.php',
106
+ 'WebpConverter\\Settings\\AdminAssets' => $baseDir . '/src/Settings/AdminAssets.php',
107
+ 'WebpConverter\\Settings\\Option\\ConversionMethodOption' => $baseDir . '/src/Settings/Option/ConversionMethodOption.php',
108
+ 'WebpConverter\\Settings\\Option\\ExtraFeaturesOption' => $baseDir . '/src/Settings/Option/ExtraFeaturesOption.php',
109
+ 'WebpConverter\\Settings\\Option\\ImagesQualityOption' => $baseDir . '/src/Settings/Option/ImagesQualityOption.php',
110
+ 'WebpConverter\\Settings\\Option\\LoaderTypeOption' => $baseDir . '/src/Settings/Option/LoaderTypeOption.php',
111
+ 'WebpConverter\\Settings\\Option\\OptionAbstract' => $baseDir . '/src/Settings/Option/OptionAbstract.php',
112
+ 'WebpConverter\\Settings\\Option\\OptionIntegration' => $baseDir . '/src/Settings/Option/OptionIntegration.php',
113
+ 'WebpConverter\\Settings\\Option\\OptionInterface' => $baseDir . '/src/Settings/Option/OptionInterface.php',
114
+ 'WebpConverter\\Settings\\Option\\OutputFormatsOption' => $baseDir . '/src/Settings/Option/OutputFormatsOption.php',
115
+ 'WebpConverter\\Settings\\Option\\SupportedDirectoriesOption' => $baseDir . '/src/Settings/Option/SupportedDirectoriesOption.php',
116
+ 'WebpConverter\\Settings\\Option\\SupportedExtensionsOption' => $baseDir . '/src/Settings/Option/SupportedExtensionsOption.php',
117
+ 'WebpConverter\\Settings\\Options' => $baseDir . '/src/Settings/Options.php',
118
+ 'WebpConverter\\Settings\\Page\\DebugPage' => $baseDir . '/src/Settings/Page/DebugPage.php',
119
+ 'WebpConverter\\Settings\\Page\\PageAbstract' => $baseDir . '/src/Settings/Page/PageAbstract.php',
120
+ 'WebpConverter\\Settings\\Page\\PageInterface' => $baseDir . '/src/Settings/Page/PageInterface.php',
121
+ 'WebpConverter\\Settings\\Page\\SettingsPage' => $baseDir . '/src/Settings/Page/SettingsPage.php',
122
+ 'WebpConverter\\Settings\\Pages' => $baseDir . '/src/Settings/Pages.php',
123
+ 'WebpConverter\\Settings\\SettingsSave' => $baseDir . '/src/Settings/SettingsSave.php',
124
+ 'WebpConverter\\WebpConverter' => $baseDir . '/src/WebpConverter.php',
125
  );
vendor/composer/autoload_static.php CHANGED
@@ -22,6 +22,121 @@ class ComposerStaticInitd3fdbdc9a6d7ece90487f43492ad1f81
22
 
23
  public static $classMap = array (
24
  'Composer\\InstalledVersions' => __DIR__ . '/..' . '/composer/InstalledVersions.php',
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
25
  );
26
 
27
  public static function getInitializer(ClassLoader $loader)
22
 
23
  public static $classMap = array (
24
  'Composer\\InstalledVersions' => __DIR__ . '/..' . '/composer/InstalledVersions.php',
25
+ 'WebpConverter\\Action\\ConvertAttachment' => __DIR__ . '/../..' . '/src/Action/ConvertAttachment.php',
26
+ 'WebpConverter\\Action\\ConvertDir' => __DIR__ . '/../..' . '/src/Action/ConvertDir.php',
27
+ 'WebpConverter\\Action\\ConvertPaths' => __DIR__ . '/../..' . '/src/Action/ConvertPaths.php',
28
+ 'WebpConverter\\Action\\DeletePaths' => __DIR__ . '/../..' . '/src/Action/DeletePaths.php',
29
+ 'WebpConverter\\Action\\RegenerateAll' => __DIR__ . '/../..' . '/src/Action/RegenerateAll.php',
30
+ 'WebpConverter\\Conversion\\Cron\\Event' => __DIR__ . '/../..' . '/src/Conversion/Cron/Event.php',
31
+ 'WebpConverter\\Conversion\\Cron\\Schedules' => __DIR__ . '/../..' . '/src/Conversion/Cron/Schedules.php',
32
+ 'WebpConverter\\Conversion\\Directories' => __DIR__ . '/../..' . '/src/Conversion/Directories.php',
33
+ 'WebpConverter\\Conversion\\DirectoryFiles' => __DIR__ . '/../..' . '/src/Conversion/DirectoryFiles.php',
34
+ 'WebpConverter\\Conversion\\Directory\\DirectoriesIntegration' => __DIR__ . '/../..' . '/src/Conversion/Directory/DirectoriesIntegration.php',
35
+ 'WebpConverter\\Conversion\\Directory\\DirectoryAbstract' => __DIR__ . '/../..' . '/src/Conversion/Directory/DirectoryAbstract.php',
36
+ 'WebpConverter\\Conversion\\Directory\\DirectoryInterface' => __DIR__ . '/../..' . '/src/Conversion/Directory/DirectoryInterface.php',
37
+ 'WebpConverter\\Conversion\\Directory\\GalleryDirectory' => __DIR__ . '/../..' . '/src/Conversion/Directory/GalleryDirectory.php',
38
+ 'WebpConverter\\Conversion\\Directory\\PluginsDirectory' => __DIR__ . '/../..' . '/src/Conversion/Directory/PluginsDirectory.php',
39
+ 'WebpConverter\\Conversion\\Directory\\ThemesDirectory' => __DIR__ . '/../..' . '/src/Conversion/Directory/ThemesDirectory.php',
40
+ 'WebpConverter\\Conversion\\Directory\\UploadsDirectory' => __DIR__ . '/../..' . '/src/Conversion/Directory/UploadsDirectory.php',
41
+ 'WebpConverter\\Conversion\\Directory\\UploadsWebpcDirectory' => __DIR__ . '/../..' . '/src/Conversion/Directory/UploadsWebpcDirectory.php',
42
+ 'WebpConverter\\Conversion\\Endpoint\\EndpointAbstract' => __DIR__ . '/../..' . '/src/Conversion/Endpoint/EndpointAbstract.php',
43
+ 'WebpConverter\\Conversion\\Endpoint\\EndpointIntegration' => __DIR__ . '/../..' . '/src/Conversion/Endpoint/EndpointIntegration.php',
44
+ 'WebpConverter\\Conversion\\Endpoint\\EndpointInterface' => __DIR__ . '/../..' . '/src/Conversion/Endpoint/EndpointInterface.php',
45
+ 'WebpConverter\\Conversion\\Endpoint\\PathsEndpoint' => __DIR__ . '/../..' . '/src/Conversion/Endpoint/PathsEndpoint.php',
46
+ 'WebpConverter\\Conversion\\Endpoint\\RegenerateEndpoint' => __DIR__ . '/../..' . '/src/Conversion/Endpoint/RegenerateEndpoint.php',
47
+ 'WebpConverter\\Conversion\\Endpoints' => __DIR__ . '/../..' . '/src/Conversion/Endpoints.php',
48
+ 'WebpConverter\\Conversion\\Exception\\ConversionErrorException' => __DIR__ . '/../..' . '/src/Conversion/Exception/ConversionErrorException.php',
49
+ 'WebpConverter\\Conversion\\Exception\\ExceptionAbstract' => __DIR__ . '/../..' . '/src/Conversion/Exception/ExceptionAbstract.php',
50
+ 'WebpConverter\\Conversion\\Exception\\ExceptionInterface' => __DIR__ . '/../..' . '/src/Conversion/Exception/ExceptionInterface.php',
51
+ 'WebpConverter\\Conversion\\Exception\\ExtensionUnsupportedException' => __DIR__ . '/../..' . '/src/Conversion/Exception/ExtensionUnsupportedException.php',
52
+ 'WebpConverter\\Conversion\\Exception\\FunctionUnavailableException' => __DIR__ . '/../..' . '/src/Conversion/Exception/FunctionUnavailableException.php',
53
+ 'WebpConverter\\Conversion\\Exception\\ImageInvalidException' => __DIR__ . '/../..' . '/src/Conversion/Exception/ImageInvalidException.php',
54
+ 'WebpConverter\\Conversion\\Exception\\ImagickNotSupportWebpException' => __DIR__ . '/../..' . '/src/Conversion/Exception/ImagickNotSupportWebpException.php',
55
+ 'WebpConverter\\Conversion\\Exception\\ImagickUnavailableException' => __DIR__ . '/../..' . '/src/Conversion/Exception/ImagickUnavailableException.php',
56
+ 'WebpConverter\\Conversion\\Exception\\LargerThanOriginalException' => __DIR__ . '/../..' . '/src/Conversion/Exception/LargerThanOriginalException.php',
57
+ 'WebpConverter\\Conversion\\Exception\\OutputPathException' => __DIR__ . '/../..' . '/src/Conversion/Exception/OutputPathException.php',
58
+ 'WebpConverter\\Conversion\\Exception\\ResolutionOversizeException' => __DIR__ . '/../..' . '/src/Conversion/Exception/ResolutionOversizeException.php',
59
+ 'WebpConverter\\Conversion\\Exception\\ServerConfigurationException' => __DIR__ . '/../..' . '/src/Conversion/Exception/ServerConfigurationException.php',
60
+ 'WebpConverter\\Conversion\\Exception\\SourcePathException' => __DIR__ . '/../..' . '/src/Conversion/Exception/SourcePathException.php',
61
+ 'WebpConverter\\Conversion\\Format\\AvifFormat' => __DIR__ . '/../..' . '/src/Conversion/Format/AvifFormat.php',
62
+ 'WebpConverter\\Conversion\\Format\\FormatAbstract' => __DIR__ . '/../..' . '/src/Conversion/Format/FormatAbstract.php',
63
+ 'WebpConverter\\Conversion\\Format\\FormatInterface' => __DIR__ . '/../..' . '/src/Conversion/Format/FormatInterface.php',
64
+ 'WebpConverter\\Conversion\\Format\\WebpFormat' => __DIR__ . '/../..' . '/src/Conversion/Format/WebpFormat.php',
65
+ 'WebpConverter\\Conversion\\Formats' => __DIR__ . '/../..' . '/src/Conversion/Formats.php',
66
+ 'WebpConverter\\Conversion\\Media\\Attachment' => __DIR__ . '/../..' . '/src/Conversion/Media/Attachment.php',
67
+ 'WebpConverter\\Conversion\\Media\\Delete' => __DIR__ . '/../..' . '/src/Conversion/Media/Delete.php',
68
+ 'WebpConverter\\Conversion\\Media\\Upload' => __DIR__ . '/../..' . '/src/Conversion/Media/Upload.php',
69
+ 'WebpConverter\\Conversion\\Method\\GdMethod' => __DIR__ . '/../..' . '/src/Conversion/Method/GdMethod.php',
70
+ 'WebpConverter\\Conversion\\Method\\ImagickMethod' => __DIR__ . '/../..' . '/src/Conversion/Method/ImagickMethod.php',
71
+ 'WebpConverter\\Conversion\\Method\\MethodAbstract' => __DIR__ . '/../..' . '/src/Conversion/Method/MethodAbstract.php',
72
+ 'WebpConverter\\Conversion\\Method\\MethodIntegrator' => __DIR__ . '/../..' . '/src/Conversion/Method/MethodIntegrator.php',
73
+ 'WebpConverter\\Conversion\\Method\\MethodInterface' => __DIR__ . '/../..' . '/src/Conversion/Method/MethodInterface.php',
74
+ 'WebpConverter\\Conversion\\Methods' => __DIR__ . '/../..' . '/src/Conversion/Methods.php',
75
+ 'WebpConverter\\Conversion\\OutputPath' => __DIR__ . '/../..' . '/src/Conversion/OutputPath.php',
76
+ 'WebpConverter\\Conversion\\SkipExists' => __DIR__ . '/../..' . '/src/Conversion/SkipExists.php',
77
+ 'WebpConverter\\Conversion\\SkipLarger' => __DIR__ . '/../..' . '/src/Conversion/SkipLarger.php',
78
+ 'WebpConverter\\Error\\ErrorAbstract' => __DIR__ . '/../..' . '/src/Error/ErrorAbstract.php',
79
+ 'WebpConverter\\Error\\ErrorInterface' => __DIR__ . '/../..' . '/src/Error/ErrorInterface.php',
80
+ 'WebpConverter\\Error\\Errors' => __DIR__ . '/../..' . '/src/Error/Errors.php',
81
+ 'WebpConverter\\Error\\LibsInstalledError' => __DIR__ . '/../..' . '/src/Error/LibsInstalledError.php',
82
+ 'WebpConverter\\Error\\LibsSupportAvifError' => __DIR__ . '/../..' . '/src/Error/LibsSupportAvifError.php',
83
+ 'WebpConverter\\Error\\LibsSupportWebpError' => __DIR__ . '/../..' . '/src/Error/LibsSupportWebpError.php',
84
+ 'WebpConverter\\Error\\PassthruError' => __DIR__ . '/../..' . '/src/Error/PassthruError.php',
85
+ 'WebpConverter\\Error\\PathsError' => __DIR__ . '/../..' . '/src/Error/PathsError.php',
86
+ 'WebpConverter\\Error\\RestapiError' => __DIR__ . '/../..' . '/src/Error/RestapiError.php',
87
+ 'WebpConverter\\Error\\RewritesError' => __DIR__ . '/../..' . '/src/Error/RewritesError.php',
88
+ 'WebpConverter\\Error\\SettingsError' => __DIR__ . '/../..' . '/src/Error/SettingsError.php',
89
+ 'WebpConverter\\Helper\\FileLoader' => __DIR__ . '/../..' . '/src/Helper/FileLoader.php',
90
+ 'WebpConverter\\Helper\\ViewLoader' => __DIR__ . '/../..' . '/src/Helper/ViewLoader.php',
91
+ 'WebpConverter\\HookableInterface' => __DIR__ . '/../..' . '/src/HookableInterface.php',
92
+ 'WebpConverter\\Loader\\HtaccessLoader' => __DIR__ . '/../..' . '/src/Loader/HtaccessLoader.php',
93
+ 'WebpConverter\\Loader\\LoaderAbstract' => __DIR__ . '/../..' . '/src/Loader/LoaderAbstract.php',
94
+ 'WebpConverter\\Loader\\LoaderIntegration' => __DIR__ . '/../..' . '/src/Loader/LoaderIntegration.php',
95
+ 'WebpConverter\\Loader\\LoaderInterface' => __DIR__ . '/../..' . '/src/Loader/LoaderInterface.php',
96
+ 'WebpConverter\\Loader\\Loaders' => __DIR__ . '/../..' . '/src/Loader/Loaders.php',
97
+ 'WebpConverter\\Loader\\PassthruLoader' => __DIR__ . '/../..' . '/src/Loader/PassthruLoader.php',
98
+ 'WebpConverter\\Notice\\NoticeAbstract' => __DIR__ . '/../..' . '/src/Notice/NoticeAbstract.php',
99
+ 'WebpConverter\\Notice\\NoticeIntegration' => __DIR__ . '/../..' . '/src/Notice/NoticeIntegration.php',
100
+ 'WebpConverter\\Notice\\NoticeInterface' => __DIR__ . '/../..' . '/src/Notice/NoticeInterface.php',
101
+ 'WebpConverter\\Notice\\Notices' => __DIR__ . '/../..' . '/src/Notice/Notices.php',
102
+ 'WebpConverter\\Notice\\ThanksNotice' => __DIR__ . '/../..' . '/src/Notice/ThanksNotice.php',
103
+ 'WebpConverter\\Notice\\WelcomeNotice' => __DIR__ . '/../..' . '/src/Notice/WelcomeNotice.php',
104
+ 'WebpConverter\\PluginAccessAbstract' => __DIR__ . '/../..' . '/src/PluginAccessAbstract.php',
105
+ 'WebpConverter\\PluginAccessInterface' => __DIR__ . '/../..' . '/src/PluginAccessInterface.php',
106
+ 'WebpConverter\\Plugin\\Activation' => __DIR__ . '/../..' . '/src/Plugin/Activation.php',
107
+ 'WebpConverter\\Plugin\\Activation\\DefaultSettings' => __DIR__ . '/../..' . '/src/Plugin/Activation/DefaultSettings.php',
108
+ 'WebpConverter\\Plugin\\Activation\\RefreshLoader' => __DIR__ . '/../..' . '/src/Plugin/Activation/RefreshLoader.php',
109
+ 'WebpConverter\\Plugin\\Activation\\WebpDirectory' => __DIR__ . '/../..' . '/src/Plugin/Activation/WebpDirectory.php',
110
+ 'WebpConverter\\Plugin\\Deactivation' => __DIR__ . '/../..' . '/src/Plugin/Deactivation.php',
111
+ 'WebpConverter\\Plugin\\Deactivation\\CronReset' => __DIR__ . '/../..' . '/src/Plugin/Deactivation/CronReset.php',
112
+ 'WebpConverter\\Plugin\\Deactivation\\Modal' => __DIR__ . '/../..' . '/src/Plugin/Deactivation/Modal.php',
113
+ 'WebpConverter\\Plugin\\Deactivation\\RefreshLoader' => __DIR__ . '/../..' . '/src/Plugin/Deactivation/RefreshLoader.php',
114
+ 'WebpConverter\\Plugin\\Links' => __DIR__ . '/../..' . '/src/Plugin/Links.php',
115
+ 'WebpConverter\\Plugin\\Uninstall' => __DIR__ . '/../..' . '/src/Plugin/Uninstall.php',
116
+ 'WebpConverter\\Plugin\\Uninstall\\DebugFiles' => __DIR__ . '/../..' . '/src/Plugin/Uninstall/DebugFiles.php',
117
+ 'WebpConverter\\Plugin\\Uninstall\\HtaccessFile' => __DIR__ . '/../..' . '/src/Plugin/Uninstall/HtaccessFile.php',
118
+ 'WebpConverter\\Plugin\\Uninstall\\PluginSettings' => __DIR__ . '/../..' . '/src/Plugin/Uninstall/PluginSettings.php',
119
+ 'WebpConverter\\Plugin\\Uninstall\\WebpFiles' => __DIR__ . '/../..' . '/src/Plugin/Uninstall/WebpFiles.php',
120
+ 'WebpConverter\\Plugin\\Update' => __DIR__ . '/../..' . '/src/Plugin/Update.php',
121
+ 'WebpConverter\\Settings\\AdminAssets' => __DIR__ . '/../..' . '/src/Settings/AdminAssets.php',
122
+ 'WebpConverter\\Settings\\Option\\ConversionMethodOption' => __DIR__ . '/../..' . '/src/Settings/Option/ConversionMethodOption.php',
123
+ 'WebpConverter\\Settings\\Option\\ExtraFeaturesOption' => __DIR__ . '/../..' . '/src/Settings/Option/ExtraFeaturesOption.php',
124
+ 'WebpConverter\\Settings\\Option\\ImagesQualityOption' => __DIR__ . '/../..' . '/src/Settings/Option/ImagesQualityOption.php',
125
+ 'WebpConverter\\Settings\\Option\\LoaderTypeOption' => __DIR__ . '/../..' . '/src/Settings/Option/LoaderTypeOption.php',
126
+ 'WebpConverter\\Settings\\Option\\OptionAbstract' => __DIR__ . '/../..' . '/src/Settings/Option/OptionAbstract.php',
127
+ 'WebpConverter\\Settings\\Option\\OptionIntegration' => __DIR__ . '/../..' . '/src/Settings/Option/OptionIntegration.php',
128
+ 'WebpConverter\\Settings\\Option\\OptionInterface' => __DIR__ . '/../..' . '/src/Settings/Option/OptionInterface.php',
129
+ 'WebpConverter\\Settings\\Option\\OutputFormatsOption' => __DIR__ . '/../..' . '/src/Settings/Option/OutputFormatsOption.php',
130
+ 'WebpConverter\\Settings\\Option\\SupportedDirectoriesOption' => __DIR__ . '/../..' . '/src/Settings/Option/SupportedDirectoriesOption.php',
131
+ 'WebpConverter\\Settings\\Option\\SupportedExtensionsOption' => __DIR__ . '/../..' . '/src/Settings/Option/SupportedExtensionsOption.php',
132
+ 'WebpConverter\\Settings\\Options' => __DIR__ . '/../..' . '/src/Settings/Options.php',
133
+ 'WebpConverter\\Settings\\Page\\DebugPage' => __DIR__ . '/../..' . '/src/Settings/Page/DebugPage.php',
134
+ 'WebpConverter\\Settings\\Page\\PageAbstract' => __DIR__ . '/../..' . '/src/Settings/Page/PageAbstract.php',
135
+ 'WebpConverter\\Settings\\Page\\PageInterface' => __DIR__ . '/../..' . '/src/Settings/Page/PageInterface.php',
136
+ 'WebpConverter\\Settings\\Page\\SettingsPage' => __DIR__ . '/../..' . '/src/Settings/Page/SettingsPage.php',
137
+ 'WebpConverter\\Settings\\Pages' => __DIR__ . '/../..' . '/src/Settings/Pages.php',
138
+ 'WebpConverter\\Settings\\SettingsSave' => __DIR__ . '/../..' . '/src/Settings/SettingsSave.php',
139
+ 'WebpConverter\\WebpConverter' => __DIR__ . '/../..' . '/src/WebpConverter.php',
140
  );
141
 
142
  public static function getInitializer(ClassLoader $loader)
vendor/composer/installed.php CHANGED
@@ -6,7 +6,7 @@
6
  'aliases' =>
7
  array (
8
  ),
9
- 'reference' => '334269d73e4280c99d694f2ddf29be11511f7630',
10
  'name' => 'gbiorczyk/webp-converter-for-media',
11
  ),
12
  'versions' =>
@@ -18,7 +18,7 @@
18
  'aliases' =>
19
  array (
20
  ),
21
- 'reference' => '334269d73e4280c99d694f2ddf29be11511f7630',
22
  ),
23
  ),
24
  );
6
  'aliases' =>
7
  array (
8
  ),
9
+ 'reference' => '03b08fcc91827c5754d058f1dbe5ee56ba0bc99c',
10
  'name' => 'gbiorczyk/webp-converter-for-media',
11
  ),
12
  'versions' =>
18
  'aliases' =>
19
  array (
20
  ),
21
+ 'reference' => '03b08fcc91827c5754d058f1dbe5ee56ba0bc99c',
22
  ),
23
  ),
24
  );
webp-converter-for-media.php CHANGED
@@ -3,14 +3,14 @@
3
  /**
4
  * Plugin Name: WebP Converter for Media
5
  * Description: Speed up your website by serving WebP images instead of standard formats JPEG, PNG and GIF.
6
- * Version: 3.0.3
7
  * Author: Mateusz Gbiorczyk
8
  * Author URI: https://gbiorczyk.pl/
9
  * Text Domain: webp-converter-for-media
10
  * Network: true
11
  */
12
 
13
- define( 'WEBPC_VERSION', '3.0.3' );
14
  define( 'WEBPC_FILE', __FILE__ );
15
  define( 'WEBPC_NAME', plugin_basename( __FILE__ ) );
16
  define( 'WEBPC_PATH', plugin_dir_path( __FILE__ ) );
3
  /**
4
  * Plugin Name: WebP Converter for Media
5
  * Description: Speed up your website by serving WebP images instead of standard formats JPEG, PNG and GIF.
6
+ * Version: 3.0.4
7
  * Author: Mateusz Gbiorczyk
8
  * Author URI: https://gbiorczyk.pl/
9
  * Text Domain: webp-converter-for-media
10
  * Network: true
11
  */
12
 
13
+ define( 'WEBPC_VERSION', '3.0.4' );
14
  define( 'WEBPC_FILE', __FILE__ );
15
  define( 'WEBPC_NAME', plugin_basename( __FILE__ ) );
16
  define( 'WEBPC_PATH', plugin_dir_path( __FILE__ ) );