PluginProbe ʕ •ᴥ•ʔ
Nested Pages / 3.2.15
Nested Pages v3.2.15
3.2.15 3.2.14 3.1.8 3.1.9 3.2.0 3.2.1 3.2.10 3.2.11 3.2.12 3.2.13 3.2.2 3.2.3 3.2.4 3.2.5 3.2.6 3.2.7 3.2.8 3.2.9 trunk 1.0 1.1 1.1.1 1.1.2 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 1.1.8 1.1.9 1.2.0 1.2.1 1.3.0 1.3.1 1.3.10 1.3.11 1.3.12 1.3.13 1.3.14 1.3.15 1.3.2 1.3.4 1.3.5 1.3.6 1.3.7 1.3.8 1.3.9 1.4.0 1.4.1 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.6.0 1.6.1 1.6.2 1.6.3 1.6.3.1 1.6.3.2 1.6.4 1.6.5 1.6.5.1 1.6.5.2 1.6.6 1.6.7 1.6.8 1.7.0 1.7.1 2.0.1 2.0.2 2.0.3 2.0.4 3.0.1 3.0.10 3.0.11 3.0.2 3.0.3 3.0.4 3.0.5 3.0.6 3.0.7 3.0.8 3.0.9 3.1.0 3.1.1 3.1.10 3.1.11 3.1.12 3.1.13 3.1.14 3.1.15 3.1.16 3.1.17 3.1.18 3.1.19 3.1.2 3.1.20 3.1.21 3.1.22 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7
wp-nested-pages / app / Entities / PluginIntegration / EditorialAccessManager.php
wp-nested-pages / app / Entities / PluginIntegration Last commit date
AdvancedCustomFields.php 8 years ago DarkMode.php 7 years ago EditorialAccessManager.php 8 years ago IntegrationFactory.php 7 years ago WPML.php 3 years ago YoastSeo.php 3 years ago
EditorialAccessManager.php
70 lines
1 <?php
2 namespace NestedPages\Entities\PluginIntegration;
3
4 /**
5 * Editorial Access Manager Integration
6 * @link https://wordpress.org/plugins/editorial-access-manager/
7 */
8 class EditorialAccessManager
9 {
10 /**
11 * Installed
12 * @var boolean
13 */
14 public $installed;
15
16 /**
17 * Current User ID
18 */
19 private $user;
20
21 public function __construct()
22 {
23 add_action( 'init', [$this, 'init']);
24 }
25
26 /**
27 * Initialize Plugin Integration
28 */
29 public function init() {
30 if ( class_exists('Editorial_Access_Manager') ){
31 $this->installed = true;
32 $this->user = wp_get_current_user();
33 }
34 }
35
36 /**
37 * Does the current user have access to the specified post id?
38 * @return boolean
39 */
40 public function hasAccess($post_id)
41 {
42 if ( $this->abortCheck() ) return true;
43
44 $access_meta = get_post_meta($post_id, 'eam_enable_custom_access', true);
45
46 if ( $access_meta == 'users' ){
47 $allowed_users = (array) get_post_meta($post_id, 'eam_allowed_users', true);
48 if ( isset($allowed_users[0]) && $allowed_users[0] == "" ) return true;
49 if ( !in_array($this->user->ID, $allowed_users) ) return false;
50 }
51
52 if ( $access_meta == 'roles' ){
53 $allowed_roles = (array) get_post_meta($post_id, 'eam_allowed_roles', true);
54 if ( count( array_diff( $this->user->roles, $allowed_roles ) ) >= 1 ) return false;
55 }
56
57 return true;
58 }
59
60 /**
61 * Abort Role Check?
62 * @return boolean
63 */
64 private function abortCheck()
65 {
66 if ( !$this->installed ) return true;
67 if ( in_array('administrator', $this->user->roles) ) return true;
68 return false;
69 }
70 }