PK
Current Path : /proc/self/cwd/wp-content/plugins/image-optimization/modules/backups/components/ |
Current File : //proc/self/cwd/wp-content/plugins/image-optimization/modules/backups/components/restore-images.php |
<?php namespace ImageOptimization\Modules\Backups\Components; use ImageOptimization\Classes\Async_Operation\Async_Operation_Hook; use ImageOptimization\Classes\Image\{ Image_Meta, Image_Restore, Image_Status, }; use ImageOptimization\Classes\Logger; use Throwable; if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } class Restore_Images { /** @async */ public function restore_image( int $image_id ) { try { Image_Restore::restore( $image_id ); } catch ( Throwable $t ) { Logger::log( Logger::LEVEL_ERROR, 'Image restoring error: ' . $t->getMessage() ); ( new Image_Meta( $image_id ) ) ->set_status( Image_Status::RESTORING_FAILED ) ->save(); throw $t; } } /** @async */ public function restore_many_images( array $attachment_ids ) { Image_Restore::restore_many( $attachment_ids ); } public function __construct() { add_action( Async_Operation_Hook::RESTORE_SINGLE_IMAGE, [ $this, 'restore_image' ] ); add_action( Async_Operation_Hook::RESTORE_MANY_IMAGES, [ $this, 'restore_many_images' ] ); } }