Edit File by line
/home/zeestwma/ajeebong.../wp-conte.../plugins/image-op.../modules/core/componen...
File: migrations.php
<?php
[0] Fix | Delete
[1] Fix | Delete
namespace ImageOptimization\Modules\Core\Components;
[2] Fix | Delete
[3] Fix | Delete
use ImageOptimization\Classes\Async_Operation\Async_Operation_Hook;
[4] Fix | Delete
use ImageOptimization\Classes\Logger;
[5] Fix | Delete
use ImageOptimization\Classes\Migration\{
[6] Fix | Delete
Migration_Manager,
[7] Fix | Delete
Migration_Meta,
[8] Fix | Delete
};
[9] Fix | Delete
[10] Fix | Delete
use Throwable;
[11] Fix | Delete
[12] Fix | Delete
if ( ! defined( 'ABSPATH' ) ) {
[13] Fix | Delete
exit; // Exit if accessed directly.
[14] Fix | Delete
}
[15] Fix | Delete
[16] Fix | Delete
class Migrations {
[17] Fix | Delete
/**
[18] Fix | Delete
* @async
[19] Fix | Delete
* @param string $migration_name
[20] Fix | Delete
*
[21] Fix | Delete
* @return bool
[22] Fix | Delete
*/
[23] Fix | Delete
public function run_migration( string $migration_name ): bool {
[24] Fix | Delete
$migration_class = Migration_Manager::get_migration( $migration_name );
[25] Fix | Delete
[26] Fix | Delete
if ( ! $migration_class ) {
[27] Fix | Delete
Logger::log(
[28] Fix | Delete
Logger::LEVEL_ERROR,
[29] Fix | Delete
"Migration class for `$migration_name` does not exist."
[30] Fix | Delete
);
[31] Fix | Delete
[32] Fix | Delete
return false;
[33] Fix | Delete
}
[34] Fix | Delete
[35] Fix | Delete
if ( ! method_exists( $migration_class, 'run' ) || ! is_callable( [ $migration_class, 'run' ] ) ) {
[36] Fix | Delete
Logger::log(
[37] Fix | Delete
Logger::LEVEL_ERROR,
[38] Fix | Delete
"The run method does not exist or is not static in the class `$migration_class`."
[39] Fix | Delete
);
[40] Fix | Delete
[41] Fix | Delete
return false;
[42] Fix | Delete
}
[43] Fix | Delete
[44] Fix | Delete
try {
[45] Fix | Delete
$migration_class::run();
[46] Fix | Delete
[47] Fix | Delete
( new Migration_Meta() )
[48] Fix | Delete
->add_migration_passed( $migration_name )
[49] Fix | Delete
->save();
[50] Fix | Delete
[51] Fix | Delete
Logger::log(
[52] Fix | Delete
Logger::LEVEL_INFO,
[53] Fix | Delete
"The migration `$migration_name` successfully executed."
[54] Fix | Delete
);
[55] Fix | Delete
} catch ( Throwable $t ) {
[56] Fix | Delete
Logger::log(
[57] Fix | Delete
Logger::LEVEL_ERROR,
[58] Fix | Delete
"Error while running the migration `$migration_name`: " . $t->getMessage()
[59] Fix | Delete
);
[60] Fix | Delete
[61] Fix | Delete
return false;
[62] Fix | Delete
}
[63] Fix | Delete
[64] Fix | Delete
return true;
[65] Fix | Delete
}
[66] Fix | Delete
[67] Fix | Delete
public function __construct() {
[68] Fix | Delete
add_action( Async_Operation_Hook::DB_MIGRATION, [ $this, 'run_migration' ] );
[69] Fix | Delete
}
[70] Fix | Delete
}
[71] Fix | Delete
[72] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function