PluginProbe
FireBox – WooCommerce Popup Builder, Exit Intent Popup, Email Optin & Cart Abandonment / 3.1.10
FireBox – WooCommerce Popup Builder, Exit Intent Popup, Email Optin & Cart Abandonment v3.1.10
3.1.13 3.1.12 3.1.11 3.1.10 3.1.9 3.1.8 3.1.7 trunk 1.0.0 1.0.1 1.0.10 1.0.11 1.0.12 1.0.13 1.0.14 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.0.7 1.0.8 1.0.9 1.1.0 1.1.1 All 122 releases
firebox / Inc / Core / Admin / Capabilities.php

Capabilities.php in FireBox – WooCommerce Popup Builder, Exit Intent Popup, Email Optin & Cart Abandonment 3.1.10, at Inc/Core/Admin/Capabilities.php

100 lines 1.9 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * @package FireBox
4 * @version 3.1.10 Free
5 *
6 * @author FirePlugins <info@fireplugins.com>
7 * @link https://www.fireplugins.com
8 * @copyright Copyright © 2026 FirePlugins All Rights Reserved
9 * @license GNU GPLv3 <http://www.gnu.org/licenses/gpl.html> or later
10 */
11
12 namespace FireBox\Core\Admin;
13
14 if (!defined('ABSPATH'))
15 {
16 exit; // Exit if accessed directly.
17 }
18
19 class Capabilities
20 {
21 public function __construct()
22 {
23 $this->setup();
24 }
25
26 public static function getCapabilities()
27 {
28 return [
29 'edit_firebox',
30 'read_firebox',
31 'delete_firebox',
32 'edit_fireboxes',
33 'edit_others_fireboxes',
34 'publish_fireboxes',
35 'read_private_fireboxes',
36 'read_fireboxes',
37 'delete_fireboxes',
38 'delete_private_fireboxes',
39 'delete_published_fireboxes',
40 'delete_others_fireboxes',
41 'edit_private_fireboxes',
42 'edit_published_fireboxes'
43 ];
44 }
45
46 private function setup()
47 {
48 $capabilities = self::getCapabilities();
49
50 $admin = get_role('administrator');
51
52 if ($admin)
53 {
54 self::addCapabilities($admin, $capabilities);
55 }
56 else
57 {
58 $roles = get_editable_roles();
59
60 foreach ($roles as $role_name => $data)
61 {
62 if (isset($data['capabilities']['manage_options']) && $data['capabilities']['manage_options'])
63 {
64 $role = get_role($role_name);
65
66 if ($role)
67 {
68 self::addCapabilities($role, $capabilities);
69 }
70 }
71 }
72 }
73
74 wp_get_current_user()->get_role_caps();
75 }
76
77 /**
78 * Adds the capabilities a role is missing.
79 *
80 * add_cap() writes the role option on every call, and this now runs on
81 * every site of a network, so only the missing ones are added.
82 *
83 * @param \WP_Role $role
84 * @param array $capabilities
85 *
86 * @return void
87 */
88 private static function addCapabilities($role, $capabilities)
89 {
90 foreach ($capabilities as $cap)
91 {
92 if ($role->has_cap($cap))
93 {
94 continue;
95 }
96
97 $role->add_cap($cap);
98 }
99 }
100 }