From 654158d5498e1643b32a3079b2fc831c0dd5ae40 Mon Sep 17 00:00:00 2001 From: Adam Lynch Date: Tue, 23 May 2017 22:15:03 -0400 Subject: [PATCH 1/2] added profiles command to list all profiles --- class/command.php | 21 +++++++++++++++++++++ class/wpsdb-cli.php | 9 +++++++++ wp-sync-db-cli.php | 8 ++++++++ 3 files changed, 38 insertions(+) diff --git a/class/command.php b/class/command.php index cee217e..98c2288 100644 --- a/class/command.php +++ b/class/command.php @@ -35,6 +35,27 @@ public function migrate( $args, $assoc_args ) { return; } + /** + * List all profiles. + * + * ## EXAMPLES + * + * wp wpsdb profiles + * + */ + + public function profiles() { + $result = wpsdb_profiles(); + + if ( $result ) { + WP_CLI::log( __( $result, 'wp-sync-db-cli' ) ); + return; + } + + WP_CLI::warning( __( 'You have no profiles.', 'wp-sync-db-cli' ) ); + return; + } + } WP_CLI::add_command( 'wpsdb', 'WPSDBCLI' ); diff --git a/class/wpsdb-cli.php b/class/wpsdb-cli.php index ab59116..3cbd87a 100644 --- a/class/wpsdb-cli.php +++ b/class/wpsdb-cli.php @@ -10,6 +10,15 @@ function __construct( $plugin_file_path ) { if( ! $this->meets_version_requirements( '1.4b1' ) ) return; } + function cli_profiles() { + $wpsdb_settings = get_option( 'wpsdb_settings' ); + $profiles = []; + foreach ($wpsdb_settings['profiles'] as $id => $profile) { + array_push($profiles, "\t{$id} | {$profile['action']} => {$profile['name']}"); + } + return implode("\n", $profiles);; + } + function cli_migration( $profile ) { global $wpsdb; $wpsdb_settings = get_option( 'wpsdb_settings' ); diff --git a/wp-sync-db-cli.php b/wp-sync-db-cli.php index e356bd0..16b02cc 100644 --- a/wp-sync-db-cli.php +++ b/wp-sync-db-cli.php @@ -36,3 +36,11 @@ function wpsdb_migrate( $profile ) { } return $wpsdb_cli->cli_migration( $profile ); } + +function wpsdb_profiles() { + global $wpsdb_cli; + if( empty( $wpsdb_cli ) ) { + return new WP_Error( 'wpsdb_cli_error', __( 'WP Sync DB CLI class not available', 'wp-sync-db-cli' ) ); + } + return $wpsdb_cli->cli_profiles(); +} From 512277ef5a391b1539c8aa16bd603e886057304d Mon Sep 17 00:00:00 2001 From: Adam Lynch Date: Wed, 31 May 2017 22:33:44 -0400 Subject: [PATCH 2/2] fixed profiles command to display correct ids --- class/wpsdb-cli.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/class/wpsdb-cli.php b/class/wpsdb-cli.php index 3cbd87a..872508b 100644 --- a/class/wpsdb-cli.php +++ b/class/wpsdb-cli.php @@ -13,7 +13,8 @@ function __construct( $plugin_file_path ) { function cli_profiles() { $wpsdb_settings = get_option( 'wpsdb_settings' ); $profiles = []; - foreach ($wpsdb_settings['profiles'] as $id => $profile) { + foreach ($wpsdb_settings['profiles'] as $index => $profile) { + $id = $index + 1; array_push($profiles, "\t{$id} | {$profile['action']} => {$profile['name']}"); } return implode("\n", $profiles);;