diff options
| author | Charles <sircharlesaze@gmail.com> | 2020-01-07 13:06:14 +0100 |
|---|---|---|
| committer | Charles <sircharlesaze@gmail.com> | 2020-01-07 13:06:14 +0100 |
| commit | 7086111ad4dd997e12a3220e1ee60c9b9bcf0bb8 (patch) | |
| tree | f7453d7dd5cbaaab246e23810b02d3edf1e451be /srcs/wordpress/wp-includes/class-wp-role.php | |
| parent | c59bdcf77c50cbe89b4a93782cdd6d9e7532080e (diff) | |
| download | ft_server-7086111ad4dd997e12a3220e1ee60c9b9bcf0bb8.tar.gz ft_server-7086111ad4dd997e12a3220e1ee60c9b9bcf0bb8.tar.bz2 ft_server-7086111ad4dd997e12a3220e1ee60c9b9bcf0bb8.zip | |
Added wordpress
Diffstat (limited to 'srcs/wordpress/wp-includes/class-wp-role.php')
| -rw-r--r-- | srcs/wordpress/wp-includes/class-wp-role.php | 110 |
1 files changed, 110 insertions, 0 deletions
diff --git a/srcs/wordpress/wp-includes/class-wp-role.php b/srcs/wordpress/wp-includes/class-wp-role.php new file mode 100644 index 0000000..fa8c9d0 --- /dev/null +++ b/srcs/wordpress/wp-includes/class-wp-role.php @@ -0,0 +1,110 @@ +<?php +/** + * User API: WP_Role class + * + * @package WordPress + * @subpackage Users + * @since 4.4.0 + */ + +/** + * Core class used to extend the user roles API. + * + * @since 2.0.0 + */ +class WP_Role { + /** + * Role name. + * + * @since 2.0.0 + * @var string + */ + public $name; + + /** + * List of capabilities the role contains. + * + * @since 2.0.0 + * @var array + */ + public $capabilities; + + /** + * Constructor - Set up object properties. + * + * The list of capabilities, must have the key as the name of the capability + * and the value a boolean of whether it is granted to the role. + * + * @since 2.0.0 + * + * @param string $role Role name. + * @param array $capabilities List of capabilities. + */ + public function __construct( $role, $capabilities ) { + $this->name = $role; + $this->capabilities = $capabilities; + } + + /** + * Assign role a capability. + * + * @since 2.0.0 + * + * @param string $cap Capability name. + * @param bool $grant Whether role has capability privilege. + */ + public function add_cap( $cap, $grant = true ) { + $this->capabilities[ $cap ] = $grant; + wp_roles()->add_cap( $this->name, $cap, $grant ); + } + + /** + * Removes a capability from a role. + * + * This is a container for WP_Roles::remove_cap() to remove the + * capability from the role. That is to say, that WP_Roles::remove_cap() + * implements the functionality, but it also makes sense to use this class, + * because you don't need to enter the role name. + * + * @since 2.0.0 + * + * @param string $cap Capability name. + */ + public function remove_cap( $cap ) { + unset( $this->capabilities[ $cap ] ); + wp_roles()->remove_cap( $this->name, $cap ); + } + + /** + * Determines whether the role has the given capability. + * + * The capabilities is passed through the {@see 'role_has_cap'} filter. + * The first parameter for the hook is the list of capabilities the class + * has assigned. The second parameter is the capability name to look for. + * The third and final parameter for the hook is the role name. + * + * @since 2.0.0 + * + * @param string $cap Capability name. + * @return bool True if the role has the given capability. False otherwise. + */ + public function has_cap( $cap ) { + /** + * Filters which capabilities a role has. + * + * @since 2.0.0 + * + * @param bool[] $capabilities Associative array of capabilities for the role. + * @param string $cap Capability name. + * @param string $name Role name. + */ + $capabilities = apply_filters( 'role_has_cap', $this->capabilities, $cap, $this->name ); + + if ( ! empty( $capabilities[ $cap ] ) ) { + return $capabilities[ $cap ]; + } else { + return false; + } + } + +} |
