Skip to content

Commit

Permalink
phpcs fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
wojsmol committed Apr 20, 2019
1 parent 64078d8 commit 873affc
Show file tree
Hide file tree
Showing 2 changed files with 37 additions and 26 deletions.
45 changes: 26 additions & 19 deletions src/Super_Admin_Command.php
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,11 @@
class Super_Admin_Command extends WP_CLI_Command {

private $fields = array(
'user_login'
'user_login',
);

public function __construct() {
$this->fetcher = new \WP_CLI\Fetchers\User;
$this->fetcher = new \WP_CLI\Fetchers\User();
}

/**
Expand Down Expand Up @@ -64,11 +64,10 @@ public function _list( $_, $assoc_args ) {
foreach ( $super_admins as $user_login ) {
WP_CLI::line( $user_login );
}
}
else {
} else {
$output_users = array();
foreach ( $super_admins as $user_login ) {
$output_user = new stdClass;
$output_user = new stdClass();

$output_user->user_login = $user_login;

Expand All @@ -95,12 +94,12 @@ public function _list( $_, $assoc_args ) {
public function add( $args, $_ ) {

$successes = $errors = 0;
$users = $this->fetcher->get_many( $args );
$users = $this->fetcher->get_many( $args );
if ( count( $users ) != count( $args ) ) {
$errors = count( $args ) - count( $users );
}
$user_logins = wp_list_pluck( $users, 'user_login' );
$super_admins = self::get_admins();
$user_logins = wp_list_pluck( $users, 'user_login' );
$super_admins = self::get_admins();
$num_super_admins = count( $super_admins );

foreach ( $user_logins as $user_login ) {
Expand All @@ -121,7 +120,7 @@ public function add( $args, $_ ) {
WP_CLI::success( 'Super admins remain unchanged.' );
}
} else {
if ( update_site_option( 'site_admins' , $super_admins ) ) {
if ( update_site_option( 'site_admins', $super_admins ) ) {
if ( $errors ) {
$user_count = count( $args );
WP_CLI::error( "Only granted super-admin capabilities to {$successes} of {$user_count} users." );
Expand Down Expand Up @@ -154,18 +153,26 @@ public function remove( $args, $_ ) {
WP_CLI::error( 'No super admins to revoke super-admin privileges from.' );
}

$users = $this->fetcher->get_many( $args );
$user_logins = $users ? array_values( array_unique( wp_list_pluck( $users, 'user_login' ) ) ) : array();
$users = $this->fetcher->get_many( $args );
$user_logins = $users ? array_values( array_unique( wp_list_pluck( $users, 'user_login' ) ) ) : array();
$user_logins_count = count( $user_logins );

if ( $user_logins_count < count( $args ) ) {
$flipped_user_logins = array_flip( $user_logins );
// Fetcher has already warned so don't bother here, but continue with any args that are possible login names to cater for invalid users in the site options meta.

$user_logins = array_merge( $user_logins, array_unique( array_filter( $args, function ( $v ) use ( $flipped_user_logins ) {
// Exclude numeric and email-like logins (login names can be email-like but ignore this given the circumstances).
return ! isset( $flipped_user_logins[ $v ] ) && ! is_numeric( $v ) && ! is_email( $v );
} ) ) );
$user_logins = array_merge(
$user_logins,
array_unique(
array_filter(
$args,
function ( $v ) use ( $flipped_user_logins ) {
// Exclude numeric and email-like logins (login names can be email-like but ignore this given the circumstances).
return ! isset( $flipped_user_logins[ $v ] ) && ! is_numeric( $v ) && ! is_email( $v );
}
)
)
);
$user_logins_count = count( $user_logins );
}
if ( ! $user_logins ) {
Expand All @@ -174,15 +181,15 @@ public function remove( $args, $_ ) {

$update_super_admins = array_diff( $super_admins, $user_logins );
if ( $update_super_admins === $super_admins ) {
WP_CLI::error( $user_logins_count > 1 ? 'None of the given users is a super admin.' : 'The given user is not a super admin.' );
WP_CLI::error( $user_logins_count > 1 ? 'None of the given users is a super admin.' : 'The given user is not a super admin.' );
}

update_site_option( 'site_admins' , $update_super_admins );
update_site_option( 'site_admins', $update_super_admins );

$successes = count( $super_admins ) - count( $update_super_admins );
if ( $successes === $user_logins_count ) {
$message = $user_logins_count > 1 ? 'users' : 'user';
$msg = "Revoked super-admin capabilities from {$user_logins_count} {$message}.";
$msg = "Revoked super-admin capabilities from {$user_logins_count} {$message}.";
} else {
$msg = "Revoked super-admin capabilities from {$successes} of {$user_logins_count} users.";
}
Expand All @@ -194,6 +201,6 @@ public function remove( $args, $_ ) {

private static function get_admins() {
// We don't use get_super_admins() because we don't want to mess with the global
return (array) get_site_option( 'site_admins', array('admin') );
return (array) get_site_option( 'site_admins', array( 'admin' ) );
}
}
18 changes: 11 additions & 7 deletions super-admin-command.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,14 @@
require_once $wpcli_super_admin_autoloader;
}

WP_CLI::add_command( 'super-admin', 'Super_Admin_Command', array(
'before_invoke' => function () {
if ( !is_multisite() ) {
WP_CLI::error( 'This is not a multisite installation.' );
}
}
) );
WP_CLI::add_command(
'super-admin',
'Super_Admin_Command',
array(
'before_invoke' => function () {
if ( ! is_multisite() ) {
WP_CLI::error( 'This is not a multisite installation.' );
}
},
)
);

0 comments on commit 873affc

Please sign in to comment.