96 lines
2.3 KiB
PHP
96 lines
2.3 KiB
PHP
<?php
|
|
namespace ShortPixel;
|
|
|
|
if ( ! defined( 'ABSPATH' ) ) {
|
|
exit; // Exit if accessed directly.
|
|
}
|
|
|
|
use ShortPixel\ShortPixelLogger\ShortPixelLogger as Log;
|
|
use ShortPixel\Controller\OptimizeController as OptimizeController;
|
|
use ShortPixel\Controller\BulkController as BulkController;
|
|
|
|
use ShortPixel\Controller\Queue\Queue as Queue;
|
|
use ShortPixel\Controller\ApiController as ApiController;
|
|
use ShortPixel\Controller\ResponseController as ResponseController;
|
|
|
|
/**
|
|
* Actions and operations for the ShortPixel Image Optimizer plugin
|
|
*/
|
|
class SpioSingle extends SpioCommandBase
|
|
{
|
|
|
|
/**
|
|
* Restores the optimized item to its original state (if backups are active).
|
|
*
|
|
* ## OPTIONS
|
|
*
|
|
* <id>
|
|
* : Media Library ID or Custom Media ID
|
|
*
|
|
* [--type=<type>]
|
|
* : media | custom
|
|
* ---
|
|
* default: media
|
|
* options:
|
|
* - media
|
|
* - custom
|
|
* ---
|
|
*
|
|
* ## EXAMPLES
|
|
*
|
|
* wp spio restore 123
|
|
* wp spio restore 21 --type=custom
|
|
*
|
|
* @when after_wp_load
|
|
*/
|
|
public function restore($args, $assoc_args)
|
|
{
|
|
$controller = new OptimizeController();
|
|
$fs = \wpSPIO()->filesystem();
|
|
|
|
if (! isset($args[0]))
|
|
{
|
|
\WP_CLI::Error(__('Specify an (Media Library) Item ID', 'shortpixel_image_optimiser'));
|
|
return;
|
|
}
|
|
if (! is_numeric($args[0]))
|
|
{
|
|
\WP_CLI::Error(__('Item ID needs to be a number', 'shortpixel-image-optimiser'));
|
|
return;
|
|
}
|
|
|
|
$id = intval($args[0]);
|
|
$type = $assoc_args['type'];
|
|
|
|
$image = $fs->getImage($id, $type);
|
|
|
|
if ($image === false)
|
|
{
|
|
\WP_CLI::Error(__('No Image returned. Please check if the number and type are correct and the image exists', 'shortpixel-image-optimiser'));
|
|
return;
|
|
}
|
|
|
|
$result = $controller->restoreItem($image);
|
|
|
|
$this->showResponses();
|
|
|
|
if (property_exists($result,'message') && ! is_null($result->message) && strlen($result->message) > 0)
|
|
$message = $result->message;
|
|
elseif (property_exists($result, 'result') && property_exists($result->result, 'message'))
|
|
$message = $result->result->message;
|
|
|
|
if ($result->status == 1)
|
|
{
|
|
\WP_CLI::Success($message);
|
|
}
|
|
elseif ($result->status == 0)
|
|
{
|
|
\WP_CLI::Error(sprintf(__("Restoring Item: %s", 'shortpixel_image_optimiser'), $message) );
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
} // CLASS
|