Server IP : 209.38.156.173 / Your IP : 216.73.216.122 [ Web Server : Apache/2.4.52 (Ubuntu) System : Linux lakekumayuhotel 5.15.0-136-generic #147-Ubuntu SMP Sat Mar 15 15:53:30 UTC 2025 x86_64 User : root ( 0) PHP Version : 8.1.2-1ubuntu2.22 Disable Function : NONE Domains : 2 Domains MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /var/www/html/wp-content/plugins/image-optimization/modules/backups/rest/ |
Upload File : |
<?php namespace ImageOptimization\Modules\Backups\Rest; use ImageOptimization\Modules\Optimization\Classes\Validate_Image; use ImageOptimization\Modules\Backups\Classes\{ Restore_Images, Route_Base, }; use Throwable; use WP_REST_Request; if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } class Restore_Single extends Route_Base { const NONCE_NAME = 'image-optimization-restore-single'; protected string $path = 'restore/(?P<image_id>\d+)'; public function get_name(): string { return 'restore-single'; } public function get_methods(): array { return [ 'POST' ]; } public function POST( WP_REST_Request $request ) { $this->verify_nonce_and_capability( $request->get_param( self::NONCE_NAME ), self::NONCE_NAME ); $image_id = (int) $request->get_param( 'image_id' ); if ( empty( $image_id ) ) { return $this->respond_error_json( [ 'message' => esc_html__( 'Invalid image id', 'image-optimization' ), 'code' => 'internal_server_error', ] ); } try { Validate_Image::is_valid( $image_id ); Restore_Images::schedule_single_restoring( $image_id ); return $this->respond_success_json(); } catch ( Throwable $t ) { return $this->respond_error_json([ 'message' => $t->getMessage(), 'code' => 'internal_server_error', ]); } } }