Файловый менеджер - Редактировать - /var/www/xthruster/html/wp-content/plugins/image-optimization/modules/stats/classes/stats.php
Назад
<?php namespace ImageOptimization\Modules\Stats\Classes; use ImageOptimization\Classes\Async_Operation\{ Async_Operation, Async_Operation_Hook, Queries\Image_Optimization_Operation_Query, Queries\Operation_Query, }; use ImageOptimization\Classes\Image\Image_Query_Builder; if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } class Stats { public static function calculate_global_stats(): array { $bulk_optimization_operation_status = self::get_bulk_optimization_status(); $bulk_optimization_operation_id = Async_Operation::OPERATION_STATUS_RUNNING === $bulk_optimization_operation_status ? self::get_bulk_optimization_active_operation_id() : null; return [ 'optimization_stats' => Optimization_Stats::get_image_stats(), 'bulk_optimization_status' => $bulk_optimization_operation_status, 'bulk_optimization_operation_id' => $bulk_optimization_operation_id, 'bulk_restoring_status' => self::get_bulk_restoring_status(), 'bulk_backup_removing_status' => self::get_bulk_backup_removing_status(), 'backups_exist' => self::backups_exist(), ]; } private static function get_bulk_optimization_status(): string { $active_query = ( new Image_Optimization_Operation_Query() ) ->set_hook( Async_Operation_Hook::OPTIMIZE_BULK ) ->set_status( [ Async_Operation::OPERATION_STATUS_PENDING, Async_Operation::OPERATION_STATUS_RUNNING, ] ) ->set_limit( 1 ); $active_operations = Async_Operation::get( $active_query ); if ( empty( $active_operations ) ) { return Async_Operation::OPERATION_STATUS_NOT_STARTED; } $operation_id = $active_operations[0]->get_args()['operation_id']; $cancelled_query = ( new Image_Optimization_Operation_Query() ) ->set_hook( Async_Operation_Hook::OPTIMIZE_BULK ) ->set_status( Async_Operation::OPERATION_STATUS_CANCELED ) ->set_bulk_operation_id( $operation_id ) ->set_limit( 1 ); $cancelled_operations = Async_Operation::get( $cancelled_query ); if ( ! empty( $cancelled_operations ) ) { return Async_Operation::OPERATION_STATUS_CANCELED; } return Async_Operation::OPERATION_STATUS_RUNNING; } private static function get_bulk_optimization_active_operation_id(): ?string { $active_query = ( new Image_Optimization_Operation_Query() ) ->set_hook( Async_Operation_Hook::OPTIMIZE_BULK ) ->set_status( [ Async_Operation::OPERATION_STATUS_PENDING, Async_Operation::OPERATION_STATUS_RUNNING, ] ) ->set_limit( 1 ); $active_operation = Async_Operation::get( $active_query ); if ( empty( $active_operation ) ) { return null; } return $active_operation[0]->get_args()['operation_id']; } private static function get_bulk_restoring_status(): string { $active_query = ( new Operation_Query() ) ->set_hook( Async_Operation_Hook::RESTORE_MANY_IMAGES ) ->set_status( [ Async_Operation::OPERATION_STATUS_PENDING, Async_Operation::OPERATION_STATUS_RUNNING, ] ) ->set_limit( 1 ); $active_operations = Async_Operation::get( $active_query ); return ! empty( $active_operations ) ? Async_Operation::OPERATION_STATUS_RUNNING : Async_Operation::OPERATION_STATUS_NOT_STARTED; } private static function get_bulk_backup_removing_status(): string { $active_query = ( new Operation_Query() ) ->set_hook( Async_Operation_Hook::REMOVE_MANY_BACKUPS ) ->set_status( [ Async_Operation::OPERATION_STATUS_PENDING, Async_Operation::OPERATION_STATUS_RUNNING, ] ) ->set_limit( 1 ); $active_operations = Async_Operation::get( $active_query ); return ! empty( $active_operations ) ? Async_Operation::OPERATION_STATUS_RUNNING : Async_Operation::OPERATION_STATUS_NOT_STARTED; } private static function backups_exist(): bool { $query = ( new Image_Query_Builder() ) ->set_paging_size( 1 ) ->return_images_only_with_backups() ->execute(); return $query->post_count > 0; } }
| ver. 1.4 |
Github
|
.
| PHP 7.4.3-4ubuntu2.24 | Генерация страницы: 0 |
proxy
|
phpinfo
|
Настройка