PluginProbe ʕ •ᴥ•ʔ
PublishPress Capabilities – User Role Editor, Access Permissions, User Capabilities, Admin Menus / 2.45.0
PublishPress Capabilities – User Role Editor, Access Permissions, User Capabilities, Admin Menus v2.45.0
2.45.0 2.44.0 trunk 1.10 1.10.1 1.4.1 1.4.10 1.4.2 1.4.3 1.4.4 1.4.5 1.4.6 1.4.7 1.4.8 1.4.9 1.5 1.5.1 1.5.10 1.5.11 1.5.2 1.5.3 1.5.4 1.5.5 1.5.7 1.5.8 1.5.9 1.6 1.6.1 1.7 1.7.1 1.7.2 1.7.3 1.7.4 1.7.5 1.8.1 1.9 1.9.10 1.9.12 1.9.2 1.9.3 1.9.4 1.9.5 1.9.6 1.9.9 2.0 2.0.2 2.0.3 2.1 2.1.1 2.10.0 2.10.1 2.10.2 2.10.3 2.11.1 2.12.1 2.12.2 2.13.0 2.14.0 2.15.0 2.16.0 2.17.0 2.18.0 2.18.2 2.19.0 2.19.1 2.19.2 2.2 2.2.1 2.20.0 2.21.0 2.22.0 2.23.0 2.3 2.3.1 2.3.2 2.3.3 2.3.4 2.3.5 2.3.6 2.30.0 2.31.0 2.32.0 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.40.0 2.41.0 2.42.0 2.43.0 2.5.0 2.5.1 2.5.2 2.6.0 2.6.1 2.7.0 2.7.1 2.8.0 2.8.1 2.9.0 2.9.1
capability-manager-enhanced / includes / plugin-capabilities.php
capability-manager-enhanced / includes Last commit date
admin-notices 2 months ago features 2 weeks ago plugin-capabilities 2 months ago redirects 2 months ago roles 1 month ago admin-load.php 1 month ago admin.php 2 weeks ago application-passwords.php 2 weeks ago backup-handler.php 2 weeks ago backup.php 1 month ago cap-helper.php 6 months ago dashboard.php 2 months ago extractor-capabilities.php 6 months ago filters-admin.php 6 months ago filters-woocommerce.php 6 months ago filters-wp_rest_workarounds.php 6 months ago filters.php 5 months ago functions-admin.php 2 weeks ago functions.php 2 weeks ago handler.php 2 weeks ago inflect-cme.php 6 months ago manager.php 2 weeks ago network.php 6 months ago plugin-capabilities.php 2 months ago pp-handler.php 6 months ago pp-ui.php 3 months ago publishpress-roles.php 6 months ago settings-handler.php 6 months ago settings-ui.php 2 weeks ago settings.php 6 months ago test-user-ui.php 1 month ago test-user.php 5 months ago
plugin-capabilities.php
284 lines
1 <?php
2
3 namespace PublishPress\Capabilities;
4
5 class Plugin_Capabilities
6 {
7 private static $instance = null;
8
9 public static function instance()
10 {
11 if (is_null(self::$instance)) {
12 self::$instance = new Plugin_Capabilities();
13 }
14
15 return self::$instance;
16 }
17
18 public function __construct()
19 {
20 //PublishPress Capabilities
21 add_filter('cme_plugin_capabilities', [$this, 'cme_publishpress_capabilities_capabilities']);
22 //PublishPress Authors
23 add_filter('cme_plugin_capabilities', [$this, 'cme_multiple_authors_capabilities']);
24 //Gravity Forms
25 add_filter('cme_plugin_capabilities', [$this, 'cme_gravityforms_capabilities']);
26 //WPML
27 add_filter('cme_plugin_capabilities', [$this, 'cme_wpml_capabilities']);
28 //WS Form
29 add_filter('cme_plugin_capabilities', [$this, 'cme_wsform_capabilities']);
30 //TaxoPress
31 add_filter('cme_plugin_capabilities', [$this, 'cme_taxopress_capabilities']);
32 //WooCommerce`
33 add_filter('cme_plugin_capabilities', [$this, 'cme_woocommerce_capabilities']);
34 //Echo Knowledge Base
35 add_filter('cme_plugin_capabilities', [$this, 'cme_echo_knowledge_base_capabilities']);
36 // Yoast SEO
37 add_filter('cme_plugin_capabilities', [$this, 'cme_yoast_seo_capabilities']);
38 }
39
40 /**
41 * PublishPress Capabilities
42 *
43 * @param array $plugin_caps
44 *
45 * @return array
46 */
47 public function cme_publishpress_capabilities_capabilities($plugin_caps)
48 {
49
50 $plugin_caps['PublishPress Capabilities'] = apply_filters('cme_publishpress_capabilities_capabilities', []);
51
52 return $plugin_caps;
53 }
54
55 /**
56 * PublishPress Authors
57 *
58 * @param array $plugin_caps
59 *
60 * @return array
61 */
62 public function cme_multiple_authors_capabilities($plugin_caps)
63 {
64
65 if (defined('PUBLISHPRESS_MULTIPLE_AUTHORS_VERSION')) {
66 if ($_caps = apply_filters('cme_multiple_authors_capabilities', [])) {
67 $plugin_caps['PublishPress Authors'] = $_caps;
68 }
69 }
70
71 return $plugin_caps;
72 }
73
74 /**
75 * Gravity Forms
76 *
77 * @param array $plugin_caps
78 *
79 * @return array
80 */
81 public function cme_gravityforms_capabilities($plugin_caps)
82 {
83 if (defined('GF_PLUGIN_DIR_PATH')) {
84 $plugin_caps['Gravity Forms'] = apply_filters(
85 'cme_gravityforms_capabilities',
86 [
87 'gravityforms_create_form',
88 'gravityforms_delete_forms',
89 'gravityforms_edit_forms',
90 'gravityforms_preview_forms',
91 'gravityforms_view_entries',
92 'gravityforms_edit_entries',
93 'gravityforms_delete_entries',
94 'gravityforms_view_entry_notes',
95 'gravityforms_edit_entry_notes',
96 'gravityforms_export_entries',
97 'gravityforms_view_settings',
98 'gravityforms_edit_settings',
99 'gravityforms_view_updates',
100 'gravityforms_view_addons',
101 'gravityforms_system_status',
102 'gravityforms_uninstall',
103 'gravityforms_logging',
104 'gravityforms_api_settings',
105 ]
106 );
107 }
108
109 return $plugin_caps;
110 }
111
112 /**
113 * WPML
114 *
115 * @param array $plugin_caps
116 *
117 * @return array
118 */
119 public function cme_wpml_capabilities($plugin_caps)
120 {
121
122 if (defined('WPML_PLUGIN_FILE')) {
123 $plugin_caps['WPML'] = apply_filters(
124 'cme_wpml_capabilities',
125 [
126 'wpml_manage_translation_management',
127 'wpml_manage_languages',
128 'wpml_manage_translation_options',
129 'wpml_manage_troubleshooting',
130 'wpml_manage_taxonomy_translation',
131 'wpml_manage_wp_menus_sync',
132 'wpml_manage_translation_analytics',
133 'wpml_manage_string_translation',
134 'wpml_manage_sticky_links',
135 'wpml_manage_navigation',
136 'wpml_manage_theme_and_plugin_localization',
137 'wpml_manage_media_translation',
138 'wpml_manage_support',
139 'wpml_manage_woocommerce_multilingual',
140 'wpml_operate_woocommerce_multilingual',
141 ]
142 );
143 }
144
145 return $plugin_caps;
146 }
147
148 /**
149 * WS Form
150 *
151 * @param array $plugin_caps
152 *
153 * @return array
154 */
155 public function cme_wsform_capabilities($plugin_caps)
156 {
157 if (defined('WS_FORM_VERSION')) {
158 $plugin_caps['WS Form'] = apply_filters(
159 'cme_wsform_capabilities',
160 [
161 'create_form',
162 'delete_form',
163 'edit_form',
164 'export_form',
165 'import_form',
166 'publish_form',
167 'read_form',
168 'delete_submission',
169 'edit_submission',
170 'export_submission',
171 'read_submission',
172 'create_form_style',
173 'delete_form_style',
174 'edit_form_style',
175 'export_form_style',
176 'import_form_style',
177 'publish_form_style',
178 'read_form_style',
179 'manage_options_wsform',
180 ]
181 );
182 }
183
184 return $plugin_caps;
185 }
186
187 /**
188 * TaxoPress
189 *
190 * @param array $plugin_caps
191 *
192 * @return array
193 */
194 public function cme_taxopress_capabilities($plugin_caps)
195 {
196
197 if (defined('STAGS_VERSION')) {
198 $plugin_caps['TaxoPress'] = apply_filters(
199 'cme_taxopress_capabilities',
200 [
201 'simple_tags',
202 'admin_simple_tags'
203 ]
204 );
205 }
206
207 return $plugin_caps;
208 }
209
210 /**
211 * Echo Knowledge Base
212 *
213 * @param array $plugin_caps
214 *
215 * @return array
216 */
217 public function cme_echo_knowledge_base_capabilities($plugin_caps)
218 {
219
220 if (defined('EPKB_PLUGIN_NAME')) {
221 $plugin_caps['Echo Knowledge Base'] = apply_filters(
222 'cme_echo_knowledge_base_capabilities',
223 [
224 'admin_eckb_access_manager_page',
225 'admin_eckb_access_crud_users',
226 'admin_eckb_access_frontend_editor_write',
227 'admin_eckb_access_search_analytics_read',
228 'admin_eckb_access_order_articles_write',
229 'admin_eckb_access_need_help_read',
230 'admin_eckb_access_addons_news_read'
231 ]
232 );
233 }
234
235 return $plugin_caps;
236 }
237
238 /**
239 * Yoast SEO
240 *
241 * @param array $plugin_caps
242 *
243 * @return array
244 */
245 public function cme_yoast_seo_capabilities($plugin_caps) {
246 if (defined('WPSEO_FILE')) {
247 $plugin_caps['Yoast SEO'] = apply_filters('cme_yoast_seo_capabilities',
248 [
249 'view_site_health_checks',
250 'wpseo_bulk_edit',
251 'wpseo_edit_advanced_metadata',
252 'wpseo_manage_options'
253
254 ]
255 );
256 }
257
258 return $plugin_caps;
259 }
260
261 /**
262 * WooCommerce
263 *
264 * @param array $plugin_caps
265 *
266 * @return array
267 */
268 public function cme_woocommerce_capabilities($plugin_caps)
269 {
270
271 if (defined('WC_PLUGIN_FILE') && class_exists('WC_Install')) {
272 $woocommerce_caps = array_merge(...array_values(\WC_Install::get_core_capabilities()));
273 sort($woocommerce_caps);
274 // https://github.com/woocommerce/woocommerce/blob/f513ce7c253b0b05511e1eb592b9345aaf084f9a/plugins/woocommerce/includes/class-wc-install.php#L1788C3-L1814C4
275 $plugin_caps['WooCommerce'] = apply_filters(
276 'cme_woocommerce_capabilities',
277 $woocommerce_caps
278 );
279 }
280
281 return $plugin_caps;
282 }
283 }
284