protected function validate_input($plugin)
{
if (is_wp_error($error = parent::validate_input($plugin))) {
return $error;
}
if (is_wp_error($error = $this->validate_network_wide())) {
return $error;
}
$args = $this->input();
// find out what plugin, or plugins we are dealing with
// validate the requested plugins
if (!isset($plugin) || empty($plugin)) {
if (!$args['plugins'] || empty($args['plugins'])) {
return new WP_Error('missing_plugin', __('You are required to specify a plugin.', 'jetpack'), 400);
}
if (is_array($args['plugins'])) {
$this->plugins = $args['plugins'];
} else {
$this->plugins[] = $args['plugins'];
}
} else {
$this->bulk = false;
$this->plugins[] = urldecode($plugin);
}
if (is_wp_error($error = $this->validate_plugins())) {
return $error;
}
return true;
}