Edit File by line
/home/zeestwma/ajeebong.../wp-conte.../plugins/image-op.../classes/migratio...
File: migration-manager.php
<?php
[0] Fix | Delete
[1] Fix | Delete
namespace ImageOptimization\Classes\Migration;
[2] Fix | Delete
[3] Fix | Delete
use ImageOptimization\Classes\Async_Operation\{
[4] Fix | Delete
Async_Operation,
[5] Fix | Delete
Async_Operation_Hook,
[6] Fix | Delete
Async_Operation_Queue,
[7] Fix | Delete
Exceptions\Async_Operation_Exception,
[8] Fix | Delete
};
[9] Fix | Delete
[10] Fix | Delete
use ImageOptimization\Classes\Logger;
[11] Fix | Delete
use ImageOptimization\Classes\Migration\Handlers\{
[12] Fix | Delete
Fix_Avif_With_Zero_Dimensions,
[13] Fix | Delete
Fix_Mime_Type,
[14] Fix | Delete
Fix_Optimized_Size_Keys,
[15] Fix | Delete
};
[16] Fix | Delete
[17] Fix | Delete
if ( ! defined( 'ABSPATH' ) ) {
[18] Fix | Delete
exit; // Exit if accessed directly.
[19] Fix | Delete
}
[20] Fix | Delete
[21] Fix | Delete
class Migration_Manager {
[22] Fix | Delete
public static function get_migrations(): array {
[23] Fix | Delete
return [
[24] Fix | Delete
Fix_Optimized_Size_Keys::class,
[25] Fix | Delete
Fix_Mime_Type::class,
[26] Fix | Delete
Fix_Avif_With_Zero_Dimensions::class,
[27] Fix | Delete
];
[28] Fix | Delete
}
[29] Fix | Delete
[30] Fix | Delete
/**
[31] Fix | Delete
* @param $migration_name
[32] Fix | Delete
*
[33] Fix | Delete
* @return \class-string|null
[34] Fix | Delete
*/
[35] Fix | Delete
public static function get_migration( $migration_name ): ?string {
[36] Fix | Delete
foreach ( self::get_migrations() as $migration ) {
[37] Fix | Delete
if ( $migration::get_name() === $migration_name ) {
[38] Fix | Delete
return $migration;
[39] Fix | Delete
}
[40] Fix | Delete
}
[41] Fix | Delete
[42] Fix | Delete
return null;
[43] Fix | Delete
}
[44] Fix | Delete
[45] Fix | Delete
public static function init() {
[46] Fix | Delete
$migrations_passed = ( new Migration_Meta() )->get_migrations_passed();
[47] Fix | Delete
[48] Fix | Delete
foreach ( self::get_migrations() as $migration ) {
[49] Fix | Delete
if ( in_array( $migration::get_name(), $migrations_passed, true ) ) {
[50] Fix | Delete
continue;
[51] Fix | Delete
}
[52] Fix | Delete
[53] Fix | Delete
try {
[54] Fix | Delete
Async_Operation::create(
[55] Fix | Delete
Async_Operation_Hook::DB_MIGRATION,
[56] Fix | Delete
[ 'name' => $migration::get_name() ],
[57] Fix | Delete
Async_Operation_Queue::MIGRATION,
[58] Fix | Delete
0,
[59] Fix | Delete
true
[60] Fix | Delete
);
[61] Fix | Delete
} catch ( Async_Operation_Exception $aoe ) {
[62] Fix | Delete
$name = $migration::get_name();
[63] Fix | Delete
[64] Fix | Delete
Logger::log(
[65] Fix | Delete
Logger::LEVEL_ERROR,
[66] Fix | Delete
"Error while running migration `$name`: " . $aoe->getMessage()
[67] Fix | Delete
);
[68] Fix | Delete
}
[69] Fix | Delete
}
[70] Fix | Delete
}
[71] Fix | Delete
}
[72] Fix | Delete
[73] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function