From: scribu Date: Mon, 8 Jul 2013 18:07:10 +0000 (+0300) Subject: plugin: parse_name() only needs the first arg and only needs to return X-Git-Tag: v0.11.0~44 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=c54acb14e04379bb2d40a10904d2db8a9bc958eb;p=wvm%2Fwvm.git plugin: parse_name() only needs the first arg and only needs to return the filename. It accepted the whole arguments initially because it used to check if the slug was missing. This is handled by the synopsis validator now, beforehand. --- diff --git a/php/commands/plugin.php b/php/commands/plugin.php index e432b469..8c5895fa 100644 --- a/php/commands/plugin.php +++ b/php/commands/plugin.php @@ -36,7 +36,8 @@ class Plugin_Command extends \WP_CLI\CommandWithUpgrade { } protected function status_single( $args ) { - list( $file, $name ) = $this->parse_name( $args ); + $name = $args[0]; + $file = $this->parse_name( $name ); $details = $this->get_details( $file ); @@ -77,7 +78,8 @@ class Plugin_Command extends \WP_CLI\CommandWithUpgrade { * @synopsis [--network] */ function activate( $args, $assoc_args = array() ) { - list( $file, $name ) = $this->parse_name( $args ); + $name = $args[0]; + $file = $this->parse_name( $name ); $network_wide = isset( $assoc_args['network'] ); @@ -96,7 +98,8 @@ class Plugin_Command extends \WP_CLI\CommandWithUpgrade { * @synopsis [--network] */ function deactivate( $args, $assoc_args = array() ) { - list( $file, $name ) = $this->parse_name( $args ); + $name = $args[0]; + $file = $this->parse_name( $name ); $network_wide = isset( $assoc_args['network'] ); @@ -115,7 +118,8 @@ class Plugin_Command extends \WP_CLI\CommandWithUpgrade { * @synopsis [--network] */ function toggle( $args, $assoc_args = array() ) { - list( $file, $name ) = $this->parse_name( $args ); + $name = $args[0]; + $file = $this->parse_name( $name ); $network_wide = isset( $assoc_args['network'] ); @@ -135,7 +139,7 @@ class Plugin_Command extends \WP_CLI\CommandWithUpgrade { $path = untrailingslashit( WP_PLUGIN_DIR ); if ( !empty( $args ) ) { - list( $file, $name ) = $this->parse_name( $args ); + $file = $this->parse_name( $args[0] ); $path .= '/' . $file; if ( isset( $assoc_args['dir'] ) ) @@ -190,7 +194,8 @@ class Plugin_Command extends \WP_CLI\CommandWithUpgrade { * @synopsis [--version=] */ function update( $args, $assoc_args ) { - list( $basename ) = $this->parse_name( $args ); + $name = $args[0]; + $basename = $this->parse_name( $name ); if ( isset( $assoc_args['version'] ) && 'dev' == $assoc_args['version'] ) { $this->_delete( $basename, false ); @@ -254,7 +259,8 @@ class Plugin_Command extends \WP_CLI\CommandWithUpgrade { * @synopsis [--no-delete] */ function uninstall( $args, $assoc_args = array() ) { - list( $file, $name ) = $this->parse_name( $args ); + $name = $args[0]; + $file = $this->parse_name( $name ); if ( is_plugin_active( $file ) ) { WP_CLI::error( 'The plugin is active.' ); @@ -276,7 +282,8 @@ class Plugin_Command extends \WP_CLI\CommandWithUpgrade { * @synopsis */ function delete( $args, $assoc_args = array() ) { - list( $file, $name ) = $this->parse_name( $args ); + $name = $args[0]; + $file = $this->parse_name( $name ); if ( $this->_delete( $file ) ) { WP_CLI::success( sprintf( "Deleted '%s' plugin.", $name ) ); @@ -325,14 +332,12 @@ class Plugin_Command extends \WP_CLI\CommandWithUpgrade { } /** - * Parse the name of a plugin to a filename, check if it exists + * Parse the name of a plugin to a filename; check if it exists. * - * @param array $args - * @return array + * @param string name + * @return string */ - private function parse_name( $args ) { - $name = $args[0]; - + private function parse_name( $name ) { $plugins = get_plugins( '/' . $name ); if ( !empty( $plugins ) ) { @@ -349,9 +354,12 @@ class Plugin_Command extends \WP_CLI\CommandWithUpgrade { } } - return array( $file, $name ); + return $file; } + /** + * Converts a plugin basename back into a friendly slug. + */ private function get_name( $file ) { if ( false === strpos( $file, '/' ) ) $name = basename( $file, '.php' );