models
4 months ago
processing
4 months ago
processors
4 months ago
class-rio-attachment.php
4 months ago
class-rio-backup.php
5 months ago
class-rio-bulk-optimization.php
5 months ago
class-rio-cron.php
6 months ago
class-rio-image-query.php
4 months ago
class-rio-image-statistic.php
4 months ago
class-rio-media-library.php
4 months ago
class-rio-multisite.php
6 months ago
class-rio-optimization-orchestrator.php
4 months ago
class-rio-optimization-tools.php
6 months ago
class-rio-views.php
4 months ago
class-wrio-license.php
6 months ago
class-wrio-premium-provider.php
6 months ago
class-wrio-support.php
6 months ago
index.php
6 months ago
class-rio-optimization-tools.php
51 lines
| 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 |