| Server IP : 38.190.208.107 / Your IP : 216.73.217.46 Web Server : nginx/1.28.1 System : Linux ht2026040333114 6.1.0-10-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.37-1 (2023-07-03) x86_64 User : root ( 0) PHP Version : 8.2.28 Disable Function : 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,eval,assert,passthru,system,exec,shell_exec,popen,proc_open MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /www/wwwroot/wp.5/wp-content/plugins/woocommerce/src/Internal/CLI/Migrator/Commands/ |
Upload File : |
<?php
declare( strict_types=1 );
namespace Automattic\WooCommerce\Internal\CLI\Migrator\Commands;
use Automattic\WooCommerce\Internal\CLI\Migrator\Core\PlatformRegistry;
use WP_CLI;
/**
* Lists all registered migration platforms.
*/
class ListCommand {
/**
* The platform registry.
*
* @var PlatformRegistry
*/
private PlatformRegistry $platform_registry;
/**
* Initialize the command with its dependencies.
*
* @param PlatformRegistry $platform_registry The platform registry.
*
* @internal
*/
final public function init( PlatformRegistry $platform_registry ): void {
$this->platform_registry = $platform_registry;
}
/**
* Lists all registered migration platforms.
*
* ## EXAMPLES
*
* $ wp wc migrate list
*
* @param array $args The positional arguments (unused).
* @param array $assoc_args The associative arguments (unused).
*
* @return void
*/
public function __invoke( array $args, array $assoc_args ): void {
// phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter.FoundAfterLastUsed
unset( $args, $assoc_args );
$platforms = $this->platform_registry->get_platforms();
if ( empty( $platforms ) ) {
WP_CLI::line( 'No migration platforms are registered.' );
return;
}
$formatted_items = array();
$platform_count = count( $platforms );
$current_index = 0;
foreach ( $platforms as $id => $details ) {
$formatted_items[] = array(
'id' => $id,
'name' => $details['name'] ?? '',
'fetcher' => $details['fetcher'] ?? '',
'mapper' => $details['mapper'] ?? '',
);
// Add separator row between platforms (but not after the last one).
++$current_index;
if ( $current_index < $platform_count ) {
$formatted_items[] = array(
'id' => str_repeat( '-', 20 ),
'name' => str_repeat( '-', 25 ),
'fetcher' => str_repeat( '-', 30 ),
'mapper' => str_repeat( '-', 30 ),
);
}
}
WP_CLI\Utils\format_items(
'table',
$formatted_items,
array( 'id', 'name', 'fetcher', 'mapper' )
);
}
}