Subscriber.php
2.23 KB
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
<?php
namespace WP_Rocket\Engine\Capabilities;
use WP_Rocket\Event_Management\Subscriber_Interface;
/**
* Manage WP Rocket custom capabilities
*
* @since 3.4
*/
class Subscriber implements Subscriber_Interface {
/**
* Capabilities manager instance
*
* @var Manager
*/
private $capabilities;
/**
* Instantiate the subscriber
*
* @param Manager $capabilities Capabilities manager instance.
*/
public function __construct( Manager $capabilities ) {
$this->capabilities = $capabilities;
}
/**
* Return an array of events that this subscriber wants to listen to.
*
* @since 3.4
*
* @return array
*/
public static function get_subscribed_events() {
$slug = rocket_get_constant( 'WP_ROCKET_PLUGIN_SLUG' );
return [
"option_page_capability_{$slug}" => 'required_capability',
'ure_built_in_wp_caps' => 'add_caps_to_ure',
'ure_capabilities_groups_tree' => 'add_group_to_ure',
'wp_rocket_upgrade' => [ 'add_capabilities_on_upgrade', 12, 2 ],
];
}
/**
* Sets the capability for the options page.
*
* @since 3.4
*
* @param string $capability The capability used for the page, which is manage_options by default.
* @return string
*/
public function required_capability( $capability ) {
return $this->capabilities->required_capability( $capability );
}
/**
* Adds WP Rocket capabilities to User Role Editor
*
* @since 3.4
*
* @param array $caps Array of existing capabilities.
* @return array
*/
public function add_caps_to_ure( $caps ) {
return $this->capabilities->add_caps_to_ure( $caps );
}
/**
* Adds WP Rocket as a group in User Role Editor
*
* @since 3.4
*
* @param array $groups Array of existing groups.
* @return array
*/
public function add_group_to_ure( $groups ) {
return $this->capabilities->add_group_to_ure( $groups );
}
/**
* Adds WP Rocket capabilities on plugin upgrade
*
* @since 3.6.3
*
* @param string $wp_rocket_version Latest WP Rocket version.
* @param string $actual_version Installed WP Rocket version.
* @return void
*/
public function add_capabilities_on_upgrade( $wp_rocket_version, $actual_version ) {
$this->capabilities->add_capabilities_on_upgrade( $wp_rocket_version, $actual_version );
}
}