📁 File Manager Pro
v10.0.3 | PHP: 8.2.31
Server: LiteSpeed
2026-06-30 10:34:35
📂
/ (Root)
/
home
/
orkouolp
/
web
/
orkofarms.com
/
wp-content
/
plugins
/
image-optimization
/
modules
/
stats
/
components
📍 /home/orkouolp/web/orkofarms.com/wp-content/plugins/image-optimization/modules/stats/components
🔄 Refresh
✏️
Editing: optimization-stats-handler.php
Writable
<?php namespace ImageOptimization\Modules\Stats\Components; use ImageOptimization\Classes\Async_Operation\{ Async_Operation, Async_Operation_Hook, Async_Operation_Queue, Exceptions\Async_Operation_Exception, }; use ImageOptimization\Classes\Logger; use ImageOptimization\Modules\Stats\Classes\Optimization_Stats; if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } class Optimization_Stats_Handler { /** * @async * * @param $page * @param $pages_count * @param $output * * @return void */ public function handle_stats_chunk( $page, $pages_count, $output ) { $chunk = Optimization_Stats::get_image_stats_chunk( $page ); foreach ( array_keys( $chunk ) as $key ) { if ( isset( $output[ $key ] ) ) { $output[ $key ] += $chunk[ $key ]; continue; } $output[ $key ] = $chunk[ $key ]; } if ( $page < $pages_count ) { try { Async_Operation::create( Async_Operation_Hook::CALCULATE_OPTIMIZATION_STATS, [ 'page' => $page + 1, 'pages_count' => $pages_count, 'output' => $output, ], Async_Operation_Queue::STATS ); } catch ( Async_Operation_Exception $aoe ) { Logger::log( Logger::LEVEL_ERROR, 'Error while creating a stats calculation task: ' . $aoe->getMessage() ); } } else { unset( $output['pages'] ); Optimization_Stats::set_stored_stats( $output ); } } public function __construct() { add_action( Async_Operation_Hook::CALCULATE_OPTIMIZATION_STATS, [ $this, 'handle_stats_chunk' ], 10, 3 ); } }
💾 Save Changes
❌ Cancel