PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / 2.4.4
Booking for Appointments and Events Calendar – Amelia v2.4.4
2.4.4 2.4.3 2.4.2 2.4.1 2.4 trunk 1.2.1 1.2.10 1.2.11 1.2.12 1.2.13 1.2.14 1.2.15 1.2.16 1.2.17 1.2.18 1.2.19 1.2.2 1.2.20 1.2.21 1.2.22 1.2.23 1.2.24 1.2.25 1.2.26 1.2.27 1.2.28 1.2.29 1.2.3 1.2.30 1.2.31 1.2.32 1.2.33 1.2.34 1.2.35 1.2.36 1.2.37 1.2.38 1.2.4 1.2.5 1.2.6 1.2.7 1.2.8 1.2.9 2.0 2.0.1 2.0.2 2.1 2.1.1 2.1.2 2.1.3 2.2 2.2.1 2.3
ameliabooking / src / Infrastructure / WP / UserRoles / UserRoles.php
ameliabooking / src / Infrastructure / WP / UserRoles Last commit date
UserRoles.php 1 year ago
UserRoles.php
52 lines
1 <?php
2
3 namespace AmeliaBooking\Infrastructure\WP\UserRoles;
4
5 /**
6 * Class UserRoles
7 *
8 * @package AmeliaBooking\Infrastructure\WP
9 */
10 class UserRoles
11 {
12 /**
13 * @param $roles
14 */
15 public static function init($roles)
16 {
17 /** @var array $roles */
18 foreach ($roles as $role) {
19 if (!wp_roles()->is_role($role['name'])) {
20 add_role($role['name'], $role['label'], $role['capabilities']);
21 }
22 }
23 }
24
25 /**
26 * Return the current user amelia role
27 *
28 * @param $wpUser
29 * @return string|null
30 */
31 public static function getUserAmeliaRole($wpUser)
32 {
33 if (in_array('administrator', $wpUser->roles, true) || is_super_admin($wpUser->ID)) {
34 return 'admin';
35 }
36
37 if (in_array('wpamelia-manager', $wpUser->roles, true)) {
38 return 'manager';
39 }
40
41 if (in_array('wpamelia-provider', $wpUser->roles, true)) {
42 return 'provider';
43 }
44
45 if (in_array('wpamelia-customer', $wpUser->roles, true)) {
46 return 'customer';
47 }
48
49 return null;
50 }
51 }
52