PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / 1.2.20
Booking for Appointments and Events Calendar – Amelia v1.2.20
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 3 years 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 bool|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