-
Erick Hitter authoreda15a433d
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
<?php
namespace Automattic\WP\WP_CLI_Cron_Control_Offload;
/**
* Check if command is allowed
*
* @param string $command
* @return bool
*/
function is_command_allowed( $command ) {
return in_array( $command, get_command_whitelist(), true ) && ! in_array( $command, get_command_blacklist(), true );
}
/**
* Most commands must be whitelisted
*
* @return array
*/
function get_command_whitelist() {
// TODO: constant!
// Supported built-in commands
$whitelist = array(
'cache',
'cap',
'comment',
'cron-control',
'cron-control-fixers',
'media',
'menu',
'network',
'option',
'plugin',
'post',
'post-type',
'rewrite',
'role',
'sidebar',
'site',
'super-admin',
'taxonomy',
'term',
'theme',
'transient',
'user',
'widget',
);
return apply_filters( 'wp_cli_cron_control_offload_subcommand_whitelist', $whitelist );
}
/**
* Certain commands should never be allowed
*
* @return array
*/
function get_command_blacklist() {
// TODO: constant!
return array(
'cli',
'config',
'core',
'cron',
'db',
'eval',
'export',
'eval-file',
'import',
'package',
'scaffold',