Changeset 3428116
- Timestamp:
- 12/27/2025 08:38:15 AM (7 weeks ago)
- Location:
- image-converter-webp
- Files:
-
- 255 added
- 12 edited
-
tags/1.4.0 (added)
-
tags/1.4.0/LICENSE (added)
-
tags/1.4.0/composer.json (added)
-
tags/1.4.0/image-converter-webp.php (added)
-
tags/1.4.0/inc (added)
-
tags/1.4.0/inc/Abstracts (added)
-
tags/1.4.0/inc/Abstracts/Service.php (added)
-
tags/1.4.0/inc/Admin (added)
-
tags/1.4.0/inc/Admin/Form.php (added)
-
tags/1.4.0/inc/Admin/Options.php (added)
-
tags/1.4.0/inc/Core (added)
-
tags/1.4.0/inc/Core/Container.php (added)
-
tags/1.4.0/inc/Core/Converter.php (added)
-
tags/1.4.0/inc/Helpers (added)
-
tags/1.4.0/inc/Helpers/functions.php (added)
-
tags/1.4.0/inc/Interfaces (added)
-
tags/1.4.0/inc/Interfaces/Kernel.php (added)
-
tags/1.4.0/inc/Plugin.php (added)
-
tags/1.4.0/inc/Services (added)
-
tags/1.4.0/inc/Services/Admin.php (added)
-
tags/1.4.0/inc/Services/Boot.php (added)
-
tags/1.4.0/inc/Services/Logger.php (added)
-
tags/1.4.0/inc/Services/Main.php (added)
-
tags/1.4.0/inc/Services/MetaData.php (added)
-
tags/1.4.0/inc/Services/PageLoad.php (added)
-
tags/1.4.0/languages (added)
-
tags/1.4.0/languages/image-converter-webp-ar.mo (added)
-
tags/1.4.0/languages/image-converter-webp-ar.po (added)
-
tags/1.4.0/languages/image-converter-webp-de_DE.mo (added)
-
tags/1.4.0/languages/image-converter-webp-de_DE.po (added)
-
tags/1.4.0/languages/image-converter-webp-es_ES.mo (added)
-
tags/1.4.0/languages/image-converter-webp-es_ES.po (added)
-
tags/1.4.0/languages/image-converter-webp-fr_FR.mo (added)
-
tags/1.4.0/languages/image-converter-webp-fr_FR.po (added)
-
tags/1.4.0/languages/image-converter-webp-he_IL.mo (added)
-
tags/1.4.0/languages/image-converter-webp-he_IL.po (added)
-
tags/1.4.0/languages/image-converter-webp-hi_IN.mo (added)
-
tags/1.4.0/languages/image-converter-webp-hi_IN.po (added)
-
tags/1.4.0/languages/image-converter-webp-hr.mo (added)
-
tags/1.4.0/languages/image-converter-webp-hr.po (added)
-
tags/1.4.0/languages/image-converter-webp-it_IT.mo (added)
-
tags/1.4.0/languages/image-converter-webp-it_IT.po (added)
-
tags/1.4.0/languages/image-converter-webp-ru_RU.mo (added)
-
tags/1.4.0/languages/image-converter-webp-ru_RU.po (added)
-
tags/1.4.0/languages/image-converter-webp-zh_CN.mo (added)
-
tags/1.4.0/languages/image-converter-webp-zh_CN.po (added)
-
tags/1.4.0/languages/image-converter-webp.pot (added)
-
tags/1.4.0/readme.txt (added)
-
tags/1.4.0/styles.css (added)
-
tags/1.4.0/vendor (added)
-
tags/1.4.0/vendor/autoload.php (added)
-
tags/1.4.0/vendor/composer (added)
-
tags/1.4.0/vendor/composer/ClassLoader.php (added)
-
tags/1.4.0/vendor/composer/InstalledVersions.php (added)
-
tags/1.4.0/vendor/composer/LICENSE (added)
-
tags/1.4.0/vendor/composer/autoload_classmap.php (added)
-
tags/1.4.0/vendor/composer/autoload_namespaces.php (added)
-
tags/1.4.0/vendor/composer/autoload_psr4.php (added)
-
tags/1.4.0/vendor/composer/autoload_real.php (added)
-
tags/1.4.0/vendor/composer/autoload_static.php (added)
-
tags/1.4.0/vendor/composer/installed.json (added)
-
tags/1.4.0/vendor/composer/installed.php (added)
-
tags/1.4.0/vendor/composer/platform_check.php (added)
-
tags/1.4.0/vendor/rosell-dk (added)
-
tags/1.4.0/vendor/rosell-dk/exec-with-fallback (added)
-
tags/1.4.0/vendor/rosell-dk/exec-with-fallback/LICENSE (added)
-
tags/1.4.0/vendor/rosell-dk/exec-with-fallback/README.md (added)
-
tags/1.4.0/vendor/rosell-dk/exec-with-fallback/composer.json (added)
-
tags/1.4.0/vendor/rosell-dk/exec-with-fallback/src (added)
-
tags/1.4.0/vendor/rosell-dk/exec-with-fallback/src/Availability.php (added)
-
tags/1.4.0/vendor/rosell-dk/exec-with-fallback/src/ExecWithFallback.php (added)
-
tags/1.4.0/vendor/rosell-dk/exec-with-fallback/src/ExecWithFallbackNoMercy.php (added)
-
tags/1.4.0/vendor/rosell-dk/exec-with-fallback/src/POpen.php (added)
-
tags/1.4.0/vendor/rosell-dk/exec-with-fallback/src/Passthru.php (added)
-
tags/1.4.0/vendor/rosell-dk/exec-with-fallback/src/ProcOpen.php (added)
-
tags/1.4.0/vendor/rosell-dk/exec-with-fallback/src/ShellExec.php (added)
-
tags/1.4.0/vendor/rosell-dk/exec-with-fallback/test.php (added)
-
tags/1.4.0/vendor/rosell-dk/file-util (added)
-
tags/1.4.0/vendor/rosell-dk/file-util/LICENSE (added)
-
tags/1.4.0/vendor/rosell-dk/file-util/README.md (added)
-
tags/1.4.0/vendor/rosell-dk/file-util/composer.json (added)
-
tags/1.4.0/vendor/rosell-dk/file-util/phpcs-ruleset.xml (added)
-
tags/1.4.0/vendor/rosell-dk/file-util/src (added)
-
tags/1.4.0/vendor/rosell-dk/file-util/src/FileExists.php (added)
-
tags/1.4.0/vendor/rosell-dk/file-util/src/FileExistsUsingExec.php (added)
-
tags/1.4.0/vendor/rosell-dk/file-util/src/PathValidator.php (added)
-
tags/1.4.0/vendor/rosell-dk/image-mime-type-guesser (added)
-
tags/1.4.0/vendor/rosell-dk/image-mime-type-guesser/LICENSE (added)
-
tags/1.4.0/vendor/rosell-dk/image-mime-type-guesser/README.md (added)
-
tags/1.4.0/vendor/rosell-dk/image-mime-type-guesser/composer.json (added)
-
tags/1.4.0/vendor/rosell-dk/image-mime-type-guesser/phpcs-ruleset.xml (added)
-
tags/1.4.0/vendor/rosell-dk/image-mime-type-guesser/src (added)
-
tags/1.4.0/vendor/rosell-dk/image-mime-type-guesser/src/Detectors (added)
-
tags/1.4.0/vendor/rosell-dk/image-mime-type-guesser/src/Detectors/AbstractDetector.php (added)
-
tags/1.4.0/vendor/rosell-dk/image-mime-type-guesser/src/Detectors/ExifImageType.php (added)
-
tags/1.4.0/vendor/rosell-dk/image-mime-type-guesser/src/Detectors/FInfo.php (added)
-
tags/1.4.0/vendor/rosell-dk/image-mime-type-guesser/src/Detectors/GetImageSize.php (added)
-
tags/1.4.0/vendor/rosell-dk/image-mime-type-guesser/src/Detectors/MimeContentType.php (added)
-
tags/1.4.0/vendor/rosell-dk/image-mime-type-guesser/src/Detectors/SignatureSniffer.php (added)
-
tags/1.4.0/vendor/rosell-dk/image-mime-type-guesser/src/Detectors/Stack.php (added)
-
tags/1.4.0/vendor/rosell-dk/image-mime-type-guesser/src/GuessFromExtension.php (added)
-
tags/1.4.0/vendor/rosell-dk/image-mime-type-guesser/src/ImageMimeTypeGuesser.php (added)
-
tags/1.4.0/vendor/rosell-dk/image-mime-type-guesser/src/MimeMap.php (added)
-
tags/1.4.0/vendor/rosell-dk/image-mime-type-sniffer (added)
-
tags/1.4.0/vendor/rosell-dk/image-mime-type-sniffer/LICENSE (added)
-
tags/1.4.0/vendor/rosell-dk/image-mime-type-sniffer/README.md (added)
-
tags/1.4.0/vendor/rosell-dk/image-mime-type-sniffer/composer.json (added)
-
tags/1.4.0/vendor/rosell-dk/image-mime-type-sniffer/phpcs-ruleset.xml (added)
-
tags/1.4.0/vendor/rosell-dk/image-mime-type-sniffer/src (added)
-
tags/1.4.0/vendor/rosell-dk/image-mime-type-sniffer/src/ImageMimeTypeSniffer.php (added)
-
tags/1.4.0/vendor/rosell-dk/locate-binaries (added)
-
tags/1.4.0/vendor/rosell-dk/locate-binaries/LICENSE (added)
-
tags/1.4.0/vendor/rosell-dk/locate-binaries/README.md (added)
-
tags/1.4.0/vendor/rosell-dk/locate-binaries/composer.json (added)
-
tags/1.4.0/vendor/rosell-dk/locate-binaries/phpcs-ruleset.xml (added)
-
tags/1.4.0/vendor/rosell-dk/locate-binaries/src (added)
-
tags/1.4.0/vendor/rosell-dk/locate-binaries/src/LocateBinaries.php (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/BACKERS.md (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/LICENSE (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/README.md (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/composer-php56.json (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/composer-php72.json (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/composer.json (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/docs (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/docs/development.md (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/docs/v1.3 (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/docs/v1.3/converting (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/docs/v1.3/converting/convert-options.md (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/docs/v1.3/converting/convert.md (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/docs/v1.3/converting/converters.md (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/docs/v1.3/serving (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/docs/v1.3/serving/convert-and-serve.md (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/docs/v1.3/webp-on-demand (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/docs/v1.3/webp-on-demand/tweaks.md (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/docs/v1.3/webp-on-demand/webp-on-demand.md (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/docs/v1.3/webp-on-demand/without-composer.md (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/docs/v2.0 (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/docs/v2.0/converting (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/docs/v2.0/converting/architecture-q50-w600.jpg (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/docs/v2.0/converting/converters (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/docs/v2.0/converting/converters/stack.md (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/docs/v2.0/converting/dice.png (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/docs/v2.0/converting/introduction-for-converting.md (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/docs/v2.0/converting/mouse-q100.jpg (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/docs/v2.0/converting/options.md (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/docs/v2.0/installing-converters (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/docs/v2.0/installing-converters/cwebp.md (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/docs/v2.0/installing-converters/ffmpeg.md (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/docs/v2.0/installing-converters/gd.md (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/docs/v2.0/installing-converters/gmagick-extension.md (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/docs/v2.0/installing-converters/imagick-extension.md (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/docs/v2.0/installing-converters/vips.md (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/docs/v2.0/migrating-to-2.0.md (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/docs/v2.0/serving (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/docs/v2.0/serving/introduction-for-serving.md (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/docs/v2.0/serving/laravel-nginx-serving.md (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/docs/v2.0/webp-on-demand (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/docs/v2.0/webp-on-demand/tweaks.md (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/docs/v2.0/webp-on-demand/webp-on-demand.md (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/docs/v2.0/webp-on-demand/without-composer.md (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/phpcs-ruleset.xml (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Convert (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Convert/ConverterFactory.php (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Convert/Converters (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Convert/Converters/AbstractConverter.php (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Convert/Converters/BaseTraits (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Convert/Converters/BaseTraits/AutoQualityTrait.php (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Convert/Converters/BaseTraits/DestinationPreparationTrait.php (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Convert/Converters/BaseTraits/LoggerTrait.php (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Convert/Converters/BaseTraits/OptionsTrait.php (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Convert/Converters/BaseTraits/WarningLoggerTrait.php (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Convert/Converters/ConverterTraits (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Convert/Converters/ConverterTraits/CloudConverterTrait.php (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Convert/Converters/ConverterTraits/CurlTrait.php (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Convert/Converters/ConverterTraits/EncodingAutoTrait.php (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Convert/Converters/ConverterTraits/ExecTrait.php (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Convert/Converters/Cwebp.php (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Convert/Converters/Ewww.php (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Convert/Converters/FFMpeg.php (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Convert/Converters/Gd.php (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Convert/Converters/Gmagick.php (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Convert/Converters/GmagickBinary.php (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Convert/Converters/GraphicsMagick.php (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Convert/Converters/ImageMagick.php (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Convert/Converters/Imagick.php (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Convert/Converters/ImagickBinary.php (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Convert/Converters/Stack.php (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Convert/Converters/Vips.php (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Convert/Converters/Wpc.php (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Convert/Exceptions (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Convert/Exceptions/ConversionFailed (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Convert/Exceptions/ConversionFailed/ConversionSkippedException.php (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Convert/Exceptions/ConversionFailed/ConverterNotOperational (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Convert/Exceptions/ConversionFailed/ConverterNotOperational/InvalidApiKeyException.php (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Convert/Exceptions/ConversionFailed/ConverterNotOperational/SystemRequirementsNotMetException.php (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Convert/Exceptions/ConversionFailed/ConverterNotOperationalException.php (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Convert/Exceptions/ConversionFailed/FileSystemProblems (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Convert/Exceptions/ConversionFailed/FileSystemProblems/CreateDestinationFileException.php (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Convert/Exceptions/ConversionFailed/FileSystemProblems/CreateDestinationFolderException.php (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Convert/Exceptions/ConversionFailed/FileSystemProblemsException.php (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Convert/Exceptions/ConversionFailed/InvalidInput (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Convert/Exceptions/ConversionFailed/InvalidInput/ConverterNotFoundException.php (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Convert/Exceptions/ConversionFailed/InvalidInput/InvalidImageTypeException.php (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Convert/Exceptions/ConversionFailed/InvalidInput/TargetNotFoundException.php (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Convert/Exceptions/ConversionFailed/InvalidInputException.php (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Convert/Exceptions/ConversionFailedException.php (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Convert/Helpers (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Convert/Helpers/JpegQualityDetector.php (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Convert/Helpers/PhpIniSizes.php (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Exceptions (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Exceptions/InvalidInput (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Exceptions/InvalidInput/InvalidImageTypeException.php (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Exceptions/InvalidInput/TargetNotFoundException.php (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Exceptions/InvalidInputException.php (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Exceptions/SanityException.txt (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Exceptions/WebPConvertException.php (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Helpers (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Helpers/InputValidator.php (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Helpers/MimeType.php (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Helpers/PathChecker.php (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Helpers/Sanitize.php (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Helpers/SanityCheck.txt (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Loggers (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Loggers/BaseLogger.php (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Loggers/BufferLogger.php (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Loggers/EchoLogger.php (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Options (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Options/ArrayOption.php (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Options/BooleanOption.php (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Options/Exceptions (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Options/Exceptions/InvalidOptionTypeException.php (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Options/Exceptions/InvalidOptionValueException.php (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Options/Exceptions/OptionNotFoundException.php (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Options/GhostOption.php (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Options/IntegerOption.php (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Options/IntegerOrNullOption.php (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Options/MetadataOption.php (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Options/Option.php (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Options/OptionFactory.php (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Options/Options.php (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Options/QualityOption.php (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Options/SensitiveArrayOption.php (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Options/SensitiveStringOption.php (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Options/StringOption.php (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Serve (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Serve/Exceptions (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Serve/Exceptions/ServeFailedException.php (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Serve/Header.php (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Serve/Report.php (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Serve/ServeConvertedWebP.php (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Serve/ServeConvertedWebPWithErrorHandling.php (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/Serve/ServeFile.php (added)
-
tags/1.4.0/vendor/rosell-dk/webp-convert/src/WebPConvert.php (added)
-
trunk/composer.json (modified) (1 diff)
-
trunk/image-converter-webp.php (modified) (1 diff)
-
trunk/inc/Core/Converter.php (modified) (4 diffs)
-
trunk/inc/Services/Admin.php (modified) (3 diffs)
-
trunk/inc/Services/Main.php (modified) (3 diffs)
-
trunk/inc/Services/PageLoad.php (modified) (4 diffs)
-
trunk/readme.txt (modified) (3 diffs)
-
trunk/vendor/autoload.php (modified) (1 diff)
-
trunk/vendor/composer/autoload_real.php (modified) (2 diffs)
-
trunk/vendor/composer/autoload_static.php (modified) (4 diffs)
-
trunk/vendor/composer/installed.php (modified) (2 diffs)
-
trunk/vendor/composer/platform_check.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
image-converter-webp/trunk/composer.json
r3115201 r3428116 29 29 "phpstan/phpstan": "^1.10", 30 30 "szepeviktor/phpstan-wordpress": "^1.3", 31 "phpstan/extension-installer": "^1.3" 31 "phpstan/extension-installer": "^1.3", 32 "badasswp/wp-mock-tc": "^1.0" 32 33 }, 33 34 "config": { -
image-converter-webp/trunk/image-converter-webp.php
r3315100 r3428116 4 4 * Plugin URI: https://github.com/badasswp/image-converter-webp 5 5 * Description: Convert your WordPress JPG/PNG images to WebP formats during runtime. 6 * Version: 1. 3.26 * Version: 1.4.0 7 7 * Author: badasswp 8 8 * Author URI: https://github.com/badasswp -
image-converter-webp/trunk/inc/Core/Converter.php
r3125280 r3428116 11 11 namespace ImageConverterWebP\Core; 12 12 13 use WP_Error; 13 14 use Exception; 14 15 use WebPConvert\WebPConvert; … … 90 91 // Bail out, if source is empty. 91 92 if ( ! file_exists( $this->abs_source ) ) { 92 return new \WP_Error(93 return new WP_Error( 93 94 'webp-img-error', 94 95 sprintf( … … 103 104 $filetype = wp_check_filetype( $this->abs_source ); 104 105 if ( false === strpos( (string) $filetype['type'], 'image/' ) ) { 105 return new \WP_Error(106 return new WP_Error( 106 107 'webp-img-error', 107 108 sprintf( … … 122 123 WebPConvert::convert( $this->abs_source, $this->abs_dest, $this->get_options() ); 123 124 } catch ( Exception $e ) { 124 $error_msg = sprintf( 125 /* translators: Exception error msg. */ 126 __( 'Fatal Error: %s', 'image-converter-webp' ), 127 $e->getMessage() 125 $webp = new WP_Error( 126 'webp-img-error', 127 sprintf( 128 /* translators: Exception error msg. */ 129 __( 'Fatal Error: %s', 'image-converter-webp' ), 130 $e->getMessage() 131 ) 128 132 ); 129 error_log( $error_msg );130 $webp = new \WP_Error( 'webp-img-error', $error_msg );131 133 } 132 134 -
image-converter-webp/trunk/inc/Services/Admin.php
r3195908 r3428116 42 42 */ 43 43 public function register_options_menu(): void { 44 add_submenu_page( 45 'upload.php', 44 add_menu_page( 46 45 Options::get_page_title(), 47 46 Options::get_page_title(), … … 49 48 Options::get_page_slug(), 50 49 [ $this, 'register_options_page' ], 50 'dashicons-format-image', 51 100 51 52 ); 52 53 } … … 137 138 138 139 // Bail out, if not plugin Admin page. 139 if ( ! is_object( $screen ) || ' media_page_image-converter-webp' !== $screen->id ) {140 if ( ! is_object( $screen ) || 'toplevel_page_image-converter-webp' !== $screen->id ) { 140 141 return; 141 142 } -
image-converter-webp/trunk/inc/Services/Main.php
r3222394 r3428116 81 81 $this->source = [ 82 82 'id' => (int) $attachment_id, 83 'url' => trailingslashit( $img_url_prefix ) . $img['file'],83 'url' => trailingslashit( $img_url_prefix ) . ( $img['file'] ?? '' ), 84 84 ]; 85 85 … … 143 143 // Get absolute path of metadata image. 144 144 $img_url_prefix = substr( $main_image, 0, (int) strrpos( $main_image, '/' ) ); 145 $metadata_image = trailingslashit( $img_url_prefix ) . $img['file']; 146 147 // Ensure image exists before proceeding. 148 if ( $metadata_image ) { 149 // Get WebP version of metadata image. 150 $metadata_extension = '.' . pathinfo( $metadata_image, PATHINFO_EXTENSION ); 151 $webp_metadata_image = str_replace( $metadata_extension, '.webp', $metadata_image ); 152 153 if ( file_exists( $webp_metadata_image ) ) { 154 unlink( $webp_metadata_image ); 155 156 /** 157 * Fires after WebP Metadata Image has been deleted. 158 * 159 * @since 1.0.2 160 * @since 1.1.1 Rename hook to use `icfw` prefix. 161 * 162 * @param string $webp_metadata_image Absolute path to WebP image. 163 * @param int $attachment_id Image ID. 164 * 165 * @return void 166 */ 167 do_action( 'icfw_metadata_delete', $webp_metadata_image, $attachment_id ); 168 } 145 $metadata_image = trailingslashit( $img_url_prefix ) . ( $img['file'] ?? '' ); 146 147 // Get WebP version of metadata image. 148 $metadata_extension = '.' . pathinfo( $metadata_image, PATHINFO_EXTENSION ); 149 $webp_metadata_image = str_replace( $metadata_extension, '.webp', $metadata_image ); 150 151 if ( file_exists( $webp_metadata_image ) ) { 152 unlink( $webp_metadata_image ); 153 154 /** 155 * Fires after WebP Metadata Image has been deleted. 156 * 157 * @since 1.0.2 158 * @since 1.1.1 Rename hook to use `icfw` prefix. 159 * 160 * @param string $webp_metadata_image Absolute path to WebP image. 161 * @param int $attachment_id Image ID. 162 * 163 * @return void 164 */ 165 do_action( 'icfw_metadata_delete', $webp_metadata_image, $attachment_id ); 169 166 } 170 167 } … … 226 223 } 227 224 225 // Get WebP image for full variation. 228 226 $metadata['sizes']['full']['url'] = $webp_image; 229 227 230 return $this->get_webp_metadata( $metadata ); 231 } 232 233 /** 234 * Get WebP Metadata. 235 * 236 * Mutate Meta data array and get the WebP Images 237 * for all Image meta data. 238 * 239 * @since 1.2.0 240 * 241 * @param mixed[] $metadata Meta data array. 242 * @return mixed[] 243 */ 244 protected function get_webp_metadata( $metadata ): array { 245 $types = [ 'thumbnail', 'medium', 'large' ]; 246 247 foreach ( $types as $type ) { 248 $metadata['sizes'][ $type ]['url'] = icfw_get_equivalent( $metadata['sizes'][ $type ]['url'] ?? '' ); 228 // Get WebP image for thumbnail variation only. 229 foreach ( [ 'thumbnail' ] as $type ) { 230 $url = $metadata['sizes'][ $type ]['url'] ?? ''; 231 $metadata['sizes'][ $type ]['url'] = icfw_get_equivalent( $url ); 249 232 } 250 233 -
image-converter-webp/trunk/inc/Services/PageLoad.php
r3125280 r3428116 150 150 } 151 151 152 // Get DOM object. 152 // Ensure this is allowed. 153 if ( ! icfw_get_settings( 'page_load' ) ) { 154 return $html; 155 } 156 157 $html = wp_filter_content_tags( $html ); 158 153 159 $dom = new DOMDocument(); 154 160 $dom->loadHTML( $html, LIBXML_NOERROR ); … … 157 163 foreach ( $dom->getElementsByTagName( 'img' ) as $image ) { 158 164 // For the src image. 159 $src = $image->getAttribute( 'src' ); 160 161 if ( empty( $src ) ) { 162 return $html; 165 $src = $image->getAttribute( 'src' ); 166 $srcset = $image->getAttribute( 'srcset' ); 167 168 // Generate the main WebP image for non-webp images. 169 if ( $src && ( pathinfo( $src, PATHINFO_EXTENSION ) !== 'webp' ) ) { 170 $html = str_replace( $src, $this->get_webp( $src, $id ), $html ); 163 171 } 164 172 165 // For the srcset images. 166 $srcset = $image->getAttribute( 'srcset' ); 167 168 if ( empty( $srcset ) ) { 169 return $html; 173 // Generate WebP images for srcset variations. 174 if ( $srcset ) { 175 $srcset_images = $this->get_all_srcset_images( $srcset ); 176 $srcset_webps = array_map( fn( $srcset ) => $this->get_webp( $srcset, $id ), $srcset_images ); 177 178 $html = str_replace( $srcset_images, $srcset_webps, $html ); 170 179 } 171 172 preg_match_all( '/http\S+\b/', $srcset, $image_urls );173 174 foreach ( $image_urls[0] as $img_url ) {175 $html = $this->_get_webp_html( $img_url, $html, $id );176 }177 180 } 178 181 … … 186 189 * @since 1.1.0 Moved to PageLoad class. 187 190 * 188 * @param string $img_url Relative path to Image - 'https://example.com/wp-content/uploads/2024/01/sample.png'. 189 * @param string $img_html The Image HTML - '<img src="sample.png"/>'. 191 * @param string $img_url Relative path - 'https://example.com/wp-content/uploads/2024/01/sample.png'. 190 192 * @param int $img_id Image Attachment ID. 191 193 * 192 194 * @return string 193 195 */ 194 protected function _get_webp_html( $img_url, $img_html, $img_id ): string { 196 protected function get_webp( $img_url, $img_id ): string { 197 // Get image ID. 198 if ( ! $img_id ) { 199 $img_id = attachment_url_to_postid( $img_url ); 200 } 201 195 202 // Set Source. 196 203 $this->source = [ … … 199 206 ]; 200 207 201 // Ensure this is allowed.202 if ( ! icfw_get_settings( 'page_load' ) ) {203 return $img_html;204 }205 206 208 // Convert image to WebP. 207 209 $webp = $this->converter->convert(); 208 210 209 // Replace image with WebP. 210 if ( ! is_wp_error( $webp ) && file_exists( $this->converter->abs_dest ) ) { 211 return str_replace( $this->source['url'], $webp, $img_html ); 212 } 213 214 return $img_html; 211 // Fail gracefully, return default image. 212 if ( is_wp_error( $webp ) ) { 213 return $img_url; 214 } 215 216 return $webp; 217 } 218 219 /** 220 * Get all srcset images. 221 * 222 * @since 1.4.0 223 * 224 * @param string $srcset Source set string containing image URLs with size variations. 225 * @return string[] 226 */ 227 protected function get_all_srcset_images( $srcset ): array { 228 preg_match_all( '/https?:\/\/[^\s,]+\.(?:png|jpe?g|webp|gif|svg|avif)/i', $srcset, $matches ); 229 230 return $matches[0]; 215 231 } 216 232 } -
image-converter-webp/trunk/readme.txt
r3315100 r3428116 3 3 Tags: webp, image, convert, jpeg, png. 4 4 Requires at least: 4.0 5 Tested up to: 6. 86 Stable tag: 1. 3.25 Tested up to: 6.9 6 Stable tag: 1.4.0 7 7 Requires PHP: 7.4 8 8 License: GPLv2 or later … … 16 16 2. Search for <strong>Image Converter for WebP</strong> plugin from the official WordPress plugin repository. 17 17 3. Click <strong>Install Now</strong> and then <strong>Activate</strong>. 18 4. Locate the <strong> Media</strong> menu option on the left side ofthe WP admin dashboard.19 5. You should see the <strong>Image Converter for WebP</strong> menu listed as one of the options, click on it.18 4. Locate the <strong>Image Converter for WebP</strong> menu option on the WP admin dashboard. 19 5. Click on it. 20 20 6. You can now set your plugin options here. Ensure you enable the <strong>Convert Images on Upload</strong> option. 21 21 7. Now upload any image into your WP website, it would convert it to a WebP format that will be served on your pages when users visit your website. … … 70 70 71 71 == Changelog == 72 73 = 1.4.0 = 74 * Fix: Resolve issue for Image with no `srcset` attribute. 75 * Fix: Missing thumbnail images in Media Library. 76 * Chore: Improve menu visibility on WP admin dashboard. 77 * Tests: Refactor & Improve PHP unit tests. 78 * Docs: Update README notes. 79 * Update to WP 6.9. 72 80 73 81 = 1.3.2 = -
image-converter-webp/trunk/vendor/autoload.php
r3315100 r3428116 20 20 require_once __DIR__ . '/composer/autoload_real.php'; 21 21 22 return ComposerAutoloaderInit 63b70c2bf9f4141c4fcc4efda921beb5::getLoader();22 return ComposerAutoloaderInit71b712c468783a5be11a1193faeb18ce::getLoader(); -
image-converter-webp/trunk/vendor/composer/autoload_real.php
r3107449 r3428116 3 3 // autoload_real.php @generated by Composer 4 4 5 class ComposerAutoloaderInit 63b70c2bf9f4141c4fcc4efda921beb55 class ComposerAutoloaderInit71b712c468783a5be11a1193faeb18ce 6 6 { 7 7 private static $loader; … … 25 25 require __DIR__ . '/platform_check.php'; 26 26 27 spl_autoload_register(array('ComposerAutoloaderInit 63b70c2bf9f4141c4fcc4efda921beb5', 'loadClassLoader'), true, true);27 spl_autoload_register(array('ComposerAutoloaderInit71b712c468783a5be11a1193faeb18ce', 'loadClassLoader'), true, true); 28 28 self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__)); 29 spl_autoload_unregister(array('ComposerAutoloaderInit 63b70c2bf9f4141c4fcc4efda921beb5', 'loadClassLoader'));29 spl_autoload_unregister(array('ComposerAutoloaderInit71b712c468783a5be11a1193faeb18ce', 'loadClassLoader')); 30 30 31 31 require __DIR__ . '/autoload_static.php'; 32 call_user_func(\Composer\Autoload\ComposerStaticInit 63b70c2bf9f4141c4fcc4efda921beb5::getInitializer($loader));32 call_user_func(\Composer\Autoload\ComposerStaticInit71b712c468783a5be11a1193faeb18ce::getInitializer($loader)); 33 33 34 34 $loader->register(true); -
image-converter-webp/trunk/vendor/composer/autoload_static.php
r3115201 r3428116 5 5 namespace Composer\Autoload; 6 6 7 class ComposerStaticInit 63b70c2bf9f4141c4fcc4efda921beb57 class ComposerStaticInit71b712c468783a5be11a1193faeb18ce 8 8 { 9 9 public static $prefixLengthsPsr4 = array ( 10 'W' => 10 'W' => 11 11 array ( 12 12 'WebPConvert\\' => 12, 13 13 ), 14 'L' => 14 'L' => 15 15 array ( 16 16 'LocateBinaries\\' => 15, 17 17 ), 18 'I' => 18 'I' => 19 19 array ( 20 20 'ImageMimeTypeSniffer\\' => 21, … … 23 23 'ImageConverterWebP\\' => 19, 24 24 ), 25 'F' => 25 'F' => 26 26 array ( 27 27 'FileUtil\\' => 9, 28 28 ), 29 'E' => 29 'E' => 30 30 array ( 31 31 'ExecWithFallback\\' => 17, … … 34 34 35 35 public static $prefixDirsPsr4 = array ( 36 'WebPConvert\\' => 36 'WebPConvert\\' => 37 37 array ( 38 38 0 => __DIR__ . '/..' . '/rosell-dk/webp-convert/src', 39 39 ), 40 'LocateBinaries\\' => 40 'LocateBinaries\\' => 41 41 array ( 42 42 0 => __DIR__ . '/..' . '/rosell-dk/locate-binaries/src', 43 43 ), 44 'ImageMimeTypeSniffer\\' => 44 'ImageMimeTypeSniffer\\' => 45 45 array ( 46 46 0 => __DIR__ . '/..' . '/rosell-dk/image-mime-type-sniffer/src', 47 47 ), 48 'ImageMimeTypeGuesser\\' => 48 'ImageMimeTypeGuesser\\' => 49 49 array ( 50 50 0 => __DIR__ . '/..' . '/rosell-dk/image-mime-type-guesser/src', 51 51 ), 52 'ImageConverterWebP\\Tests\\' => 52 'ImageConverterWebP\\Tests\\' => 53 53 array ( 54 54 0 => __DIR__ . '/../..' . '/tests', 55 55 ), 56 'ImageConverterWebP\\' => 56 'ImageConverterWebP\\' => 57 57 array ( 58 58 0 => __DIR__ . '/../..' . '/inc', 59 59 ), 60 'FileUtil\\' => 60 'FileUtil\\' => 61 61 array ( 62 62 0 => __DIR__ . '/..' . '/rosell-dk/file-util/src', 63 63 ), 64 'ExecWithFallback\\' => 64 'ExecWithFallback\\' => 65 65 array ( 66 66 0 => __DIR__ . '/..' . '/rosell-dk/exec-with-fallback/src', … … 75 75 { 76 76 return \Closure::bind(function () use ($loader) { 77 $loader->prefixLengthsPsr4 = ComposerStaticInit 63b70c2bf9f4141c4fcc4efda921beb5::$prefixLengthsPsr4;78 $loader->prefixDirsPsr4 = ComposerStaticInit 63b70c2bf9f4141c4fcc4efda921beb5::$prefixDirsPsr4;79 $loader->classMap = ComposerStaticInit 63b70c2bf9f4141c4fcc4efda921beb5::$classMap;77 $loader->prefixLengthsPsr4 = ComposerStaticInit71b712c468783a5be11a1193faeb18ce::$prefixLengthsPsr4; 78 $loader->prefixDirsPsr4 = ComposerStaticInit71b712c468783a5be11a1193faeb18ce::$prefixDirsPsr4; 79 $loader->classMap = ComposerStaticInit71b712c468783a5be11a1193faeb18ce::$classMap; 80 80 81 81 }, null, ClassLoader::class); -
image-converter-webp/trunk/vendor/composer/installed.php
r3315100 r3428116 4 4 'pretty_version' => 'dev-master', 5 5 'version' => 'dev-master', 6 'reference' => ' ec38c1190487a3af552fbf4302a26735c7b0c6bf',6 'reference' => '723a359577448b264115d1778ebbec70852a5e13', 7 7 'type' => 'package', 8 8 'install_path' => __DIR__ . '/../../', … … 14 14 'pretty_version' => 'dev-master', 15 15 'version' => 'dev-master', 16 'reference' => ' ec38c1190487a3af552fbf4302a26735c7b0c6bf',16 'reference' => '723a359577448b264115d1778ebbec70852a5e13', 17 17 'type' => 'package', 18 18 'install_path' => __DIR__ . '/../../', -
image-converter-webp/trunk/vendor/composer/platform_check.php
r3107449 r3428116 20 20 } 21 21 } 22 trigger_error( 23 'Composer detected issues in your platform: ' . implode(' ', $issues), 24 E_USER_ERROR 22 throw new \RuntimeException( 23 'Composer detected issues in your platform: ' . implode(' ', $issues) 25 24 ); 26 25 }
Note: See TracChangeset
for help on using the changeset viewer.