Spamworldpro Mini Shell
Spamworldpro


Server : Apache
System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64
User : corals ( 1002)
PHP Version : 7.4.33
Disable Function : exec,passthru,shell_exec,system
Directory :  /home/corals/www/wp-content/plugins/image-optimization/classes/migration/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/corals/www/wp-content/plugins/image-optimization/classes/migration/migration-manager.php
<?php

namespace ImageOptimization\Classes\Migration;

use ImageOptimization\Classes\Async_Operation\{
	Async_Operation,
	Async_Operation_Hook,
	Async_Operation_Queue,
	Exceptions\Async_Operation_Exception,
};

use ImageOptimization\Classes\Logger;
use ImageOptimization\Classes\Migration\Handlers\{
	Fix_Avif_With_Zero_Dimensions,
	Fix_Mime_Type,
	Fix_Optimized_Size_Keys,
};

if ( ! defined( 'ABSPATH' ) ) {
	exit; // Exit if accessed directly.
}

class Migration_Manager {
	public static function get_migrations(): array {
		return [
			Fix_Optimized_Size_Keys::class,
			Fix_Mime_Type::class,
			Fix_Avif_With_Zero_Dimensions::class,
		];
	}

	/**
	 * @param $migration_name
	 *
	 * @return \class-string|null
	 */
	public static function get_migration( $migration_name ): ?string {
		foreach ( self::get_migrations() as $migration ) {
			if ( $migration::get_name() === $migration_name ) {
				return $migration;
			}
		}

		return null;
	}

	public static function init() {
		$migrations_passed = ( new Migration_Meta() )->get_migrations_passed();

		foreach ( self::get_migrations() as $migration ) {
			if ( in_array( $migration::get_name(), $migrations_passed, true ) ) {
				continue;
			}

			try {
				Async_Operation::create(
					Async_Operation_Hook::DB_MIGRATION,
					[ 'name' => $migration::get_name() ],
					Async_Operation_Queue::MIGRATION,
					0,
					true
				);
			} catch ( Async_Operation_Exception $aoe ) {
				$name = $migration::get_name();

				Logger::log(
					Logger::LEVEL_ERROR,
					"Error while running migration `$name`: " . $aoe->getMessage()
				);
			}
		}
	}
}

Spamworldpro Mini