PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 4.14.2
GiveWP – Donation Plugin and Fundraising Platform v4.14.2
4.16.2 4.16.1 4.16.0 4.15.5 4.15.4 4.15.3 4.15.2 4.15.1 4.15.0 2.3.0 2.3.1 2.3.2 2.30.0 2.31.0 2.31.1 2.32.0 2.33.0 2.33.1 2.33.2 2.33.3 2.33.4 2.33.5 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.5.0 2.5.1 2.5.10 2.5.11 2.5.12 2.5.13 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.5.8 2.5.9 2.6.0 2.6.1 2.6.2 2.6.3 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.9.0 2.9.1 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.1.0 3.1.1 3.1.2 3.10.0 3.11.0 3.12.0 3.12.1 3.12.2 3.12.3 3.13.0 3.14.0 3.14.1 3.14.2 3.15.0 3.15.1 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.17.0 3.17.1 3.17.2 3.18.0 3.19.0 3.19.1 3.19.2 3.19.3 3.19.4 3.2.0 3.2.1 3.2.2 3.20.0 3.21.0 3.21.1 3.22.0 3.22.1 3.22.2 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.5.1 3.6.0 3.6.1 3.6.2 3.7.0 3.8.0 3.9.0 4.0.0 4.1.0 4.1.1 4.10.0 4.10.1 4.11.0 4.12.0 4.13.0 4.13.1 4.13.2 4.14.0 4.14.1 4.14.2 4.14.3 4.14.4 4.14.5 4.14.6 4.2.0 4.2.1 4.3.0 4.3.1 4.3.2 4.4.0 4.5.0 4.6.1 4.7.0 4.7.1 4.8.0 4.8.1 4.9.0 trunk 1.9.0 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.2 2.11.3 2.12.0 2.12.1 2.12.2 2.12.3 2.13.0 2.13.1 2.13.2 2.13.3 2.13.4 2.14.0 2.15.0 2.16.0 2.16.1 2.17.0 2.17.1 2.17.3 2.18.0 2.18.1 2.19.1 2.19.2 2.19.3 2.19.4 2.19.5 2.19.6 2.19.7 2.19.8 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.20.0 2.20.1 2.20.2 2.21.0 2.21.1 2.21.2 2.21.3 2.21.4 2.22.0 2.22.1 2.22.2 2.22.3 2.23.0 2.23.1 2.23.2 2.24.0 2.24.1 2.24.2 2.25.0 2.25.1 2.25.2 2.25.3 2.26.0 2.27.0 2.27.1 2.27.2 2.27.3 2.28.0 2.29.0 2.29.1 2.29.2
give / src / Framework / Permissions / Migrations / AddViewCapabilitiesToAdminRoles.php
give / src / Framework / Permissions / Migrations Last commit date
AddViewCapabilitiesToAdminRoles.php 5 months ago FixGiveAccountantCapabilities.php 5 months ago FixGiveWorkerCapabilities.php 5 months ago
AddViewCapabilitiesToAdminRoles.php
110 lines
1 <?php
2
3 declare(strict_types=1);
4
5 namespace Give\Framework\Permissions\Migrations;
6
7 use Give\Framework\Migrations\Contracts\Migration;
8
9 /**
10 * Adds new view capabilities to give_manager and administrator roles.
11 *
12 * This migration adds the new view_give_forms and view_give_payments capabilities that were added to get_core_caps() for existing installations.
13 *
14 * @since 4.14.0
15 */
16 class AddViewCapabilitiesToAdminRoles extends Migration
17 {
18 /**
19 * @inheritdoc
20 */
21 public static function id(): string
22 {
23 return 'add_view_capabilities_to_admin_roles';
24 }
25
26 /**
27 * @inheritdoc
28 */
29 public static function title(): string
30 {
31 return 'Add view capabilities to GiveWP Manager and Administrator roles';
32 }
33
34 /**
35 * @inheritdoc
36 */
37 public static function timestamp(): int
38 {
39 return strtotime('2026-01-16');
40 }
41
42 /**
43 * @inheritdoc
44 */
45 public function run(): void
46 {
47 $this->fixRoleCapabilities();
48 $this->fixUserCapabilities();
49 }
50
51 /**
52 * Add view capabilities at the role level.
53 *
54 * @since 4.14.0
55 */
56 private function fixRoleCapabilities(): void
57 {
58 global $wp_roles;
59
60 if (!class_exists('WP_Roles')) {
61 return;
62 }
63
64 if (!isset($wp_roles)) {
65 $wp_roles = new \WP_Roles();
66 }
67
68 if (!is_object($wp_roles)) {
69 return;
70 }
71
72 // Add new view capabilities to give_manager
73 $wp_roles->add_cap('give_manager', 'view_give_forms');
74 $wp_roles->add_cap('give_manager', 'view_give_payments');
75
76 // Add new view capabilities to administrator
77 $wp_roles->add_cap('administrator', 'view_give_forms');
78 $wp_roles->add_cap('administrator', 'view_give_payments');
79 }
80
81 /**
82 * Add view capabilities at the user level for all give_manager and administrator users.
83 *
84 * @since 4.14.0
85 */
86 private function fixUserCapabilities(): void
87 {
88 $users = get_users([
89 'role__in' => ['give_manager', 'administrator'],
90 'fields' => 'ID',
91 ]);
92
93 foreach ($users as $userId) {
94 $user = get_userdata($userId);
95
96 if (!$user) {
97 continue;
98 }
99
100 if (!$user->has_cap('view_give_forms')) {
101 $user->add_cap('view_give_forms');
102 }
103
104 if (!$user->has_cap('view_give_payments')) {
105 $user->add_cap('view_give_payments');
106 }
107 }
108 }
109 }
110