Version Description
(released: 5 Oct 2019)
- Fixed bug: Updating plugin failed on a few hosts (in the unzip phase). Problem was introduced in 0.17.0 with the updated binaries.
- Fixed bug: Alter HTML used the protocol (http/https) for the site for generated links (rather than keeping the protocol for the link). Thanks to Jacob Gullberg from Sweden for discovering this bug.
If you experienced update problems due to the update bug, you will probably be left with an incomplete installation. Some of the plugin files are there, but not all. Especially, the main plugin file (webp-express.php) is missing, which means that Wordpress don't "see" the plugin (it is missing from the list). Trying to install WebP Express again will probably not work, because the "webp-express" folder is already there. You will then have to remove the "webp-express" folder in "plugins" manually (via ftp or a plugin, such as File Manager).
For more info, see the closed issues on the 0.17.2 milestone on the github repository: https://github.com/rosell-dk/webp-express/milestone/29?closed=1
Download this release
Release Info
Developer | rosell.dk |
Plugin | WebP Express |
Version | 0.17.2 |
Comparing to | |
See all releases |
Code changes from version 0.17.1 to 0.17.2
- README.md +8 -0
- README.txt +17 -1
- changelog.txt +10 -0
- composer.json +1 -1
- composer.lock +6 -6
- lib/classes/AlterHtmlHelper.php +6 -5
- lib/classes/ConvertHelperIndependent.php +1 -1
- vendor/composer/autoload_classmap.php +0 -84
- vendor/composer/autoload_static.php +0 -88
- vendor/composer/installed.json +6 -6
- vendor/rosell-dk/webp-convert/src/Convert/Converters/AbstractConverter.php +1 -1
- vendor/rosell-dk/webp-convert/src/Convert/Converters/BaseTraits/WarningLoggerTrait.php +34 -2
- vendor/rosell-dk/webp-convert/src/Convert/Converters/Binaries/{cwebp-0.6.0-fbsd → cwebp-060-fbsd} +0 -0
- vendor/rosell-dk/webp-convert/src/Convert/Converters/Binaries/{cwebp-0.6.0-solaris → cwebp-060-solaris} +0 -0
- vendor/rosell-dk/webp-convert/src/Convert/Converters/Binaries/{cwebp-0.6.1-linux-x86-64 → cwebp-061-linux-x86-64} +0 -0
- vendor/rosell-dk/webp-convert/src/Convert/Converters/Binaries/{cwebp-1.0.3-linux-x86-64 → cwebp-103-linux-x86-64} +0 -0
- vendor/rosell-dk/webp-convert/src/Convert/Converters/Binaries/{cwebp-1.0.3-linux-x86-64-static → cwebp-103-linux-x86-64-static} +0 -0
- vendor/rosell-dk/webp-convert/src/Convert/Converters/Binaries/{cwebp-1.0.3-mac-10.14 → cwebp-103-mac-10_14} +0 -0
- vendor/rosell-dk/webp-convert/src/Convert/Converters/Binaries/{cwebp-1.0.3-windows-x64.exe → cwebp-103-windows-x64.exe} +0 -0
- vendor/rosell-dk/webp-convert/src/Convert/Converters/Cwebp.php +121 -48
- vendor/rosell-dk/webp-convert/src/Helpers/BinaryDiscovery.php +107 -0
- vendor/rosell-dk/webp-convert/src/Helpers/FileExists.php +118 -0
- vendor/rosell-dk/webp-convert/src/Helpers/MimeType.php +2 -2
- vendor/rosell-dk/webp-convert/src/Serve/ServeConvertedWebP.php +8 -12
- webp-express.php +1 -1
README.md
CHANGED
@@ -651,6 +651,14 @@ Here are my current plans ahead: 0.17 will probably be a file manager-like inter
|
|
651 |
|
652 |
If you wish to affect priorities, it is certainly possible. You can try to argue your case in the forum or you can simply let the money do the talking. By donating as little as a cup of coffee on [ko-fi.com/rosell](https://ko-fi.com/rosell), you can leave a wish. I shall take these wishes into account when prioritizing between new features.
|
653 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
654 |
## Changes in 0.17.1
|
655 |
*(released: 3 Oct 2019)*
|
656 |
|
651 |
|
652 |
If you wish to affect priorities, it is certainly possible. You can try to argue your case in the forum or you can simply let the money do the talking. By donating as little as a cup of coffee on [ko-fi.com/rosell](https://ko-fi.com/rosell), you can leave a wish. I shall take these wishes into account when prioritizing between new features.
|
653 |
|
654 |
+
## Changes in 0.17.2
|
655 |
+
*(released: 5 Oct 2019)*
|
656 |
+
|
657 |
+
* Fixed bug: Updating plugin failed on some systems (in the unzip phase). Problem was introduced in 0.17.0 with the updated binaries.
|
658 |
+
* Fixed bug: Alter HTML used the protocol (http/https) for the site for generated links (rather than keeping the protocol for the link). Thanks to Jacob Gullberg from Sweden for discovering this bug.
|
659 |
+
|
660 |
+
For more info, see the closed issues on the 0.17.2 milestone on the github repository: https://github.com/rosell-dk/webp-express/milestone/29?closed=1
|
661 |
+
|
662 |
## Changes in 0.17.1
|
663 |
*(released: 3 Oct 2019)*
|
664 |
|
README.txt
CHANGED
@@ -4,7 +4,7 @@ Donate link: https://ko-fi.com/rosell
|
|
4 |
Tags: webp, images, performance
|
5 |
Requires at least: 4.0
|
6 |
Tested up to: 5.2
|
7 |
-
Stable tag: 0.17.
|
8 |
Requires PHP: 5.6
|
9 |
License: GPLv3
|
10 |
License URI: https://www.gnu.org/licenses/gpl-3.0.html
|
@@ -643,6 +643,9 @@ RewriteRule . - [L]
|
|
643 |
`
|
644 |
If you got any further questions, look at, or comment on [this topic](https://wordpress.org/support/topic/can-i-make-an-exception-for-specific-post-image/)
|
645 |
|
|
|
|
|
|
|
646 |
= When is feature X coming? / Roadmap =
|
647 |
No schedule. I move forward as time allows. I currently spend a lot of time answering questions in the support forum. If someone would be nice and help out answering questions here, it would allow me to spend that time developing. Also, donations would allow me to turn down some of the more boring requests from my customers, and speed things up here.
|
648 |
|
@@ -659,6 +662,16 @@ Easy enough! - [Go here!](https://ko-fi.com/rosell). Or [here](https://buymeacof
|
|
659 |
|
660 |
== Changelog ==
|
661 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
662 |
= 0.17.1 =
|
663 |
*(released: 3 Oct 2019)*
|
664 |
|
@@ -1050,6 +1063,9 @@ For older releases, check out changelog.txt
|
|
1050 |
|
1051 |
== Upgrade Notice ==
|
1052 |
|
|
|
|
|
|
|
1053 |
= 0.17.1 =
|
1054 |
* Miscellaneous bug fixes. Including the NGINX rules in the FAQ (added "xdestination" argument to webp-realizer.php). Now works with WP Engine.
|
1055 |
|
4 |
Tags: webp, images, performance
|
5 |
Requires at least: 4.0
|
6 |
Tested up to: 5.2
|
7 |
+
Stable tag: 0.17.2
|
8 |
Requires PHP: 5.6
|
9 |
License: GPLv3
|
10 |
License URI: https://www.gnu.org/licenses/gpl-3.0.html
|
643 |
`
|
644 |
If you got any further questions, look at, or comment on [this topic](https://wordpress.org/support/topic/can-i-make-an-exception-for-specific-post-image/)
|
645 |
|
646 |
+
= Update failed and cannot reinstall =
|
647 |
+
The 0.17.0 release contained binaries with dots in their filenames, which caused the unpacking during update to fail on a few systems. This failure could leave an incomplete installation. With important files missing - such as the main plugin file - Wordpress no longer registers that the plugin is there (it is missing from the list). However, the folder is there in the file system and trying to install WebP Express again fails because Wordpress complains about just that. The solution is to remove the "webp-express" folder in "plugins" manually (via ftp or a plugin, such as File Manager) and then install WebP Express anew. The setting will be intact. The filenames that caused the trouble where fixed in 0.17.2.
|
648 |
+
|
649 |
= When is feature X coming? / Roadmap =
|
650 |
No schedule. I move forward as time allows. I currently spend a lot of time answering questions in the support forum. If someone would be nice and help out answering questions here, it would allow me to spend that time developing. Also, donations would allow me to turn down some of the more boring requests from my customers, and speed things up here.
|
651 |
|
662 |
|
663 |
== Changelog ==
|
664 |
|
665 |
+
= 0.17.2 =
|
666 |
+
*(released: 5 Oct 2019)*
|
667 |
+
|
668 |
+
* Fixed bug: Updating plugin failed on a few hosts (in the unzip phase). Problem was introduced in 0.17.0 with the updated binaries.
|
669 |
+
* Fixed bug: Alter HTML used the protocol (http/https) for the site for generated links (rather than keeping the protocol for the link). Thanks to Jacob Gullberg from Sweden for discovering this bug.
|
670 |
+
|
671 |
+
If you experienced update problems due to the update bug, you will probably be left with an incomplete installation. Some of the plugin files are there, but not all. Especially, the main plugin file (webp-express.php) is missing, which means that Wordpress don't "see" the plugin (it is missing from the list). Trying to install WebP Express again will probably not work, because the "webp-express" folder is already there. You will then have to remove the "webp-express" folder in "plugins" manually (via ftp or a plugin, such as File Manager).
|
672 |
+
|
673 |
+
For more info, see the closed issues on the 0.17.2 milestone on the github repository: https://github.com/rosell-dk/webp-express/milestone/29?closed=1
|
674 |
+
|
675 |
= 0.17.1 =
|
676 |
*(released: 3 Oct 2019)*
|
677 |
|
1063 |
|
1064 |
== Upgrade Notice ==
|
1065 |
|
1066 |
+
= 0.17.2 =
|
1067 |
+
* Fixed bug: Updating plugin failed on a few hosts (in the unzip phase). The problem was introduced in 0.17.0 where the binaries contains dots in their filename.
|
1068 |
+
|
1069 |
= 0.17.1 =
|
1070 |
* Miscellaneous bug fixes. Including the NGINX rules in the FAQ (added "xdestination" argument to webp-realizer.php). Now works with WP Engine.
|
1071 |
|
changelog.txt
CHANGED
@@ -1,3 +1,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
= 0.17.1 =
|
2 |
*(released: 3 Oct 2019)*
|
3 |
|
1 |
+
= 0.17.2 =
|
2 |
+
*(released: 5 Oct 2019)*
|
3 |
+
|
4 |
+
* Fixed bug: Updating plugin failed on a few hosts (in the unzip phase). Problem was introduced in 0.17.0 with the updated binaries.
|
5 |
+
* Fixed bug: Alter HTML used the protocol (http/https) for the site for generated links (rather than keeping the protocol for the link). Thanks to Jacob Gullberg from Sweden for discovering this bug.
|
6 |
+
|
7 |
+
If you experienced update problems due to the update bug, you will probably be left with an incomplete installation. Some of the plugin files are there, but not all. Especially, the main plugin file (webp-express.php) is missing, which means that Wordpress don't "see" the plugin (it is missing from the list). Trying to install WebP Express again will probably not work, because the "webp-express" folder is already there. You will then have to remove the "webp-express" folder in "plugins" manually (via ftp or a plugin, such as File Manager).
|
8 |
+
|
9 |
+
For more info, see the closed issues on the 0.17.2 milestone on the github repository: https://github.com/rosell-dk/webp-express/milestone/29?closed=1
|
10 |
+
|
11 |
= 0.17.1 =
|
12 |
*(released: 3 Oct 2019)*
|
13 |
|
composer.json
CHANGED
@@ -4,7 +4,7 @@
|
|
4 |
"type": "project",
|
5 |
"license": "MIT",
|
6 |
"require": {
|
7 |
-
"rosell-dk/webp-convert": "^2.
|
8 |
"rosell-dk/webp-convert-cloud-service": "^2.0.0",
|
9 |
"rosell-dk/dom-util-for-webp": "^0.3.1"
|
10 |
},
|
4 |
"type": "project",
|
5 |
"license": "MIT",
|
6 |
"require": {
|
7 |
+
"rosell-dk/webp-convert": "^2.3.0",
|
8 |
"rosell-dk/webp-convert-cloud-service": "^2.0.0",
|
9 |
"rosell-dk/dom-util-for-webp": "^0.3.1"
|
10 |
},
|
composer.lock
CHANGED
@@ -4,7 +4,7 @@
|
|
4 |
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
5 |
"This file is @generated automatically"
|
6 |
],
|
7 |
-
"content-hash": "
|
8 |
"packages": [
|
9 |
{
|
10 |
"name": "rosell-dk/dom-util-for-webp",
|
@@ -118,16 +118,16 @@
|
|
118 |
},
|
119 |
{
|
120 |
"name": "rosell-dk/webp-convert",
|
121 |
-
"version": "2.
|
122 |
"source": {
|
123 |
"type": "git",
|
124 |
"url": "https://github.com/rosell-dk/webp-convert.git",
|
125 |
-
"reference": "
|
126 |
},
|
127 |
"dist": {
|
128 |
"type": "zip",
|
129 |
-
"url": "https://api.github.com/repos/rosell-dk/webp-convert/zipball/
|
130 |
-
"reference": "
|
131 |
"shasum": ""
|
132 |
},
|
133 |
"require": {
|
@@ -190,7 +190,7 @@
|
|
190 |
"png",
|
191 |
"png2webp"
|
192 |
],
|
193 |
-
"time": "2019-
|
194 |
},
|
195 |
{
|
196 |
"name": "rosell-dk/webp-convert-cloud-service",
|
4 |
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
5 |
"This file is @generated automatically"
|
6 |
],
|
7 |
+
"content-hash": "66c96d3268a657c647267f5e5eee8ca2",
|
8 |
"packages": [
|
9 |
{
|
10 |
"name": "rosell-dk/dom-util-for-webp",
|
118 |
},
|
119 |
{
|
120 |
"name": "rosell-dk/webp-convert",
|
121 |
+
"version": "2.3.0",
|
122 |
"source": {
|
123 |
"type": "git",
|
124 |
"url": "https://github.com/rosell-dk/webp-convert.git",
|
125 |
+
"reference": "74991497d403c07de269623850722aa0f7d15542"
|
126 |
},
|
127 |
"dist": {
|
128 |
"type": "zip",
|
129 |
+
"url": "https://api.github.com/repos/rosell-dk/webp-convert/zipball/74991497d403c07de269623850722aa0f7d15542",
|
130 |
+
"reference": "74991497d403c07de269623850722aa0f7d15542",
|
131 |
"shasum": ""
|
132 |
},
|
133 |
"require": {
|
190 |
"png",
|
191 |
"png2webp"
|
192 |
],
|
193 |
+
"time": "2019-10-05T18:32:17+00:00"
|
194 |
},
|
195 |
{
|
196 |
"name": "rosell-dk/webp-convert-cloud-service",
|
lib/classes/AlterHtmlHelper.php
CHANGED
@@ -185,17 +185,18 @@ class AlterHtmlHelper
|
|
185 |
self::$options['destination-extension'],
|
186 |
($rootId == 'uploads')
|
187 |
);
|
188 |
-
$result['destination-url'] = $destinationRoot['url'] . '/' . $relPathFromImageRootToDest;
|
189 |
-
|
190 |
$destPathAbs = $destinationRoot['abs-path'] . '/' . $relPathFromImageRootToDest;
|
191 |
-
$destUrl = $destinationRoot['url'] . '/' . $relPathFromImageRootToDest;
|
192 |
-
|
193 |
$webpMustExist = self::$options['only-for-webps-that-exists'];
|
194 |
if ($webpMustExist && (!@file_exists($destPathAbs))) {
|
195 |
return false;
|
196 |
}
|
197 |
-
return $destUrl;
|
198 |
|
|
|
|
|
|
|
|
|
|
|
|
|
199 |
}
|
200 |
|
201 |
|
185 |
self::$options['destination-extension'],
|
186 |
($rootId == 'uploads')
|
187 |
);
|
|
|
|
|
188 |
$destPathAbs = $destinationRoot['abs-path'] . '/' . $relPathFromImageRootToDest;
|
|
|
|
|
189 |
$webpMustExist = self::$options['only-for-webps-that-exists'];
|
190 |
if ($webpMustExist && (!@file_exists($destPathAbs))) {
|
191 |
return false;
|
192 |
}
|
|
|
193 |
|
194 |
+
$destUrl = $destinationRoot['url'] . '/' . $relPathFromImageRootToDest;
|
195 |
+
|
196 |
+
// Fix scheme (use same as source)
|
197 |
+
$sourceUrlComponents = parse_url($sourceUrl);
|
198 |
+
$destUrlComponents = parse_url($destUrl);
|
199 |
+
return $sourceUrlComponents['scheme'] . '://' . $sourceUrlComponents['host'] . $destUrlComponents['path'];
|
200 |
}
|
201 |
|
202 |
|
lib/classes/ConvertHelperIndependent.php
CHANGED
@@ -571,7 +571,7 @@ APACHE
|
|
571 |
$text = preg_replace('#' . preg_quote($_SERVER["DOCUMENT_ROOT"]) . '#', '[doc-root]', $text);
|
572 |
|
573 |
// TODO: Put version number somewhere else. Ie \WebPExpress\VersionNumber::version
|
574 |
-
$text = 'WebP Express 0.17.
|
575 |
|
576 |
$logFile = self::getLogFilename($source, $logDir);
|
577 |
|
571 |
$text = preg_replace('#' . preg_quote($_SERVER["DOCUMENT_ROOT"]) . '#', '[doc-root]', $text);
|
572 |
|
573 |
// TODO: Put version number somewhere else. Ie \WebPExpress\VersionNumber::version
|
574 |
+
$text = 'WebP Express 0.17.2. ' . $msgTop . ', ' . date("Y-m-d H:i:s") . "\n\r\n\r" . $text;
|
575 |
|
576 |
$logFile = self::getLogFilename($source, $logDir);
|
577 |
|
vendor/composer/autoload_classmap.php
CHANGED
@@ -6,88 +6,4 @@ $vendorDir = dirname(dirname(__FILE__));
|
|
6 |
$baseDir = dirname($vendorDir);
|
7 |
|
8 |
return array(
|
9 |
-
'DOMUtilForWebP\\ImageUrlReplacer' => $vendorDir . '/rosell-dk/dom-util-for-webp/src/ImageUrlReplacer.php',
|
10 |
-
'DOMUtilForWebP\\PictureTags' => $vendorDir . '/rosell-dk/dom-util-for-webp/src/PictureTags.php',
|
11 |
-
'ImageMimeTypeGuesser\\Detectors\\AbstractDetector' => $vendorDir . '/rosell-dk/image-mime-type-guesser/src/Detectors/AbstractDetector.php',
|
12 |
-
'ImageMimeTypeGuesser\\Detectors\\ExifImageType' => $vendorDir . '/rosell-dk/image-mime-type-guesser/src/Detectors/ExifImageType.php',
|
13 |
-
'ImageMimeTypeGuesser\\Detectors\\FInfo' => $vendorDir . '/rosell-dk/image-mime-type-guesser/src/Detectors/FInfo.php',
|
14 |
-
'ImageMimeTypeGuesser\\Detectors\\GetImageSize' => $vendorDir . '/rosell-dk/image-mime-type-guesser/src/Detectors/GetImageSize.php',
|
15 |
-
'ImageMimeTypeGuesser\\Detectors\\MimeContentType' => $vendorDir . '/rosell-dk/image-mime-type-guesser/src/Detectors/MimeContentType.php',
|
16 |
-
'ImageMimeTypeGuesser\\Detectors\\SniffFirstFourBytes' => $vendorDir . '/rosell-dk/image-mime-type-guesser/src/Detectors/SniffFirstFourBytes.php',
|
17 |
-
'ImageMimeTypeGuesser\\Detectors\\Stack' => $vendorDir . '/rosell-dk/image-mime-type-guesser/src/Detectors/Stack.php',
|
18 |
-
'ImageMimeTypeGuesser\\GuessFromExtension' => $vendorDir . '/rosell-dk/image-mime-type-guesser/src/GuessFromExtension.php',
|
19 |
-
'ImageMimeTypeGuesser\\ImageMimeTypeGuesser' => $vendorDir . '/rosell-dk/image-mime-type-guesser/src/ImageMimeTypeGuesser.php',
|
20 |
-
'WebPConvertCloudService\\AccessCheck' => $vendorDir . '/rosell-dk/webp-convert-cloud-service/src/AccessCheck.php',
|
21 |
-
'WebPConvertCloudService\\Serve' => $vendorDir . '/rosell-dk/webp-convert-cloud-service/src/Serve.php',
|
22 |
-
'WebPConvertCloudService\\WebPConvertCloudService' => $vendorDir . '/rosell-dk/webp-convert-cloud-service/src/WebPConvertCloudService.php',
|
23 |
-
'WebPConvert\\Convert\\ConverterFactory' => $vendorDir . '/rosell-dk/webp-convert/src/Convert/ConverterFactory.php',
|
24 |
-
'WebPConvert\\Convert\\Converters\\AbstractConverter' => $vendorDir . '/rosell-dk/webp-convert/src/Convert/Converters/AbstractConverter.php',
|
25 |
-
'WebPConvert\\Convert\\Converters\\BaseTraits\\AutoQualityTrait' => $vendorDir . '/rosell-dk/webp-convert/src/Convert/Converters/BaseTraits/AutoQualityTrait.php',
|
26 |
-
'WebPConvert\\Convert\\Converters\\BaseTraits\\DestinationPreparationTrait' => $vendorDir . '/rosell-dk/webp-convert/src/Convert/Converters/BaseTraits/DestinationPreparationTrait.php',
|
27 |
-
'WebPConvert\\Convert\\Converters\\BaseTraits\\LoggerTrait' => $vendorDir . '/rosell-dk/webp-convert/src/Convert/Converters/BaseTraits/LoggerTrait.php',
|
28 |
-
'WebPConvert\\Convert\\Converters\\BaseTraits\\OptionsTrait' => $vendorDir . '/rosell-dk/webp-convert/src/Convert/Converters/BaseTraits/OptionsTrait.php',
|
29 |
-
'WebPConvert\\Convert\\Converters\\BaseTraits\\WarningLoggerTrait' => $vendorDir . '/rosell-dk/webp-convert/src/Convert/Converters/BaseTraits/WarningLoggerTrait.php',
|
30 |
-
'WebPConvert\\Convert\\Converters\\ConverterTraits\\CloudConverterTrait' => $vendorDir . '/rosell-dk/webp-convert/src/Convert/Converters/ConverterTraits/CloudConverterTrait.php',
|
31 |
-
'WebPConvert\\Convert\\Converters\\ConverterTraits\\CurlTrait' => $vendorDir . '/rosell-dk/webp-convert/src/Convert/Converters/ConverterTraits/CurlTrait.php',
|
32 |
-
'WebPConvert\\Convert\\Converters\\ConverterTraits\\EncodingAutoTrait' => $vendorDir . '/rosell-dk/webp-convert/src/Convert/Converters/ConverterTraits/EncodingAutoTrait.php',
|
33 |
-
'WebPConvert\\Convert\\Converters\\ConverterTraits\\ExecTrait' => $vendorDir . '/rosell-dk/webp-convert/src/Convert/Converters/ConverterTraits/ExecTrait.php',
|
34 |
-
'WebPConvert\\Convert\\Converters\\Cwebp' => $vendorDir . '/rosell-dk/webp-convert/src/Convert/Converters/Cwebp.php',
|
35 |
-
'WebPConvert\\Convert\\Converters\\Ewww' => $vendorDir . '/rosell-dk/webp-convert/src/Convert/Converters/Ewww.php',
|
36 |
-
'WebPConvert\\Convert\\Converters\\Gd' => $vendorDir . '/rosell-dk/webp-convert/src/Convert/Converters/Gd.php',
|
37 |
-
'WebPConvert\\Convert\\Converters\\Gmagick' => $vendorDir . '/rosell-dk/webp-convert/src/Convert/Converters/Gmagick.php',
|
38 |
-
'WebPConvert\\Convert\\Converters\\GmagickBinary' => $vendorDir . '/rosell-dk/webp-convert/src/Convert/Converters/GmagickBinary.php',
|
39 |
-
'WebPConvert\\Convert\\Converters\\GraphicsMagick' => $vendorDir . '/rosell-dk/webp-convert/src/Convert/Converters/GraphicsMagick.php',
|
40 |
-
'WebPConvert\\Convert\\Converters\\ImageMagick' => $vendorDir . '/rosell-dk/webp-convert/src/Convert/Converters/ImageMagick.php',
|
41 |
-
'WebPConvert\\Convert\\Converters\\Imagick' => $vendorDir . '/rosell-dk/webp-convert/src/Convert/Converters/Imagick.php',
|
42 |
-
'WebPConvert\\Convert\\Converters\\ImagickBinary' => $vendorDir . '/rosell-dk/webp-convert/src/Convert/Converters/ImagickBinary.php',
|
43 |
-
'WebPConvert\\Convert\\Converters\\Stack' => $vendorDir . '/rosell-dk/webp-convert/src/Convert/Converters/Stack.php',
|
44 |
-
'WebPConvert\\Convert\\Converters\\Vips' => $vendorDir . '/rosell-dk/webp-convert/src/Convert/Converters/Vips.php',
|
45 |
-
'WebPConvert\\Convert\\Converters\\Wpc' => $vendorDir . '/rosell-dk/webp-convert/src/Convert/Converters/Wpc.php',
|
46 |
-
'WebPConvert\\Convert\\Exceptions\\ConversionFailedException' => $vendorDir . '/rosell-dk/webp-convert/src/Convert/Exceptions/ConversionFailedException.php',
|
47 |
-
'WebPConvert\\Convert\\Exceptions\\ConversionFailed\\ConversionSkippedException' => $vendorDir . '/rosell-dk/webp-convert/src/Convert/Exceptions/ConversionFailed/ConversionSkippedException.php',
|
48 |
-
'WebPConvert\\Convert\\Exceptions\\ConversionFailed\\ConverterNotOperationalException' => $vendorDir . '/rosell-dk/webp-convert/src/Convert/Exceptions/ConversionFailed/ConverterNotOperationalException.php',
|
49 |
-
'WebPConvert\\Convert\\Exceptions\\ConversionFailed\\ConverterNotOperational\\InvalidApiKeyException' => $vendorDir . '/rosell-dk/webp-convert/src/Convert/Exceptions/ConversionFailed/ConverterNotOperational/InvalidApiKeyException.php',
|
50 |
-
'WebPConvert\\Convert\\Exceptions\\ConversionFailed\\ConverterNotOperational\\SystemRequirementsNotMetException' => $vendorDir . '/rosell-dk/webp-convert/src/Convert/Exceptions/ConversionFailed/ConverterNotOperational/SystemRequirementsNotMetException.php',
|
51 |
-
'WebPConvert\\Convert\\Exceptions\\ConversionFailed\\FileSystemProblemsException' => $vendorDir . '/rosell-dk/webp-convert/src/Convert/Exceptions/ConversionFailed/FileSystemProblemsException.php',
|
52 |
-
'WebPConvert\\Convert\\Exceptions\\ConversionFailed\\FileSystemProblems\\CreateDestinationFileException' => $vendorDir . '/rosell-dk/webp-convert/src/Convert/Exceptions/ConversionFailed/FileSystemProblems/CreateDestinationFileException.php',
|
53 |
-
'WebPConvert\\Convert\\Exceptions\\ConversionFailed\\FileSystemProblems\\CreateDestinationFolderException' => $vendorDir . '/rosell-dk/webp-convert/src/Convert/Exceptions/ConversionFailed/FileSystemProblems/CreateDestinationFolderException.php',
|
54 |
-
'WebPConvert\\Convert\\Exceptions\\ConversionFailed\\InvalidInputException' => $vendorDir . '/rosell-dk/webp-convert/src/Convert/Exceptions/ConversionFailed/InvalidInputException.php',
|
55 |
-
'WebPConvert\\Convert\\Exceptions\\ConversionFailed\\InvalidInput\\ConverterNotFoundException' => $vendorDir . '/rosell-dk/webp-convert/src/Convert/Exceptions/ConversionFailed/InvalidInput/ConverterNotFoundException.php',
|
56 |
-
'WebPConvert\\Convert\\Exceptions\\ConversionFailed\\InvalidInput\\InvalidImageTypeException' => $vendorDir . '/rosell-dk/webp-convert/src/Convert/Exceptions/ConversionFailed/InvalidInput/InvalidImageTypeException.php',
|
57 |
-
'WebPConvert\\Convert\\Exceptions\\ConversionFailed\\InvalidInput\\TargetNotFoundException' => $vendorDir . '/rosell-dk/webp-convert/src/Convert/Exceptions/ConversionFailed/InvalidInput/TargetNotFoundException.php',
|
58 |
-
'WebPConvert\\Convert\\Helpers\\JpegQualityDetector' => $vendorDir . '/rosell-dk/webp-convert/src/Convert/Helpers/JpegQualityDetector.php',
|
59 |
-
'WebPConvert\\Convert\\Helpers\\PhpIniSizes' => $vendorDir . '/rosell-dk/webp-convert/src/Convert/Helpers/PhpIniSizes.php',
|
60 |
-
'WebPConvert\\Exceptions\\InvalidInputException' => $vendorDir . '/rosell-dk/webp-convert/src/Exceptions/InvalidInputException.php',
|
61 |
-
'WebPConvert\\Exceptions\\InvalidInput\\InvalidImageTypeException' => $vendorDir . '/rosell-dk/webp-convert/src/Exceptions/InvalidInput/InvalidImageTypeException.php',
|
62 |
-
'WebPConvert\\Exceptions\\InvalidInput\\TargetNotFoundException' => $vendorDir . '/rosell-dk/webp-convert/src/Exceptions/InvalidInput/TargetNotFoundException.php',
|
63 |
-
'WebPConvert\\Exceptions\\WebPConvertException' => $vendorDir . '/rosell-dk/webp-convert/src/Exceptions/WebPConvertException.php',
|
64 |
-
'WebPConvert\\Helpers\\InputValidator' => $vendorDir . '/rosell-dk/webp-convert/src/Helpers/InputValidator.php',
|
65 |
-
'WebPConvert\\Helpers\\MimeType' => $vendorDir . '/rosell-dk/webp-convert/src/Helpers/MimeType.php',
|
66 |
-
'WebPConvert\\Helpers\\PathChecker' => $vendorDir . '/rosell-dk/webp-convert/src/Helpers/PathChecker.php',
|
67 |
-
'WebPConvert\\Helpers\\Sanitize' => $vendorDir . '/rosell-dk/webp-convert/src/Helpers/Sanitize.php',
|
68 |
-
'WebPConvert\\Loggers\\BaseLogger' => $vendorDir . '/rosell-dk/webp-convert/src/Loggers/BaseLogger.php',
|
69 |
-
'WebPConvert\\Loggers\\BufferLogger' => $vendorDir . '/rosell-dk/webp-convert/src/Loggers/BufferLogger.php',
|
70 |
-
'WebPConvert\\Loggers\\EchoLogger' => $vendorDir . '/rosell-dk/webp-convert/src/Loggers/EchoLogger.php',
|
71 |
-
'WebPConvert\\Options\\ArrayOption' => $vendorDir . '/rosell-dk/webp-convert/src/Options/ArrayOption.php',
|
72 |
-
'WebPConvert\\Options\\BooleanOption' => $vendorDir . '/rosell-dk/webp-convert/src/Options/BooleanOption.php',
|
73 |
-
'WebPConvert\\Options\\Exceptions\\InvalidOptionTypeException' => $vendorDir . '/rosell-dk/webp-convert/src/Options/Exceptions/InvalidOptionTypeException.php',
|
74 |
-
'WebPConvert\\Options\\Exceptions\\InvalidOptionValueException' => $vendorDir . '/rosell-dk/webp-convert/src/Options/Exceptions/InvalidOptionValueException.php',
|
75 |
-
'WebPConvert\\Options\\Exceptions\\OptionNotFoundException' => $vendorDir . '/rosell-dk/webp-convert/src/Options/Exceptions/OptionNotFoundException.php',
|
76 |
-
'WebPConvert\\Options\\GhostOption' => $vendorDir . '/rosell-dk/webp-convert/src/Options/GhostOption.php',
|
77 |
-
'WebPConvert\\Options\\IntegerOption' => $vendorDir . '/rosell-dk/webp-convert/src/Options/IntegerOption.php',
|
78 |
-
'WebPConvert\\Options\\IntegerOrNullOption' => $vendorDir . '/rosell-dk/webp-convert/src/Options/IntegerOrNullOption.php',
|
79 |
-
'WebPConvert\\Options\\MetadataOption' => $vendorDir . '/rosell-dk/webp-convert/src/Options/MetadataOption.php',
|
80 |
-
'WebPConvert\\Options\\Option' => $vendorDir . '/rosell-dk/webp-convert/src/Options/Option.php',
|
81 |
-
'WebPConvert\\Options\\Options' => $vendorDir . '/rosell-dk/webp-convert/src/Options/Options.php',
|
82 |
-
'WebPConvert\\Options\\QualityOption' => $vendorDir . '/rosell-dk/webp-convert/src/Options/QualityOption.php',
|
83 |
-
'WebPConvert\\Options\\SensitiveArrayOption' => $vendorDir . '/rosell-dk/webp-convert/src/Options/SensitiveArrayOption.php',
|
84 |
-
'WebPConvert\\Options\\SensitiveStringOption' => $vendorDir . '/rosell-dk/webp-convert/src/Options/SensitiveStringOption.php',
|
85 |
-
'WebPConvert\\Options\\StringOption' => $vendorDir . '/rosell-dk/webp-convert/src/Options/StringOption.php',
|
86 |
-
'WebPConvert\\Serve\\Exceptions\\ServeFailedException' => $vendorDir . '/rosell-dk/webp-convert/src/Serve/Exceptions/ServeFailedException.php',
|
87 |
-
'WebPConvert\\Serve\\Header' => $vendorDir . '/rosell-dk/webp-convert/src/Serve/Header.php',
|
88 |
-
'WebPConvert\\Serve\\Report' => $vendorDir . '/rosell-dk/webp-convert/src/Serve/Report.php',
|
89 |
-
'WebPConvert\\Serve\\ServeConvertedWebP' => $vendorDir . '/rosell-dk/webp-convert/src/Serve/ServeConvertedWebP.php',
|
90 |
-
'WebPConvert\\Serve\\ServeConvertedWebPWithErrorHandling' => $vendorDir . '/rosell-dk/webp-convert/src/Serve/ServeConvertedWebPWithErrorHandling.php',
|
91 |
-
'WebPConvert\\Serve\\ServeFile' => $vendorDir . '/rosell-dk/webp-convert/src/Serve/ServeFile.php',
|
92 |
-
'WebPConvert\\WebPConvert' => $vendorDir . '/rosell-dk/webp-convert/src/WebPConvert.php',
|
93 |
);
|
6 |
$baseDir = dirname($vendorDir);
|
7 |
|
8 |
return array(
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9 |
);
|
vendor/composer/autoload_static.php
CHANGED
@@ -41,99 +41,11 @@ class ComposerStaticInit16597e36dd1bfcd787ed5a8e6d908243
|
|
41 |
),
|
42 |
);
|
43 |
|
44 |
-
public static $classMap = array (
|
45 |
-
'DOMUtilForWebP\\ImageUrlReplacer' => __DIR__ . '/..' . '/rosell-dk/dom-util-for-webp/src/ImageUrlReplacer.php',
|
46 |
-
'DOMUtilForWebP\\PictureTags' => __DIR__ . '/..' . '/rosell-dk/dom-util-for-webp/src/PictureTags.php',
|
47 |
-
'ImageMimeTypeGuesser\\Detectors\\AbstractDetector' => __DIR__ . '/..' . '/rosell-dk/image-mime-type-guesser/src/Detectors/AbstractDetector.php',
|
48 |
-
'ImageMimeTypeGuesser\\Detectors\\ExifImageType' => __DIR__ . '/..' . '/rosell-dk/image-mime-type-guesser/src/Detectors/ExifImageType.php',
|
49 |
-
'ImageMimeTypeGuesser\\Detectors\\FInfo' => __DIR__ . '/..' . '/rosell-dk/image-mime-type-guesser/src/Detectors/FInfo.php',
|
50 |
-
'ImageMimeTypeGuesser\\Detectors\\GetImageSize' => __DIR__ . '/..' . '/rosell-dk/image-mime-type-guesser/src/Detectors/GetImageSize.php',
|
51 |
-
'ImageMimeTypeGuesser\\Detectors\\MimeContentType' => __DIR__ . '/..' . '/rosell-dk/image-mime-type-guesser/src/Detectors/MimeContentType.php',
|
52 |
-
'ImageMimeTypeGuesser\\Detectors\\SniffFirstFourBytes' => __DIR__ . '/..' . '/rosell-dk/image-mime-type-guesser/src/Detectors/SniffFirstFourBytes.php',
|
53 |
-
'ImageMimeTypeGuesser\\Detectors\\Stack' => __DIR__ . '/..' . '/rosell-dk/image-mime-type-guesser/src/Detectors/Stack.php',
|
54 |
-
'ImageMimeTypeGuesser\\GuessFromExtension' => __DIR__ . '/..' . '/rosell-dk/image-mime-type-guesser/src/GuessFromExtension.php',
|
55 |
-
'ImageMimeTypeGuesser\\ImageMimeTypeGuesser' => __DIR__ . '/..' . '/rosell-dk/image-mime-type-guesser/src/ImageMimeTypeGuesser.php',
|
56 |
-
'WebPConvertCloudService\\AccessCheck' => __DIR__ . '/..' . '/rosell-dk/webp-convert-cloud-service/src/AccessCheck.php',
|
57 |
-
'WebPConvertCloudService\\Serve' => __DIR__ . '/..' . '/rosell-dk/webp-convert-cloud-service/src/Serve.php',
|
58 |
-
'WebPConvertCloudService\\WebPConvertCloudService' => __DIR__ . '/..' . '/rosell-dk/webp-convert-cloud-service/src/WebPConvertCloudService.php',
|
59 |
-
'WebPConvert\\Convert\\ConverterFactory' => __DIR__ . '/..' . '/rosell-dk/webp-convert/src/Convert/ConverterFactory.php',
|
60 |
-
'WebPConvert\\Convert\\Converters\\AbstractConverter' => __DIR__ . '/..' . '/rosell-dk/webp-convert/src/Convert/Converters/AbstractConverter.php',
|
61 |
-
'WebPConvert\\Convert\\Converters\\BaseTraits\\AutoQualityTrait' => __DIR__ . '/..' . '/rosell-dk/webp-convert/src/Convert/Converters/BaseTraits/AutoQualityTrait.php',
|
62 |
-
'WebPConvert\\Convert\\Converters\\BaseTraits\\DestinationPreparationTrait' => __DIR__ . '/..' . '/rosell-dk/webp-convert/src/Convert/Converters/BaseTraits/DestinationPreparationTrait.php',
|
63 |
-
'WebPConvert\\Convert\\Converters\\BaseTraits\\LoggerTrait' => __DIR__ . '/..' . '/rosell-dk/webp-convert/src/Convert/Converters/BaseTraits/LoggerTrait.php',
|
64 |
-
'WebPConvert\\Convert\\Converters\\BaseTraits\\OptionsTrait' => __DIR__ . '/..' . '/rosell-dk/webp-convert/src/Convert/Converters/BaseTraits/OptionsTrait.php',
|
65 |
-
'WebPConvert\\Convert\\Converters\\BaseTraits\\WarningLoggerTrait' => __DIR__ . '/..' . '/rosell-dk/webp-convert/src/Convert/Converters/BaseTraits/WarningLoggerTrait.php',
|
66 |
-
'WebPConvert\\Convert\\Converters\\ConverterTraits\\CloudConverterTrait' => __DIR__ . '/..' . '/rosell-dk/webp-convert/src/Convert/Converters/ConverterTraits/CloudConverterTrait.php',
|
67 |
-
'WebPConvert\\Convert\\Converters\\ConverterTraits\\CurlTrait' => __DIR__ . '/..' . '/rosell-dk/webp-convert/src/Convert/Converters/ConverterTraits/CurlTrait.php',
|
68 |
-
'WebPConvert\\Convert\\Converters\\ConverterTraits\\EncodingAutoTrait' => __DIR__ . '/..' . '/rosell-dk/webp-convert/src/Convert/Converters/ConverterTraits/EncodingAutoTrait.php',
|
69 |
-
'WebPConvert\\Convert\\Converters\\ConverterTraits\\ExecTrait' => __DIR__ . '/..' . '/rosell-dk/webp-convert/src/Convert/Converters/ConverterTraits/ExecTrait.php',
|
70 |
-
'WebPConvert\\Convert\\Converters\\Cwebp' => __DIR__ . '/..' . '/rosell-dk/webp-convert/src/Convert/Converters/Cwebp.php',
|
71 |
-
'WebPConvert\\Convert\\Converters\\Ewww' => __DIR__ . '/..' . '/rosell-dk/webp-convert/src/Convert/Converters/Ewww.php',
|
72 |
-
'WebPConvert\\Convert\\Converters\\Gd' => __DIR__ . '/..' . '/rosell-dk/webp-convert/src/Convert/Converters/Gd.php',
|
73 |
-
'WebPConvert\\Convert\\Converters\\Gmagick' => __DIR__ . '/..' . '/rosell-dk/webp-convert/src/Convert/Converters/Gmagick.php',
|
74 |
-
'WebPConvert\\Convert\\Converters\\GmagickBinary' => __DIR__ . '/..' . '/rosell-dk/webp-convert/src/Convert/Converters/GmagickBinary.php',
|
75 |
-
'WebPConvert\\Convert\\Converters\\GraphicsMagick' => __DIR__ . '/..' . '/rosell-dk/webp-convert/src/Convert/Converters/GraphicsMagick.php',
|
76 |
-
'WebPConvert\\Convert\\Converters\\ImageMagick' => __DIR__ . '/..' . '/rosell-dk/webp-convert/src/Convert/Converters/ImageMagick.php',
|
77 |
-
'WebPConvert\\Convert\\Converters\\Imagick' => __DIR__ . '/..' . '/rosell-dk/webp-convert/src/Convert/Converters/Imagick.php',
|
78 |
-
'WebPConvert\\Convert\\Converters\\ImagickBinary' => __DIR__ . '/..' . '/rosell-dk/webp-convert/src/Convert/Converters/ImagickBinary.php',
|
79 |
-
'WebPConvert\\Convert\\Converters\\Stack' => __DIR__ . '/..' . '/rosell-dk/webp-convert/src/Convert/Converters/Stack.php',
|
80 |
-
'WebPConvert\\Convert\\Converters\\Vips' => __DIR__ . '/..' . '/rosell-dk/webp-convert/src/Convert/Converters/Vips.php',
|
81 |
-
'WebPConvert\\Convert\\Converters\\Wpc' => __DIR__ . '/..' . '/rosell-dk/webp-convert/src/Convert/Converters/Wpc.php',
|
82 |
-
'WebPConvert\\Convert\\Exceptions\\ConversionFailedException' => __DIR__ . '/..' . '/rosell-dk/webp-convert/src/Convert/Exceptions/ConversionFailedException.php',
|
83 |
-
'WebPConvert\\Convert\\Exceptions\\ConversionFailed\\ConversionSkippedException' => __DIR__ . '/..' . '/rosell-dk/webp-convert/src/Convert/Exceptions/ConversionFailed/ConversionSkippedException.php',
|
84 |
-
'WebPConvert\\Convert\\Exceptions\\ConversionFailed\\ConverterNotOperationalException' => __DIR__ . '/..' . '/rosell-dk/webp-convert/src/Convert/Exceptions/ConversionFailed/ConverterNotOperationalException.php',
|
85 |
-
'WebPConvert\\Convert\\Exceptions\\ConversionFailed\\ConverterNotOperational\\InvalidApiKeyException' => __DIR__ . '/..' . '/rosell-dk/webp-convert/src/Convert/Exceptions/ConversionFailed/ConverterNotOperational/InvalidApiKeyException.php',
|
86 |
-
'WebPConvert\\Convert\\Exceptions\\ConversionFailed\\ConverterNotOperational\\SystemRequirementsNotMetException' => __DIR__ . '/..' . '/rosell-dk/webp-convert/src/Convert/Exceptions/ConversionFailed/ConverterNotOperational/SystemRequirementsNotMetException.php',
|
87 |
-
'WebPConvert\\Convert\\Exceptions\\ConversionFailed\\FileSystemProblemsException' => __DIR__ . '/..' . '/rosell-dk/webp-convert/src/Convert/Exceptions/ConversionFailed/FileSystemProblemsException.php',
|
88 |
-
'WebPConvert\\Convert\\Exceptions\\ConversionFailed\\FileSystemProblems\\CreateDestinationFileException' => __DIR__ . '/..' . '/rosell-dk/webp-convert/src/Convert/Exceptions/ConversionFailed/FileSystemProblems/CreateDestinationFileException.php',
|
89 |
-
'WebPConvert\\Convert\\Exceptions\\ConversionFailed\\FileSystemProblems\\CreateDestinationFolderException' => __DIR__ . '/..' . '/rosell-dk/webp-convert/src/Convert/Exceptions/ConversionFailed/FileSystemProblems/CreateDestinationFolderException.php',
|
90 |
-
'WebPConvert\\Convert\\Exceptions\\ConversionFailed\\InvalidInputException' => __DIR__ . '/..' . '/rosell-dk/webp-convert/src/Convert/Exceptions/ConversionFailed/InvalidInputException.php',
|
91 |
-
'WebPConvert\\Convert\\Exceptions\\ConversionFailed\\InvalidInput\\ConverterNotFoundException' => __DIR__ . '/..' . '/rosell-dk/webp-convert/src/Convert/Exceptions/ConversionFailed/InvalidInput/ConverterNotFoundException.php',
|
92 |
-
'WebPConvert\\Convert\\Exceptions\\ConversionFailed\\InvalidInput\\InvalidImageTypeException' => __DIR__ . '/..' . '/rosell-dk/webp-convert/src/Convert/Exceptions/ConversionFailed/InvalidInput/InvalidImageTypeException.php',
|
93 |
-
'WebPConvert\\Convert\\Exceptions\\ConversionFailed\\InvalidInput\\TargetNotFoundException' => __DIR__ . '/..' . '/rosell-dk/webp-convert/src/Convert/Exceptions/ConversionFailed/InvalidInput/TargetNotFoundException.php',
|
94 |
-
'WebPConvert\\Convert\\Helpers\\JpegQualityDetector' => __DIR__ . '/..' . '/rosell-dk/webp-convert/src/Convert/Helpers/JpegQualityDetector.php',
|
95 |
-
'WebPConvert\\Convert\\Helpers\\PhpIniSizes' => __DIR__ . '/..' . '/rosell-dk/webp-convert/src/Convert/Helpers/PhpIniSizes.php',
|
96 |
-
'WebPConvert\\Exceptions\\InvalidInputException' => __DIR__ . '/..' . '/rosell-dk/webp-convert/src/Exceptions/InvalidInputException.php',
|
97 |
-
'WebPConvert\\Exceptions\\InvalidInput\\InvalidImageTypeException' => __DIR__ . '/..' . '/rosell-dk/webp-convert/src/Exceptions/InvalidInput/InvalidImageTypeException.php',
|
98 |
-
'WebPConvert\\Exceptions\\InvalidInput\\TargetNotFoundException' => __DIR__ . '/..' . '/rosell-dk/webp-convert/src/Exceptions/InvalidInput/TargetNotFoundException.php',
|
99 |
-
'WebPConvert\\Exceptions\\WebPConvertException' => __DIR__ . '/..' . '/rosell-dk/webp-convert/src/Exceptions/WebPConvertException.php',
|
100 |
-
'WebPConvert\\Helpers\\InputValidator' => __DIR__ . '/..' . '/rosell-dk/webp-convert/src/Helpers/InputValidator.php',
|
101 |
-
'WebPConvert\\Helpers\\MimeType' => __DIR__ . '/..' . '/rosell-dk/webp-convert/src/Helpers/MimeType.php',
|
102 |
-
'WebPConvert\\Helpers\\PathChecker' => __DIR__ . '/..' . '/rosell-dk/webp-convert/src/Helpers/PathChecker.php',
|
103 |
-
'WebPConvert\\Helpers\\Sanitize' => __DIR__ . '/..' . '/rosell-dk/webp-convert/src/Helpers/Sanitize.php',
|
104 |
-
'WebPConvert\\Loggers\\BaseLogger' => __DIR__ . '/..' . '/rosell-dk/webp-convert/src/Loggers/BaseLogger.php',
|
105 |
-
'WebPConvert\\Loggers\\BufferLogger' => __DIR__ . '/..' . '/rosell-dk/webp-convert/src/Loggers/BufferLogger.php',
|
106 |
-
'WebPConvert\\Loggers\\EchoLogger' => __DIR__ . '/..' . '/rosell-dk/webp-convert/src/Loggers/EchoLogger.php',
|
107 |
-
'WebPConvert\\Options\\ArrayOption' => __DIR__ . '/..' . '/rosell-dk/webp-convert/src/Options/ArrayOption.php',
|
108 |
-
'WebPConvert\\Options\\BooleanOption' => __DIR__ . '/..' . '/rosell-dk/webp-convert/src/Options/BooleanOption.php',
|
109 |
-
'WebPConvert\\Options\\Exceptions\\InvalidOptionTypeException' => __DIR__ . '/..' . '/rosell-dk/webp-convert/src/Options/Exceptions/InvalidOptionTypeException.php',
|
110 |
-
'WebPConvert\\Options\\Exceptions\\InvalidOptionValueException' => __DIR__ . '/..' . '/rosell-dk/webp-convert/src/Options/Exceptions/InvalidOptionValueException.php',
|
111 |
-
'WebPConvert\\Options\\Exceptions\\OptionNotFoundException' => __DIR__ . '/..' . '/rosell-dk/webp-convert/src/Options/Exceptions/OptionNotFoundException.php',
|
112 |
-
'WebPConvert\\Options\\GhostOption' => __DIR__ . '/..' . '/rosell-dk/webp-convert/src/Options/GhostOption.php',
|
113 |
-
'WebPConvert\\Options\\IntegerOption' => __DIR__ . '/..' . '/rosell-dk/webp-convert/src/Options/IntegerOption.php',
|
114 |
-
'WebPConvert\\Options\\IntegerOrNullOption' => __DIR__ . '/..' . '/rosell-dk/webp-convert/src/Options/IntegerOrNullOption.php',
|
115 |
-
'WebPConvert\\Options\\MetadataOption' => __DIR__ . '/..' . '/rosell-dk/webp-convert/src/Options/MetadataOption.php',
|
116 |
-
'WebPConvert\\Options\\Option' => __DIR__ . '/..' . '/rosell-dk/webp-convert/src/Options/Option.php',
|
117 |
-
'WebPConvert\\Options\\Options' => __DIR__ . '/..' . '/rosell-dk/webp-convert/src/Options/Options.php',
|
118 |
-
'WebPConvert\\Options\\QualityOption' => __DIR__ . '/..' . '/rosell-dk/webp-convert/src/Options/QualityOption.php',
|
119 |
-
'WebPConvert\\Options\\SensitiveArrayOption' => __DIR__ . '/..' . '/rosell-dk/webp-convert/src/Options/SensitiveArrayOption.php',
|
120 |
-
'WebPConvert\\Options\\SensitiveStringOption' => __DIR__ . '/..' . '/rosell-dk/webp-convert/src/Options/SensitiveStringOption.php',
|
121 |
-
'WebPConvert\\Options\\StringOption' => __DIR__ . '/..' . '/rosell-dk/webp-convert/src/Options/StringOption.php',
|
122 |
-
'WebPConvert\\Serve\\Exceptions\\ServeFailedException' => __DIR__ . '/..' . '/rosell-dk/webp-convert/src/Serve/Exceptions/ServeFailedException.php',
|
123 |
-
'WebPConvert\\Serve\\Header' => __DIR__ . '/..' . '/rosell-dk/webp-convert/src/Serve/Header.php',
|
124 |
-
'WebPConvert\\Serve\\Report' => __DIR__ . '/..' . '/rosell-dk/webp-convert/src/Serve/Report.php',
|
125 |
-
'WebPConvert\\Serve\\ServeConvertedWebP' => __DIR__ . '/..' . '/rosell-dk/webp-convert/src/Serve/ServeConvertedWebP.php',
|
126 |
-
'WebPConvert\\Serve\\ServeConvertedWebPWithErrorHandling' => __DIR__ . '/..' . '/rosell-dk/webp-convert/src/Serve/ServeConvertedWebPWithErrorHandling.php',
|
127 |
-
'WebPConvert\\Serve\\ServeFile' => __DIR__ . '/..' . '/rosell-dk/webp-convert/src/Serve/ServeFile.php',
|
128 |
-
'WebPConvert\\WebPConvert' => __DIR__ . '/..' . '/rosell-dk/webp-convert/src/WebPConvert.php',
|
129 |
-
);
|
130 |
-
|
131 |
public static function getInitializer(ClassLoader $loader)
|
132 |
{
|
133 |
return \Closure::bind(function () use ($loader) {
|
134 |
$loader->prefixLengthsPsr4 = ComposerStaticInit16597e36dd1bfcd787ed5a8e6d908243::$prefixLengthsPsr4;
|
135 |
$loader->prefixDirsPsr4 = ComposerStaticInit16597e36dd1bfcd787ed5a8e6d908243::$prefixDirsPsr4;
|
136 |
-
$loader->classMap = ComposerStaticInit16597e36dd1bfcd787ed5a8e6d908243::$classMap;
|
137 |
|
138 |
}, null, ClassLoader::class);
|
139 |
}
|
41 |
),
|
42 |
);
|
43 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
44 |
public static function getInitializer(ClassLoader $loader)
|
45 |
{
|
46 |
return \Closure::bind(function () use ($loader) {
|
47 |
$loader->prefixLengthsPsr4 = ComposerStaticInit16597e36dd1bfcd787ed5a8e6d908243::$prefixLengthsPsr4;
|
48 |
$loader->prefixDirsPsr4 = ComposerStaticInit16597e36dd1bfcd787ed5a8e6d908243::$prefixDirsPsr4;
|
|
|
49 |
|
50 |
}, null, ClassLoader::class);
|
51 |
}
|
vendor/composer/installed.json
CHANGED
@@ -115,17 +115,17 @@
|
|
115 |
},
|
116 |
{
|
117 |
"name": "rosell-dk/webp-convert",
|
118 |
-
"version": "2.
|
119 |
-
"version_normalized": "2.
|
120 |
"source": {
|
121 |
"type": "git",
|
122 |
"url": "https://github.com/rosell-dk/webp-convert.git",
|
123 |
-
"reference": "
|
124 |
},
|
125 |
"dist": {
|
126 |
"type": "zip",
|
127 |
-
"url": "https://api.github.com/repos/rosell-dk/webp-convert/zipball/
|
128 |
-
"reference": "
|
129 |
"shasum": ""
|
130 |
},
|
131 |
"require": {
|
@@ -143,7 +143,7 @@
|
|
143 |
"ext-vips": "to use Vips extension for converting.",
|
144 |
"php-stan/php-stan": "Suggested for dev, in order to analyse code before committing"
|
145 |
},
|
146 |
-
"time": "2019-
|
147 |
"type": "library",
|
148 |
"extra": {
|
149 |
"scripts-descriptions": {
|
115 |
},
|
116 |
{
|
117 |
"name": "rosell-dk/webp-convert",
|
118 |
+
"version": "2.3.0",
|
119 |
+
"version_normalized": "2.3.0.0",
|
120 |
"source": {
|
121 |
"type": "git",
|
122 |
"url": "https://github.com/rosell-dk/webp-convert.git",
|
123 |
+
"reference": "74991497d403c07de269623850722aa0f7d15542"
|
124 |
},
|
125 |
"dist": {
|
126 |
"type": "zip",
|
127 |
+
"url": "https://api.github.com/repos/rosell-dk/webp-convert/zipball/74991497d403c07de269623850722aa0f7d15542",
|
128 |
+
"reference": "74991497d403c07de269623850722aa0f7d15542",
|
129 |
"shasum": ""
|
130 |
},
|
131 |
"require": {
|
143 |
"ext-vips": "to use Vips extension for converting.",
|
144 |
"php-stan/php-stan": "Suggested for dev, in order to analyse code before committing"
|
145 |
},
|
146 |
+
"time": "2019-10-05T18:32:17+00:00",
|
147 |
"type": "library",
|
148 |
"extra": {
|
149 |
"scripts-descriptions": {
|
vendor/rosell-dk/webp-convert/src/Convert/Converters/AbstractConverter.php
CHANGED
@@ -117,7 +117,7 @@ abstract class AbstractConverter
|
|
117 |
$this->setProvidedOptions($options);
|
118 |
|
119 |
if (!isset($this->options['_skip_input_check'])) {
|
120 |
-
$this->log('WebP Convert 2.
|
121 |
$this->logLn(' ignited.');
|
122 |
$this->logLn('- PHP version: ' . phpversion());
|
123 |
if (isset($_SERVER['SERVER_SOFTWARE'])) {
|
117 |
$this->setProvidedOptions($options);
|
118 |
|
119 |
if (!isset($this->options['_skip_input_check'])) {
|
120 |
+
$this->log('WebP Convert 2.3.0', 'italic');
|
121 |
$this->logLn(' ignited.');
|
122 |
$this->logLn('- PHP version: ' . phpversion());
|
123 |
if (isset($_SERVER['SERVER_SOFTWARE'])) {
|
vendor/rosell-dk/webp-convert/src/Convert/Converters/BaseTraits/WarningLoggerTrait.php
CHANGED
@@ -19,6 +19,12 @@ trait WarningLoggerTrait
|
|
19 |
/** @var string|array|null Previous error handler (stored in order to be able pass warnings on) */
|
20 |
private $previousErrorHandler;
|
21 |
|
|
|
|
|
|
|
|
|
|
|
|
|
22 |
/**
|
23 |
* Handle warnings and notices during conversion by logging them and passing them on.
|
24 |
*
|
@@ -30,7 +36,7 @@ trait WarningLoggerTrait
|
|
30 |
* @param string $errfile
|
31 |
* @param integer $errline
|
32 |
*
|
33 |
-
* @return false|null
|
34 |
*/
|
35 |
public function warningHandler($errno, $errstr, $errfile, $errline)
|
36 |
{
|
@@ -59,9 +65,13 @@ trait WarningLoggerTrait
|
|
59 |
|
60 |
If it was possible to suppress the warnings with @ without suppressing warnings on systems
|
61 |
with error reporting set to E_NONE, I would do that.
|
62 |
-
|
63 |
*/
|
64 |
|
|
|
|
|
|
|
|
|
|
|
65 |
$errorTypes = [
|
66 |
E_WARNING => "Warning",
|
67 |
E_NOTICE => "Notice",
|
@@ -119,6 +129,8 @@ trait WarningLoggerTrait
|
|
119 |
*/
|
120 |
protected function activateWarningLogger()
|
121 |
{
|
|
|
|
|
122 |
$this->previousErrorHandler = set_error_handler(
|
123 |
array($this, "warningHandler"),
|
124 |
E_WARNING | E_USER_WARNING | E_NOTICE | E_USER_NOTICE
|
@@ -136,4 +148,24 @@ trait WarningLoggerTrait
|
|
136 |
{
|
137 |
restore_error_handler();
|
138 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
139 |
}
|
19 |
/** @var string|array|null Previous error handler (stored in order to be able pass warnings on) */
|
20 |
private $previousErrorHandler;
|
21 |
|
22 |
+
/** @var boolean Suppress ALL warnings? (both from log and from bubbling up) */
|
23 |
+
private $suppressWarnings;
|
24 |
+
|
25 |
+
/** @var int Count number of warnings */
|
26 |
+
private $warningCounter;
|
27 |
+
|
28 |
/**
|
29 |
* Handle warnings and notices during conversion by logging them and passing them on.
|
30 |
*
|
36 |
* @param string $errfile
|
37 |
* @param integer $errline
|
38 |
*
|
39 |
+
* @return false|null|void
|
40 |
*/
|
41 |
public function warningHandler($errno, $errstr, $errfile, $errline)
|
42 |
{
|
65 |
|
66 |
If it was possible to suppress the warnings with @ without suppressing warnings on systems
|
67 |
with error reporting set to E_NONE, I would do that.
|
|
|
68 |
*/
|
69 |
|
70 |
+
$this->warningCounter++;
|
71 |
+
if ($this->suppressWarnings) {
|
72 |
+
return;
|
73 |
+
}
|
74 |
+
|
75 |
$errorTypes = [
|
76 |
E_WARNING => "Warning",
|
77 |
E_NOTICE => "Notice",
|
129 |
*/
|
130 |
protected function activateWarningLogger()
|
131 |
{
|
132 |
+
$this->suppressWarnings = false;
|
133 |
+
$this->warningCounter = 0;
|
134 |
$this->previousErrorHandler = set_error_handler(
|
135 |
array($this, "warningHandler"),
|
136 |
E_WARNING | E_USER_WARNING | E_NOTICE | E_USER_NOTICE
|
148 |
{
|
149 |
restore_error_handler();
|
150 |
}
|
151 |
+
|
152 |
+
protected function disableWarningsTemporarily()
|
153 |
+
{
|
154 |
+
$this->suppressWarnings = true;
|
155 |
+
}
|
156 |
+
|
157 |
+
protected function reenableWarnings()
|
158 |
+
{
|
159 |
+
$this->suppressWarnings = false;
|
160 |
+
}
|
161 |
+
|
162 |
+
protected function getWarningCount()
|
163 |
+
{
|
164 |
+
return $this->warningCounter;
|
165 |
+
}
|
166 |
+
|
167 |
+
protected function resetWarningCount()
|
168 |
+
{
|
169 |
+
$this->warningCounter = 0;
|
170 |
+
}
|
171 |
}
|
vendor/rosell-dk/webp-convert/src/Convert/Converters/Binaries/{cwebp-0.6.0-fbsd → cwebp-060-fbsd}
RENAMED
File without changes
|
vendor/rosell-dk/webp-convert/src/Convert/Converters/Binaries/{cwebp-0.6.0-solaris → cwebp-060-solaris}
RENAMED
File without changes
|
vendor/rosell-dk/webp-convert/src/Convert/Converters/Binaries/{cwebp-0.6.1-linux-x86-64 → cwebp-061-linux-x86-64}
RENAMED
File without changes
|
vendor/rosell-dk/webp-convert/src/Convert/Converters/Binaries/{cwebp-1.0.3-linux-x86-64 → cwebp-103-linux-x86-64}
RENAMED
File without changes
|
vendor/rosell-dk/webp-convert/src/Convert/Converters/Binaries/{cwebp-1.0.3-linux-x86-64-static → cwebp-103-linux-x86-64-static}
RENAMED
File without changes
|
vendor/rosell-dk/webp-convert/src/Convert/Converters/Binaries/{cwebp-1.0.3-mac-10.14 → cwebp-103-mac-10_14}
RENAMED
File without changes
|
vendor/rosell-dk/webp-convert/src/Convert/Converters/Binaries/{cwebp-1.0.3-windows-x64.exe → cwebp-103-windows-x64.exe}
RENAMED
File without changes
|
vendor/rosell-dk/webp-convert/src/Convert/Converters/Cwebp.php
CHANGED
@@ -3,11 +3,13 @@
|
|
3 |
namespace WebPConvert\Convert\Converters;
|
4 |
|
5 |
use WebPConvert\Convert\Converters\AbstractConverter;
|
|
|
6 |
use WebPConvert\Convert\Converters\ConverterTraits\EncodingAutoTrait;
|
7 |
use WebPConvert\Convert\Converters\ConverterTraits\ExecTrait;
|
8 |
use WebPConvert\Convert\Exceptions\ConversionFailed\ConverterNotOperational\SystemRequirementsNotMetException;
|
9 |
use WebPConvert\Convert\Exceptions\ConversionFailedException;
|
10 |
use WebPConvert\Convert\Exceptions\ConversionFailed\ConverterNotOperationalException;
|
|
|
11 |
use WebPConvert\Options\BooleanOption;
|
12 |
use WebPConvert\Options\SensitiveStringOption;
|
13 |
use WebPConvert\Options\StringOption;
|
@@ -39,51 +41,46 @@ class Cwebp extends AbstractConverter
|
|
39 |
new SensitiveStringOption('rel-path-to-precompiled-binaries', './Binaries'),
|
40 |
new BooleanOption('try-cwebp', true),
|
41 |
new BooleanOption('try-common-system-paths', true),
|
|
|
42 |
new BooleanOption('try-supplied-binary-for-os', true)
|
43 |
);
|
44 |
}
|
45 |
|
46 |
-
// System paths to look for cwebp binary
|
47 |
-
private static $cwebpDefaultPaths = [
|
48 |
-
//'cwebp',
|
49 |
-
'/usr/bin/cwebp',
|
50 |
-
'/usr/local/bin/cwebp',
|
51 |
-
'/usr/gnu/bin/cwebp',
|
52 |
-
'/usr/syno/bin/cwebp'
|
53 |
-
];
|
54 |
-
|
55 |
// OS-specific binaries included in this library, along with hashes
|
56 |
// If other binaries are going to be added, notice that the first argument is what PHP_OS returns.
|
57 |
// (possible values, see here: https://stackoverflow.com/questions/738823/possible-values-for-php-os)
|
58 |
// Got the precompiled binaries here: https://developers.google.com/speed/webp/docs/precompiled
|
|
|
|
|
|
|
59 |
private static $suppliedBinariesInfo = [
|
60 |
'WINNT' => [
|
61 |
-
['cwebp-
|
62 |
],
|
63 |
'Darwin' => [
|
64 |
-
['cwebp-
|
65 |
],
|
66 |
'SunOS' => [
|
67 |
// Got this from ewww Wordpress plugin, which unfortunately still uses the old 0.6.0 versions
|
68 |
// Can you help me get a 1.0.3 version?
|
69 |
-
['cwebp-
|
70 |
],
|
71 |
'FreeBSD' => [
|
72 |
// Got this from ewww Wordpress plugin, which unfortunately still uses the old 0.6.0 versions
|
73 |
// Can you help me get a 1.0.3 version?
|
74 |
-
['cwebp-
|
75 |
],
|
76 |
'Linux' => [
|
77 |
// Dynamically linked executable.
|
78 |
// It seems it is slightly faster than the statically linked
|
79 |
-
['cwebp-
|
80 |
|
81 |
// Statically linked executable
|
82 |
// It may be that it on some systems works, where the dynamically linked does not (see #196)
|
83 |
-
['cwebp-
|
84 |
|
85 |
// Old executable for systems in case both of the above fails
|
86 |
-
['cwebp-
|
87 |
]
|
88 |
];
|
89 |
|
@@ -108,7 +105,11 @@ class Cwebp extends AbstractConverter
|
|
108 |
$this->checkOperationalityExecTrait();
|
109 |
|
110 |
$options = $this->options;
|
111 |
-
if (!$options['try-supplied-binary-for-os'] &&
|
|
|
|
|
|
|
|
|
112 |
throw new ConverterNotOperationalException(
|
113 |
'Configured to neither try pure cwebp command, ' .
|
114 |
'nor look for cweb binaries in common system locations and ' .
|
@@ -395,7 +396,6 @@ class Cwebp extends AbstractConverter
|
|
395 |
}
|
396 |
$result[] = $binaryFile;
|
397 |
}
|
398 |
-
|
399 |
return $result;
|
400 |
}
|
401 |
|
@@ -468,52 +468,94 @@ class Cwebp extends AbstractConverter
|
|
468 |
return ['detected' => $binariesWithVersions, 'failed' => $binariesWithFailCodes];
|
469 |
}
|
470 |
|
471 |
-
|
472 |
-
|
473 |
-
|
474 |
-
|
475 |
-
|
476 |
-
|
477 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
478 |
{
|
479 |
-
|
|
|
|
|
|
|
480 |
|
481 |
if (defined('WEBPCONVERT_CWEBP_PATH')) {
|
482 |
$this->logLn('WEBPCONVERT_CWEBP_PATH was defined, so using that path and ignoring any other');
|
483 |
-
return
|
484 |
}
|
485 |
if (!empty(getenv('WEBPCONVERT_CWEBP_PATH'))) {
|
486 |
$this->logLn(
|
487 |
'WEBPCONVERT_CWEBP_PATH environment variable was set, so using that path and ignoring any other'
|
488 |
);
|
489 |
-
return
|
490 |
}
|
491 |
|
492 |
-
$versions = [];
|
493 |
if ($this->options['try-cwebp']) {
|
494 |
$this->logLn(
|
495 |
-
'
|
496 |
);
|
497 |
-
$
|
498 |
-
|
499 |
-
|
500 |
-
|
501 |
-
|
502 |
-
|
503 |
-
|
|
|
504 |
$this->logLn(
|
505 |
-
'
|
506 |
-
'(
|
507 |
);
|
508 |
-
$versions = array_merge_recursive($versions, $this->detectVersions(self::$cwebpDefaultPaths));
|
509 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
510 |
if ($this->options['try-supplied-binary-for-os']) {
|
511 |
-
$
|
512 |
-
|
513 |
-
|
514 |
-
);
|
515 |
}
|
516 |
-
|
|
|
517 |
}
|
518 |
|
519 |
/**
|
@@ -552,7 +594,7 @@ class Cwebp extends AbstractConverter
|
|
552 |
/**
|
553 |
* Helper for composing an error message when no converters are working.
|
554 |
*
|
555 |
-
* @param array $versions The array which we get from calling ::
|
556 |
* @return string An informative and to the point error message.
|
557 |
*/
|
558 |
private function composeMeaningfullErrorMessageNoVersionsWorking($versions)
|
@@ -593,7 +635,38 @@ class Cwebp extends AbstractConverter
|
|
593 |
|
594 |
protected function doActualConvert()
|
595 |
{
|
596 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
597 |
$binaryVersions = $versions['detected'];
|
598 |
if (count($binaryVersions) == 0) {
|
599 |
// No working cwebp binaries found.
|
@@ -606,7 +679,7 @@ class Cwebp extends AbstractConverter
|
|
606 |
// Sort binaries so those with highest numbers comes first
|
607 |
arsort($binaryVersions);
|
608 |
$this->logLn(
|
609 |
-
'
|
610 |
);
|
611 |
foreach ($binaryVersions as $binary => $version) {
|
612 |
$this->logLn('- ' . $binary . ': (version: ' . $version .')');
|
3 |
namespace WebPConvert\Convert\Converters;
|
4 |
|
5 |
use WebPConvert\Convert\Converters\AbstractConverter;
|
6 |
+
use WebPConvert\Convert\Converters\BaseTraits\WarningLoggerTrait;
|
7 |
use WebPConvert\Convert\Converters\ConverterTraits\EncodingAutoTrait;
|
8 |
use WebPConvert\Convert\Converters\ConverterTraits\ExecTrait;
|
9 |
use WebPConvert\Convert\Exceptions\ConversionFailed\ConverterNotOperational\SystemRequirementsNotMetException;
|
10 |
use WebPConvert\Convert\Exceptions\ConversionFailedException;
|
11 |
use WebPConvert\Convert\Exceptions\ConversionFailed\ConverterNotOperationalException;
|
12 |
+
use WebPConvert\Helpers\BinaryDiscovery;
|
13 |
use WebPConvert\Options\BooleanOption;
|
14 |
use WebPConvert\Options\SensitiveStringOption;
|
15 |
use WebPConvert\Options\StringOption;
|
41 |
new SensitiveStringOption('rel-path-to-precompiled-binaries', './Binaries'),
|
42 |
new BooleanOption('try-cwebp', true),
|
43 |
new BooleanOption('try-common-system-paths', true),
|
44 |
+
new BooleanOption('try-discovering-cwebp', true),
|
45 |
new BooleanOption('try-supplied-binary-for-os', true)
|
46 |
);
|
47 |
}
|
48 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
49 |
// OS-specific binaries included in this library, along with hashes
|
50 |
// If other binaries are going to be added, notice that the first argument is what PHP_OS returns.
|
51 |
// (possible values, see here: https://stackoverflow.com/questions/738823/possible-values-for-php-os)
|
52 |
// Got the precompiled binaries here: https://developers.google.com/speed/webp/docs/precompiled
|
53 |
+
// Note when changing binaries:
|
54 |
+
// 1: Do NOT use "." in filename. It causes unzipping to fail on some hosts
|
55 |
+
// 2: Set permission to 775. 755 causes unzipping to fail on some hosts
|
56 |
private static $suppliedBinariesInfo = [
|
57 |
'WINNT' => [
|
58 |
+
['cwebp-103-windows-x64.exe', 'b3aaab03ca587e887f11f6ae612293d034ee04f4f7f6bc7a175321bb47a10169'],
|
59 |
],
|
60 |
'Darwin' => [
|
61 |
+
['cwebp-103-mac-10_14', '7332ed5f0d4091e2379b1eaa32a764f8c0d51b7926996a1dc8b4ef4e3c441a12'],
|
62 |
],
|
63 |
'SunOS' => [
|
64 |
// Got this from ewww Wordpress plugin, which unfortunately still uses the old 0.6.0 versions
|
65 |
// Can you help me get a 1.0.3 version?
|
66 |
+
['cwebp-060-solaris', '1febaffbb18e52dc2c524cda9eefd00c6db95bc388732868999c0f48deb73b4f']
|
67 |
],
|
68 |
'FreeBSD' => [
|
69 |
// Got this from ewww Wordpress plugin, which unfortunately still uses the old 0.6.0 versions
|
70 |
// Can you help me get a 1.0.3 version?
|
71 |
+
['cwebp-060-fbsd', 'e5cbea11c97fadffe221fdf57c093c19af2737e4bbd2cb3cd5e908de64286573']
|
72 |
],
|
73 |
'Linux' => [
|
74 |
// Dynamically linked executable.
|
75 |
// It seems it is slightly faster than the statically linked
|
76 |
+
['cwebp-103-linux-x86-64', 'a663215a46d347f63e1ca641c18527a1ae7a2c9a0ae85ca966a97477ea13dfe0'],
|
77 |
|
78 |
// Statically linked executable
|
79 |
// It may be that it on some systems works, where the dynamically linked does not (see #196)
|
80 |
+
['cwebp-103-linux-x86-64-static', 'ab96f01b49336da8b976c498528080ff614112d5985da69943b48e0cb1c5228a'],
|
81 |
|
82 |
// Old executable for systems in case both of the above fails
|
83 |
+
['cwebp-061-linux-x86-64', '916623e5e9183237c851374d969aebdb96e0edc0692ab7937b95ea67dc3b2568'],
|
84 |
]
|
85 |
];
|
86 |
|
105 |
$this->checkOperationalityExecTrait();
|
106 |
|
107 |
$options = $this->options;
|
108 |
+
if (!$options['try-supplied-binary-for-os'] &&
|
109 |
+
!$options['try-common-system-paths'] &&
|
110 |
+
!$options['try-cwebp'] &&
|
111 |
+
!$options['try-discovering-cwebp']
|
112 |
+
) {
|
113 |
throw new ConverterNotOperationalException(
|
114 |
'Configured to neither try pure cwebp command, ' .
|
115 |
'nor look for cweb binaries in common system locations and ' .
|
396 |
}
|
397 |
$result[] = $binaryFile;
|
398 |
}
|
|
|
399 |
return $result;
|
400 |
}
|
401 |
|
468 |
return ['detected' => $binariesWithVersions, 'failed' => $binariesWithFailCodes];
|
469 |
}
|
470 |
|
471 |
+
private function logBinariesFound($binaries)
|
472 |
+
{
|
473 |
+
if (count($binaries) == 0) {
|
474 |
+
$this->logLn('Found 0 binaries');
|
475 |
+
} else {
|
476 |
+
$this->logLn('Found ' . count($binaries) . ' binaries: ');
|
477 |
+
foreach ($binaries as $binary) {
|
478 |
+
$this->logLn('- ' . $binary);
|
479 |
+
}
|
480 |
+
}
|
481 |
+
}
|
482 |
+
|
483 |
+
private function logDiscoverAction($optionName, $description)
|
484 |
+
{
|
485 |
+
if ($this->options[$optionName]) {
|
486 |
+
$this->logLn(
|
487 |
+
'Discovering binaries ' . $description . ' ' .
|
488 |
+
'(to skip this step, disable the "' . $optionName . '" option)'
|
489 |
+
);
|
490 |
+
} else {
|
491 |
+
$this->logLn(
|
492 |
+
'Skipped discovering binaries ' . $description . ' ' .
|
493 |
+
'(enable "' . $optionName . '" if you do not want to skip that step)'
|
494 |
+
);
|
495 |
+
}
|
496 |
+
}
|
497 |
+
|
498 |
+
private function discoverCwebpBinaries()
|
499 |
{
|
500 |
+
$this->logLn(
|
501 |
+
'Looking for cwebp binaries.'
|
502 |
+
);
|
503 |
+
$binaries = [];
|
504 |
|
505 |
if (defined('WEBPCONVERT_CWEBP_PATH')) {
|
506 |
$this->logLn('WEBPCONVERT_CWEBP_PATH was defined, so using that path and ignoring any other');
|
507 |
+
return [constant('WEBPCONVERT_CWEBP_PATH')];
|
508 |
}
|
509 |
if (!empty(getenv('WEBPCONVERT_CWEBP_PATH'))) {
|
510 |
$this->logLn(
|
511 |
'WEBPCONVERT_CWEBP_PATH environment variable was set, so using that path and ignoring any other'
|
512 |
);
|
513 |
+
return [getenv('WEBPCONVERT_CWEBP_PATH')];
|
514 |
}
|
515 |
|
|
|
516 |
if ($this->options['try-cwebp']) {
|
517 |
$this->logLn(
|
518 |
+
'Discovering if a plain cwebp call works (to skip this step, disable the "try-cwebp" option)'
|
519 |
);
|
520 |
+
$result = $this->detectVersion('cwebp');
|
521 |
+
if (gettype($result) == 'string') {
|
522 |
+
$this->logLn('We could get the version, so yes, a plain cwebp call works');
|
523 |
+
$binaries[] = 'cwebp';
|
524 |
+
} else {
|
525 |
+
$this->logLn('Nope a plain cwebp call does not work');
|
526 |
+
}
|
527 |
+
} else {
|
528 |
$this->logLn(
|
529 |
+
'Skipped discovering if a plain cwebp call works' .
|
530 |
+
' (enable the "try-cwebp" option if you do not want to skip that step)'
|
531 |
);
|
|
|
532 |
}
|
533 |
+
|
534 |
+
// try-discovering-cwebp
|
535 |
+
$this->logDiscoverAction('try-discovering-cwebp', 'using "which -a cwebp" command.');
|
536 |
+
if ($this->options['try-discovering-cwebp']) {
|
537 |
+
$moreBinaries = BinaryDiscovery::discoverInstalledBinaries('cwebp');
|
538 |
+
$this->logBinariesFound($moreBinaries);
|
539 |
+
$binaries = array_merge($binaries, $moreBinaries);
|
540 |
+
}
|
541 |
+
|
542 |
+
// 'try-common-system-paths'
|
543 |
+
$this->logDiscoverAction('try-common-system-paths', 'by peeking in common system paths');
|
544 |
+
if ($this->options['try-common-system-paths']) {
|
545 |
+
$moreBinaries = BinaryDiscovery::discoverInCommonSystemPaths('cwebp');
|
546 |
+
$this->logBinariesFound($moreBinaries);
|
547 |
+
$binaries = array_merge($binaries, $moreBinaries);
|
548 |
+
}
|
549 |
+
|
550 |
+
// try-supplied-binary-for-os
|
551 |
+
$this->logDiscoverAction('try-supplied-binary-for-os', 'which are distributed with the webp-convert library');
|
552 |
if ($this->options['try-supplied-binary-for-os']) {
|
553 |
+
$moreBinaries = $this->getSuppliedBinaryPathForOS();
|
554 |
+
$this->logBinariesFound($moreBinaries);
|
555 |
+
$binaries = array_merge($binaries, $moreBinaries);
|
|
|
556 |
}
|
557 |
+
|
558 |
+
return array_values(array_unique($binaries));
|
559 |
}
|
560 |
|
561 |
/**
|
594 |
/**
|
595 |
* Helper for composing an error message when no converters are working.
|
596 |
*
|
597 |
+
* @param array $versions The array which we get from calling ::detectVersions($binaries)
|
598 |
* @return string An informative and to the point error message.
|
599 |
*/
|
600 |
private function composeMeaningfullErrorMessageNoVersionsWorking($versions)
|
635 |
|
636 |
protected function doActualConvert()
|
637 |
{
|
638 |
+
$binaries = $this->discoverCwebpBinaries();
|
639 |
+
if (count($binaries) == 0) {
|
640 |
+
$this->logLn('No cwebp binaries found!');
|
641 |
+
|
642 |
+
$discoverOptions = [
|
643 |
+
'try-supplied-binary-for-os',
|
644 |
+
'try-common-system-paths',
|
645 |
+
'try-cwebp',
|
646 |
+
'try-discovering-cwebp'
|
647 |
+
];
|
648 |
+
$disabledDiscoverOptions = [];
|
649 |
+
foreach ($discoverOptions as $discoverOption) {
|
650 |
+
if (!$this->options[$discoverOption]) {
|
651 |
+
$disabledDiscoverOptions[] = $discoverOption;
|
652 |
+
}
|
653 |
+
}
|
654 |
+
if (count($disabledDiscoverOptions) == 0) {
|
655 |
+
throw new SystemRequirementsNotMetException(
|
656 |
+
'No cwebp binaries found.'
|
657 |
+
);
|
658 |
+
} else {
|
659 |
+
throw new SystemRequirementsNotMetException(
|
660 |
+
'No cwebp binaries found. Try enabling the "' .
|
661 |
+
implode('" option or the "', $disabledDiscoverOptions) . '" option.'
|
662 |
+
);
|
663 |
+
}
|
664 |
+
}
|
665 |
+
$this->logLn(
|
666 |
+
'Detecting versions of the cwebp binaries found'
|
667 |
+
);
|
668 |
+
$versions = $this->detectVersions($binaries);
|
669 |
+
|
670 |
$binaryVersions = $versions['detected'];
|
671 |
if (count($binaryVersions) == 0) {
|
672 |
// No working cwebp binaries found.
|
679 |
// Sort binaries so those with highest numbers comes first
|
680 |
arsort($binaryVersions);
|
681 |
$this->logLn(
|
682 |
+
'Binaries ordered by version number.'
|
683 |
);
|
684 |
foreach ($binaryVersions as $binary => $version) {
|
685 |
$this->logLn('- ' . $binary . ': (version: ' . $version .')');
|
vendor/rosell-dk/webp-convert/src/Helpers/BinaryDiscovery.php
ADDED
@@ -0,0 +1,107 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace WebPConvert\Helpers;
|
4 |
+
|
5 |
+
use WebPConvert\Helpers\FileExists;
|
6 |
+
|
7 |
+
/**
|
8 |
+
* Discover multiple paths of a binary
|
9 |
+
*
|
10 |
+
* @package WebPConvert
|
11 |
+
* @author Bjørn Rosell <it@rosell.dk>
|
12 |
+
* @since Class available since Release 2.3.0
|
13 |
+
*/
|
14 |
+
class BinaryDiscovery
|
15 |
+
{
|
16 |
+
|
17 |
+
// Common system paths
|
18 |
+
private static $commonSystemPaths = [
|
19 |
+
'/usr/bin',
|
20 |
+
'/usr/local/bin',
|
21 |
+
'/usr/gnu/bin',
|
22 |
+
'/usr/syno/bin'
|
23 |
+
];
|
24 |
+
|
25 |
+
/**
|
26 |
+
* Discover binaries by looking in common system paths.
|
27 |
+
*
|
28 |
+
* We try a small set of common system paths, such as "/usr/bin".
|
29 |
+
*
|
30 |
+
* @param string $binary the binary to look for (ie "cwebp")
|
31 |
+
*
|
32 |
+
* @return array binaries found in common system locations
|
33 |
+
*/
|
34 |
+
public static function discoverInCommonSystemPaths($binary)
|
35 |
+
{
|
36 |
+
$binaries = [];
|
37 |
+
foreach (self::$commonSystemPaths as $dir) {
|
38 |
+
// PS: FileExists might throw if exec() is unavailable. We let it.
|
39 |
+
// - this class assumes exec is available
|
40 |
+
if (FileExists::fileExistsTryHarder($dir . '/' . $binary)) {
|
41 |
+
$binaries[] = $dir . '/' . $binary;
|
42 |
+
}
|
43 |
+
}
|
44 |
+
return $binaries;
|
45 |
+
}
|
46 |
+
|
47 |
+
/**
|
48 |
+
* Discover installed binaries using ie "whereis -b cwebp"
|
49 |
+
*
|
50 |
+
* @return array Array of cwebp paths discovered (possibly empty)
|
51 |
+
*/
|
52 |
+
private static function discoverBinariesUsingWhereIs($binary)
|
53 |
+
{
|
54 |
+
// This method was added due to #226.
|
55 |
+
exec('whereis -b ' . $binary, $output, $returnCode);
|
56 |
+
if (($returnCode == 0) && (isset($output[0]))) {
|
57 |
+
$result = $output[0];
|
58 |
+
// Ie: "cwebp: /usr/bin/cwebp /usr/local/bin/cwebp"
|
59 |
+
if (preg_match('#^' . $binary . ':\s(.*)$#', $result, $matches)) {
|
60 |
+
return explode(' ', $matches[1]);
|
61 |
+
}
|
62 |
+
}
|
63 |
+
return [];
|
64 |
+
}
|
65 |
+
|
66 |
+
/**
|
67 |
+
* Discover installed binaries using "which -a cwebp"
|
68 |
+
*
|
69 |
+
* @param string $binary the binary to look for (ie "cwebp")
|
70 |
+
*
|
71 |
+
* @return array Array of paths discovered (possibly empty)
|
72 |
+
*/
|
73 |
+
private static function discoverBinariesUsingWhich($binary)
|
74 |
+
{
|
75 |
+
// As suggested by @cantoute here:
|
76 |
+
// https://wordpress.org/support/topic/sh-1-usr-local-bin-cwebp-not-found/
|
77 |
+
exec('which -a ' . $binary, $output, $returnCode);
|
78 |
+
if ($returnCode == 0) {
|
79 |
+
return $output;
|
80 |
+
}
|
81 |
+
return [];
|
82 |
+
}
|
83 |
+
|
84 |
+
/**
|
85 |
+
* Discover binaries using "which -a" or, if that fails "whereis -b"
|
86 |
+
*
|
87 |
+
* These commands only searces within $PATH. So it only finds installed binaries (which is good,
|
88 |
+
* as it would be unsafe to deal with binaries found scattered around)
|
89 |
+
*
|
90 |
+
* @param string $binary the binary to look for (ie "cwebp")
|
91 |
+
*
|
92 |
+
* @return array binaries found in common system locations
|
93 |
+
*/
|
94 |
+
public static function discoverInstalledBinaries($binary)
|
95 |
+
{
|
96 |
+
$paths = self::discoverBinariesUsingWhich($binary);
|
97 |
+
if (count($paths) > 0) {
|
98 |
+
return $paths;
|
99 |
+
}
|
100 |
+
|
101 |
+
$paths = self::discoverBinariesUsingWhereIs($binary);
|
102 |
+
if (count($paths) > 0) {
|
103 |
+
return $paths;
|
104 |
+
}
|
105 |
+
return [];
|
106 |
+
}
|
107 |
+
}
|
vendor/rosell-dk/webp-convert/src/Helpers/FileExists.php
ADDED
@@ -0,0 +1,118 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace WebPConvert\Helpers;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* A fileExist function free of deception
|
7 |
+
*
|
8 |
+
* @package WebPConvert
|
9 |
+
* @author Bjørn Rosell <it@rosell.dk>
|
10 |
+
* @since Class available since Release 2.3.0
|
11 |
+
*/
|
12 |
+
class FileExists
|
13 |
+
{
|
14 |
+
|
15 |
+
private static $lastWarning;
|
16 |
+
|
17 |
+
/**
|
18 |
+
* A warning handler that registers that a warning has occured and suppresses it.
|
19 |
+
*
|
20 |
+
* The function is a callback used with "set_error_handler".
|
21 |
+
* It is declared public because it needs to be accessible from the point where the warning is triggered.
|
22 |
+
*
|
23 |
+
* @param integer $errno
|
24 |
+
* @param string $errstr
|
25 |
+
* @param string $errfile
|
26 |
+
* @param integer $errline
|
27 |
+
*
|
28 |
+
* @return void
|
29 |
+
*/
|
30 |
+
public static function warningHandler($errno, $errstr, $errfile, $errline)
|
31 |
+
{
|
32 |
+
self::$lastWarning = [$errstr, $errno];
|
33 |
+
|
34 |
+
// Suppress the warning by returning void
|
35 |
+
return;
|
36 |
+
}
|
37 |
+
|
38 |
+
/**
|
39 |
+
* A well behaved replacement for file_exist that throws upon failure rather than emmitting a warning.
|
40 |
+
*
|
41 |
+
* @throws \Exception If file_exists threw a warning
|
42 |
+
* @return boolean|null True if file exists. False if it doesn't.
|
43 |
+
*/
|
44 |
+
public static function honestFileExists($path)
|
45 |
+
{
|
46 |
+
// There is a challenges here:
|
47 |
+
// We want to suppress warnings, but at the same time we want to know that it happened.
|
48 |
+
// We achieve this by registering an error handler
|
49 |
+
set_error_handler(
|
50 |
+
array('WebPConvert\Helpers\FileExists', "warningHandler"),
|
51 |
+
E_WARNING | E_USER_WARNING | E_NOTICE | E_USER_NOTICE
|
52 |
+
);
|
53 |
+
self::$lastWarning = null;
|
54 |
+
$found = @file_exists($path);
|
55 |
+
|
56 |
+
// restore previous error handler immediately
|
57 |
+
restore_error_handler();
|
58 |
+
|
59 |
+
// If file_exists returns true, we can rely on there being a file there
|
60 |
+
if ($found) {
|
61 |
+
return true;
|
62 |
+
}
|
63 |
+
|
64 |
+
// file_exists returned false.
|
65 |
+
// this result is only trustworthy if no warning was emitted.
|
66 |
+
if (is_null(self::$lastWarning)) {
|
67 |
+
return false;
|
68 |
+
}
|
69 |
+
|
70 |
+
list($errstr, $errno) = self::$lastWarning;
|
71 |
+
throw new \Exception($errstr, $errno);
|
72 |
+
}
|
73 |
+
|
74 |
+
/**
|
75 |
+
* A fileExist based on an exec call.
|
76 |
+
*
|
77 |
+
* @throws \Exception If exec cannot be called
|
78 |
+
* @return boolean|null True if file exists. False if it doesn't.
|
79 |
+
*/
|
80 |
+
public static function fileExistsUsingExec($path)
|
81 |
+
{
|
82 |
+
if (!function_exists('exec')) {
|
83 |
+
throw new \Exception(
|
84 |
+
'cannot determine if file exists using exec() - the function is unavailable'
|
85 |
+
);
|
86 |
+
}
|
87 |
+
|
88 |
+
// Lets try to find out by executing "ls path/to/cwebp"
|
89 |
+
exec('ls ' . $path, $output, $returnCode);
|
90 |
+
if (($returnCode == 0) && (isset($output[0]))) {
|
91 |
+
return true;
|
92 |
+
}
|
93 |
+
|
94 |
+
// We assume that "ls" command is general available!
|
95 |
+
// As that failed, we can conclude the file does not exist.
|
96 |
+
return false;
|
97 |
+
}
|
98 |
+
|
99 |
+
/**
|
100 |
+
* A fileExist doing the best it can.
|
101 |
+
*
|
102 |
+
* @throws \Exception If it cannot be determined if the file exists
|
103 |
+
* @return boolean|null True if file exists. False if it doesn't.
|
104 |
+
*/
|
105 |
+
public static function fileExistsTryHarder($path)
|
106 |
+
{
|
107 |
+
try {
|
108 |
+
$result = self::honestFileExists($path);
|
109 |
+
} catch (\Exception $e) {
|
110 |
+
try {
|
111 |
+
$result = self::fileExistsUsingExec($path);
|
112 |
+
} catch (\Exception $e) {
|
113 |
+
throw new \Exception('Cannot determine if file exists or not');
|
114 |
+
}
|
115 |
+
}
|
116 |
+
return $result;
|
117 |
+
}
|
118 |
+
}
|
vendor/rosell-dk/webp-convert/src/Helpers/MimeType.php
CHANGED
@@ -34,7 +34,7 @@ class MimeType
|
|
34 |
if (isset(self::$cachedDetections[$absFilePath])) {
|
35 |
return self::$cachedDetections[$absFilePath];
|
36 |
}
|
37 |
-
|
38 |
-
return
|
39 |
}
|
40 |
}
|
34 |
if (isset(self::$cachedDetections[$absFilePath])) {
|
35 |
return self::$cachedDetections[$absFilePath];
|
36 |
}
|
37 |
+
self::$cachedDetections[$absFilePath] = ImageMimeTypeGuesser::lenientGuess($absFilePath);
|
38 |
+
return self::$cachedDetections[$absFilePath];
|
39 |
}
|
40 |
}
|
vendor/rosell-dk/webp-convert/src/Serve/ServeConvertedWebP.php
CHANGED
@@ -50,7 +50,6 @@ class ServeConvertedWebP
|
|
50 |
new BooleanOption('show-report', false),
|
51 |
new BooleanOption('suppress-warnings', true),
|
52 |
new BooleanOption('redirect-to-self-instead-of-serving', false),
|
53 |
-
//new BooleanOption('redirect-to-self-instead-of-serving-destination', false),
|
54 |
new ArrayOption('serve-image', []),
|
55 |
new SensitiveArrayOption('convert', [])
|
56 |
);
|
@@ -183,8 +182,12 @@ class ServeConvertedWebP
|
|
183 |
}
|
184 |
|
185 |
if ($options['redirect-to-self-instead-of-serving']) {
|
186 |
-
Header::addLogHeader(
|
187 |
-
|
|
|
|
|
|
|
|
|
188 |
return;
|
189 |
}
|
190 |
|
@@ -197,14 +200,7 @@ class ServeConvertedWebP
|
|
197 |
self::serveOriginal($source, $options['serve-image']);
|
198 |
}
|
199 |
|
200 |
-
|
201 |
-
|
202 |
-
header('Location: ?fresh' , 302);
|
203 |
-
} else {*/
|
204 |
-
Header::addLogHeader('Serving converted file', $serveLogger);
|
205 |
-
self::serveDestination($destination, $options['serve-image']);
|
206 |
-
//}
|
207 |
-
|
208 |
-
|
209 |
}
|
210 |
}
|
50 |
new BooleanOption('show-report', false),
|
51 |
new BooleanOption('suppress-warnings', true),
|
52 |
new BooleanOption('redirect-to-self-instead-of-serving', false),
|
|
|
53 |
new ArrayOption('serve-image', []),
|
54 |
new SensitiveArrayOption('convert', [])
|
55 |
);
|
182 |
}
|
183 |
|
184 |
if ($options['redirect-to-self-instead-of-serving']) {
|
185 |
+
Header::addLogHeader(
|
186 |
+
'Redirecting to self! ' .
|
187 |
+
'(hope you got redirection to existing webps set up, otherwise you will get a loop!)',
|
188 |
+
$serveLogger
|
189 |
+
);
|
190 |
+
header('Location: ?fresh', 302);
|
191 |
return;
|
192 |
}
|
193 |
|
200 |
self::serveOriginal($source, $options['serve-image']);
|
201 |
}
|
202 |
|
203 |
+
Header::addLogHeader('Serving converted file', $serveLogger);
|
204 |
+
self::serveDestination($destination, $options['serve-image']);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
205 |
}
|
206 |
}
|
webp-express.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* Plugin Name: WebP Express
|
4 |
* Plugin URI: https://github.com/rosell-dk/webp-express
|
5 |
* Description: Serve autogenerated WebP images instead of jpeg/png to browsers that supports WebP. Works on anything (media library images, galleries, theme images etc).
|
6 |
-
* Version: 0.17.
|
7 |
* Author: Bjørn Rosell
|
8 |
* Author URI: https://www.bitwise-it.dk
|
9 |
* License: GPL2
|
3 |
* Plugin Name: WebP Express
|
4 |
* Plugin URI: https://github.com/rosell-dk/webp-express
|
5 |
* Description: Serve autogenerated WebP images instead of jpeg/png to browsers that supports WebP. Works on anything (media library images, galleries, theme images etc).
|
6 |
+
* Version: 0.17.2
|
7 |
* Author: Bjørn Rosell
|
8 |
* Author URI: https://www.bitwise-it.dk
|
9 |
* License: GPL2
|