| 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.9/wp-content/plugins/blocksy-companion-pro/framework/cli/ |
Upload File : |
<?php
namespace Blocksy;
/**
* Manages Blocksy theme tools.
*
* ## EXAMPLES
*
* # List all available tools
* $ wp blocksy tool list
*
* # Run a maintenance tool
* $ wp blocksy tool run regenerate_dynamic_css
*/
class ToolCli {
public function __construct() {
\WP_CLI::add_command('blocksy tool', $this);
}
/**
* List all available tools.
*
* ## OPTIONS
*
* [--format=<format>]
* : Render output in a particular format.
* ---
* default: table
* options:
* - table
* - csv
* - json
* - ids
* ---
*
* ## EXAMPLES
*
* wp blocksy tool list
* wp blocksy tool list --format=json
*
* @subcommand list
*/
public function tool_list($args, $assoc_args) {
$tools = $this->get_tools();
$items = [];
foreach ($tools as $id => $tool) {
$items[] = [
'id' => $id,
'name' => $tool['name'],
];
}
$format = isset($assoc_args['format']) ? $assoc_args['format'] : 'table';
if ($format === 'ids') {
echo esc_html(implode(' ', array_column($items, 'id')));
return;
}
\WP_CLI\Utils\format_items($format, $items, ['id', 'name']);
}
/**
* Run a maintenance tool.
*
* ## OPTIONS
*
* <tool>
* : The tool to run. Use 'wp blocksy tool list' to see available tools.
*
* ## EXAMPLES
*
* wp blocksy tool run regenerate_dynamic_css
* wp blocksy tool run regenerate_taxonomies_lookup
*
* @subcommand run
*/
public function tool_run($args, $assoc_args) {
$tool = $args[0];
$tools = $this->get_tools();
if (! isset($tools[$tool])) {
\WP_CLI::error("Unknown tool: {$tool}");
return;
}
$tools[$tool]['callback']();
}
/**
* Get all registered tools.
*
* @return array
*/
private function get_tools() {
return apply_filters('blocksy_cli_tools', [
'regenerate_dynamic_css' => [
'name' => 'Regenerate Dynamic CSS',
'callback' => function() {
do_action('blocksy:dynamic-css:refresh-caches');
\WP_CLI::success('Dynamic CSS cache has been regenerated.');
}
]
]);
}
}