PluginProbe ʕ •ᴥ•ʔ
Kirki – Freeform Page Builder, Website Builder & Customizer / 6.1.1
Kirki – Freeform Page Builder, Website Builder & Customizer v6.1.1
6.1.1 6.1.0 6.0.14 6.0.13 6.0.12 6.0.11 6.0.10 6.0.9 6.0.8 6.0.7 6.0.6 6.0.5 6.0.4 6.0.3 6.0.2 6.0.1 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7 3.1.8 3.1.9 4.0.19 4.0.20 4.0.21 4.0.22 4.0.23 4.0.24 4.1 4.2.0 5.0.0 5.1.0 5.1.1 5.2.0 5.2.1 5.2.2 5.2.3 6.0.0 trunk 3.0.40 3.0.41 3.0.42 3.0.43 3.0.44 3.0.45 3.1.0 3.1.1 3.1.2
kirki / app / Wordpress / User.php
kirki / app / Wordpress Last commit date
User.php 3 weeks ago
User.php
45 lines
1 <?php
2
3 namespace Kirki\App\Wordpress;
4
5 use Kirki\App\Supports\Role;
6 use function Kirki\Framework\collection;
7
8 defined('ABSPATH') || exit;
9
10 use Kirki\App\Constants\AccessLevels;
11
12 class User extends \Kirki\Framework\Wordpress\User
13 {
14 /**
15 * Check if the current user has specific access
16 *
17 * @param string|string[] $access_level The access level to check access.
18 *
19 * @return bool
20 */
21 public function has_access($access_level)
22 {
23 if (!$this->is_logged_in()) {
24 return false;
25 }
26
27 $roles = $this->get_roles();
28
29 $available_levels_by_roles = array_values(Role::get_access_levels_by_roles($roles));
30
31 if (is_string($access_level)) {
32 return in_array($access_level, $available_levels_by_roles, true);
33 }
34
35 return collection($access_level)->some(fn($level) => in_array($level, $available_levels_by_roles, true));
36 }
37
38 public function has_edit_access()
39 {
40 return $this->has_access([
41 AccessLevels::FULL_ACCESS,
42 AccessLevels::CONTENT_ACCESS,
43 ]);
44 }
45 }