HEX
Server: Apache
System: Linux digivps 5.15.0-163-generic #173-Ubuntu SMP Tue Oct 14 17:51:00 UTC 2025 x86_64
User: root (0)
PHP: 8.3.15
Disabled: passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
Upload Files
File: /www/wwwroot/biographybirthday.com/wp-content/plugins/imagify/classes/CLI/BulkOptimizeCommand.php
<?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,
			],
		];
	}
}