PluginProbe
Robin Image Optimizer – Unlimited Image Optimization, WebP & AVIF / 2.0.7
Robin Image Optimizer – Unlimited Image Optimization, WebP & AVIF v2.0.7
2.0.7 2.0.6 2.0.5 trunk 1.3.7 1.4.0 1.4.1 1.4.2 1.4.6 1.5.0 1.5.3 1.5.6 1.5.8 1.6.5 1.6.6 1.6.9 1.7.0 1.7.4 1.8.1 1.8.2 1.9.0 2.0.0 2.0.1 2.0.2 2.0.3 All 26 releases
robin-image-optimizer / includes / classes / class-rio-optimization-tools.php
class-rio-optimization-tools.php
51 lines 1.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 // Exit if accessed directly
3 if ( ! defined( 'ABSPATH' ) ) {
4 exit;
5 }
6
7 /**
8 * Инструменты для оптмизации изображений
9 *
10 * @version 1.0
11 */
12 class WIO_OptimizationTools {
13
14 /**
15 * Конфигурация серверов и соответствующи�
16 классов
17 */
18 private static $processors = [
19 'server_2' => [
20 'file' => '/includes/classes/processors/class-rio-server-robin.php',
21 'class' => 'WIO_Image_Processor_Robin',
22 ],
23 'server_5' => [
24 'file' => '/includes/classes/processors/class-rio-server-premium.php',
25 'class' => 'WIO_Image_Processor_Premium',
26 ],
27 ];
28
29 /**
30 * Возвращает объект, отвечающий за оптимизацию изображений через API сторонни�
31 сервисов
32 *
33 * @param string|null $name
34 * @return WIO_Image_Processor_Abstract
35 */
36 public static function getImageProcessor( $name = null ) {
37 // Auto-detect processor based on license status if not explicitly specified
38 if ( null === $name ) {
39 $server = wrio_is_license_activate() ? 'server_5' : 'server_2';
40 } else {
41 $server = $name;
42 }
43
44 $processor = self::$processors[ $server ] ?? self::$processors['server_2'];
45
46 require_once WRIO_PLUGIN_DIR . $processor['file'];
47
48 return new $processor['class']();
49 }
50 }
51