rebase from live enviornment
This commit is contained in:
30
wp/plugins/imagify/classes/CLI/AbstractCommand.php
Normal file
30
wp/plugins/imagify/classes/CLI/AbstractCommand.php
Normal file
@@ -0,0 +1,30 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Imagify\CLI;
|
||||
|
||||
/**
|
||||
* Abstrat class for CLI Command
|
||||
*/
|
||||
abstract class AbstractCommand implements CommandInterface {
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
final public function get_name(): string {
|
||||
return sprintf( 'imagify %s', $this->get_command_name() );
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the "imagify" command name.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
abstract protected function get_command_name(): string;
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function get_synopsis(): array {
|
||||
return [];
|
||||
}
|
||||
}
|
||||
66
wp/plugins/imagify/classes/CLI/BulkOptimizeCommand.php
Normal file
66
wp/plugins/imagify/classes/CLI/BulkOptimizeCommand.php
Normal file
@@ -0,0 +1,66 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Imagify\CLI;
|
||||
|
||||
use Imagify\Bulk\Bulk;
|
||||
|
||||
/**
|
||||
* Command class for the bulk optimization
|
||||
*/
|
||||
class BulkOptimizeCommand extends AbstractCommand {
|
||||
/**
|
||||
* Executes the command.
|
||||
*
|
||||
* @param array $arguments Positional argument.
|
||||
* @param array $options Optional arguments.
|
||||
*/
|
||||
public function __invoke( $arguments, $options ) {
|
||||
$level = 2;
|
||||
|
||||
if ( isset( $options['lossless'] ) ) {
|
||||
$level = 0;
|
||||
}
|
||||
|
||||
foreach ( $arguments as $context ) {
|
||||
Bulk::get_instance()->run_optimize( $context, $level );
|
||||
}
|
||||
|
||||
\WP_CLI::log( 'Imagify bulk optimization triggered.' );
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
protected function get_command_name(): string {
|
||||
return 'bulk-optimize';
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function get_description(): string {
|
||||
return 'Run the bulk optimization';
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function get_synopsis(): array {
|
||||
return [
|
||||
[
|
||||
'type' => 'positional',
|
||||
'name' => 'contexts',
|
||||
'description' => 'The context(s) to run the bulk optimization for. Possible values are wp and custom-folders.',
|
||||
'optional' => false,
|
||||
'repeating' => true,
|
||||
],
|
||||
[
|
||||
'type' => 'flag',
|
||||
'name' => 'lossless',
|
||||
'description' => 'Use lossless compression.',
|
||||
'optional' => true,
|
||||
],
|
||||
];
|
||||
}
|
||||
}
|
||||
35
wp/plugins/imagify/classes/CLI/CommandInterface.php
Normal file
35
wp/plugins/imagify/classes/CLI/CommandInterface.php
Normal file
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Imagify\CLI;
|
||||
|
||||
interface CommandInterface {
|
||||
/**
|
||||
* Get the command name.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function get_name(): string;
|
||||
|
||||
/**
|
||||
* Executes the command.
|
||||
*
|
||||
* @param array $arguments Positional argument.
|
||||
* @param array $options Optional arguments.
|
||||
*/
|
||||
public function __invoke( $arguments, $options );
|
||||
|
||||
/**
|
||||
* Get the positional and associative arguments a command accepts.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function get_synopsis(): array;
|
||||
|
||||
/**
|
||||
* Get the command description.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function get_description(): string;
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Imagify\CLI;
|
||||
|
||||
use Imagify\Bulk\Bulk;
|
||||
|
||||
/**
|
||||
* Command class for the missing WebP generation
|
||||
*/
|
||||
class GenerateMissingWebpCommand extends AbstractCommand {
|
||||
/**
|
||||
* Executes the command.
|
||||
*
|
||||
* @param array $arguments Positional argument.
|
||||
* @param array $options Optional arguments.
|
||||
*/
|
||||
public function __invoke( $arguments, $options ) {
|
||||
Bulk::get_instance()->run_generate_webp( $arguments );
|
||||
|
||||
\WP_CLI::log( 'Imagify missing WebP generation triggered.' );
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
protected function get_command_name(): string {
|
||||
return 'generate-missing-webp';
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function get_description(): string {
|
||||
return 'Run the generation of the missing WebP versions';
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function get_synopsis(): array {
|
||||
return [
|
||||
[
|
||||
'type' => 'positional',
|
||||
'name' => 'contexts',
|
||||
'description' => 'The context(s) to run the missing WebP generation for. Possible values are wp and custom-folders.',
|
||||
'optional' => false,
|
||||
'repeating' => true,
|
||||
],
|
||||
];
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user