/var/www/hkosl.com/aga/wp-content/plugins/wordpress-seo/admin/roles/class-role-manager-wp.php


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
<?php
/**
 * WPSEO plugin file.
 *
 * @package WPSEO\Admin\Roles
 */

/**
 * WordPress' default implementation of the Role Manager.
 */
final class WPSEO_Role_Manager_WP extends WPSEO_Abstract_Role_Manager {

    
/**
     * Adds a role to the system.
     *
     * @param string $role         Role to add.
     * @param string $display_name Name to display for the role.
     * @param array  $capabilities Capabilities to add to the role.
     *
     * @return void
     */
    
protected function add_role$role$display_name, array $capabilities = array() ) {
        
$wp_role get_role$role );
        if ( 
$wp_role ) {
            foreach ( 
$capabilities as $capability => $grant ) {
                
$wp_role->add_cap$capability$grant );
            }

            return;
        }

        
// @codingStandardsIgnoreLine
        
add_role$role$display_name$capabilities );
    }

    
/**
     * Removes a role from the system.
     *
     * @param string $role Role to remove.
     *
     * @return void
     */
    
protected function remove_role$role ) {
        
remove_role$role );
    }

    
/**
     * Formats the capabilities to the required format.
     *
     * @param array $capabilities Capabilities to format.
     * @param bool  $enabled      Whether these capabilities should be enabled or not.
     *
     * @return array Formatted capabilities.
     */
    
protected function format_capabilities( array $capabilities$enabled true ) {
        
// Flip keys and values.
        
$capabilities array_flip$capabilities );

        
// Set all values to $enabled.
        
return array_fill_keysarray_keys$capabilities ), $enabled );
    }
}