bibhamrokhanpin/wp-content/__plugins/wp-optimize/webp/class-wpo-webp-test-run.php
2024-04-10 17:46:06 +05:45

63 lines
1.3 KiB
PHP

<?php
if (!defined('WPO_VERSION')) die('No direct access allowed');
use \WebPConvert\Convert\ConverterFactory;
require_once WPO_PLUGIN_MAIN_PATH . 'vendor/autoload.php';
if (!class_exists('WPO_WebP_Test_Run')) :
/**
* Test run
*/
class WPO_WebP_Test_Run {
/**
* Get a test result object OR false, if tests cannot be made.
*
* @return object|false
*/
public static function get_converter_status() {
$source = WPO_PLUGIN_MAIN_PATH . 'images/logo/wpo_logo_small.png';
$upload_dir = wp_upload_dir();
$destination = $upload_dir['basedir']. '/wpo/images/wpo_logo_small.webp';
$converters = array(
// 'cwebp',
'vips',
'imagemagick',
'graphicsmagick',
'ffmpeg',
'wpc',
'ewww',
'imagick',
'gmagick',
'gd',
);
$working_converters = array();
$errors = array();
foreach ($converters as $converter) {
$converter_id = $converter;
try {
$converter_instance = ConverterFactory::makeConverter(
$converter_id,
$source,
$destination
);
$converter_instance->doConvert();
$working_converters[] = $converter_id;
} catch (\Exception $e) {
$errors[$converter_id] = $e->getMessage();
}
}
return array(
'working_converters' => $working_converters,
'errors' => $errors,
);
}
}
endif;