PluginProbe ʕ •ᴥ•ʔ
Advanced Access Manager – Access Governance for WordPress / 5.9
Advanced Access Manager – Access Governance for WordPress v5.9
6.8.4 6.8.5 6.9.0 6.9.1 6.9.10 6.9.11 6.9.12 6.9.13 6.9.14 6.9.15 6.9.16 6.9.17 6.9.18 6.9.19 6.9.2 6.9.20 6.9.21 6.9.22 6.9.23 6.9.24 6.9.25 6.9.26 6.9.27 6.9.28 6.9.29 6.9.3 6.9.30 6.9.31 6.9.32 6.9.33 6.9.34 6.9.35 6.9.36 6.9.37 6.9.38 6.9.39 6.9.4 6.9.41 6.9.42 6.9.43 6.9.44 6.9.45 6.9.46 6.9.47 6.9.48 6.9.49 6.9.5 6.9.51 6.9.6 6.9.7 6.9.8 6.9.9 7.0.0 7.0.0-alpha.6 7.0.0-alpha.7 7.0.0-beta.1 7.0.0-rc1 7.0.0-rc2 7.0.0-rc3 7.0.1 7.0.10 7.0.11 7.0.2 7.0.3 7.0.4 7.0.5 7.0.6 7.0.7 7.0.8 7.0.9 7.1.0 7.1.1 trunk 3.0 4.0 4.0.1 4.1 4.2 4.3 4.4 4.4.1 4.5 4.6 4.6.1 4.6.2 4.7 4.7.1 4.7.2 4.7.5 4.7.6 4.8 4.8.1 4.9 4.9.1 4.9.2 4.9.3 4.9.4 4.9.5 4.9.5.1 4.9.5.2 5.0 5.0.1 5.0.2 5.0.3 5.0.4 5.0.5 5.0.6 5.0.7 5.0.8 5.1 5.1.1 5.10 5.11 5.2 5.2.1 5.2.5 5.2.6 5.2.7 5.3 5.3.1 5.3.2 5.3.3 5.3.4 5.3.5 5.4 5.4.1 5.4.2 5.4.3 5.4.3.1 5.4.3.2 5.5 5.5.1 5.5.2 5.6 5.6.1 5.6.1.1 5.7 5.7.1 5.7.2 5.7.3 5.8 5.8.1 5.8.2 5.8.3 5.9 5.9.1 5.9.1.1 5.9.2 5.9.2.1 5.9.3 5.9.4 5.9.5 5.9.6 5.9.6.1 5.9.6.2 5.9.6.3 5.9.7 5.9.7.1 5.9.7.2 5.9.7.3 5.9.8 5.9.8.1 5.9.9 5.9.9.1 6.0.0 6.0.1 6.0.2 6.0.3 6.0.4 6.0.5 6.1.0 6.1.1 6.2.0 6.2.1 6.2.2 6.3.0 6.3.1 6.3.2 6.3.3 6.4.0 6.4.1 6.4.2 6.4.3 6.5.0 6.5.1 6.5.2 6.5.3 6.5.4 6.6.0 6.6.1 6.6.2 6.6.3 6.6.4 6.7.0 6.7.1 6.7.2 6.7.3 6.7.4 6.7.5 6.7.6 6.7.7 6.7.8 6.7.9 6.8.0 6.8.1 6.8.2 6.8.3
advanced-access-manager / Application / Backend / Authorization.php
advanced-access-manager / Application / Backend Last commit date
Feature 7 years ago View 7 years ago Widget 7 years ago phtml 7 years ago Authorization.php 7 years ago Feature.php 7 years ago Filter.php 7 years ago Manager.php 7 years ago Subject.php 7 years ago View.php 7 years ago
Authorization.php
104 lines
1 <?php
2
3 /**
4 * ======================================================================
5 * LICENSE: This file is subject to the terms and conditions defined in *
6 * file 'license.txt', which is part of this source code package. *
7 * ======================================================================
8 */
9
10 /**
11 * Backend authorization
12 *
13 * @package AAM
14 * @author Vasyl Martyniuk <vasyl@vasyltech.com>
15 */
16 class AAM_Backend_Authorization {
17
18 /**
19 * Instance of itself
20 *
21 * @var AAM_Backend_Authorization
22 *
23 * @access private
24 */
25 private static $_instance = null;
26
27 /**
28 * Constructor
29 *
30 * @return void
31 *
32 * @access protected
33 */
34 protected function __construct() {
35 //control admin area
36 if (!defined( 'DOING_AJAX' ) || !DOING_AJAX) {
37 add_action('admin_init', array($this, 'checkScreenAccess'));
38 }
39 }
40
41 /**
42 * Check screen access
43 *
44 * @return void
45 *
46 * @access public
47 * @global string $plugin_page
48 */
49 public function checkScreenAccess() {
50 global $plugin_page;
51
52 //compile menu
53 $menu = $plugin_page;
54
55 if (empty($menu)){
56 $menu = basename(AAM_Core_Request::server('SCRIPT_NAME'));
57 $taxonomy = AAM_Core_Request::get('taxonomy');
58 $postType = AAM_Core_Request::get('post_type');
59 $page = AAM_Core_Request::get('page');
60
61 if (!empty($taxonomy)) {
62 $menu .= '?taxonomy=' . $taxonomy;
63 } elseif (!empty($postType) && ($postType !== 'post')) {
64 $menu .= '?post_type=' . $postType;
65 } elseif (!empty($page)) {
66 $menu .= '?page=' . $page;
67 }
68 }
69
70 if (AAM::getUser()->getObject('menu')->has($menu, true)) {
71 AAM_Core_API::reject(
72 'backend', array('hook' => 'access_backend_menu', 'id' => $menu)
73 );
74 }
75 }
76
77 /**
78 * Alias for the bootstrap
79 *
80 * @return AAM_Backend_Authorization
81 *
82 * @access public
83 * @static
84 */
85 public static function getInstance() {
86 return self::bootstrap();
87 }
88
89 /**
90 * Bootstrap authorization layer
91 *
92 * @return AAM_Backend_Authorization
93 *
94 * @access public
95 */
96 public static function bootstrap() {
97 if (is_null(self::$_instance)) {
98 self::$_instance = new self;
99 }
100
101 return self::$_instance;
102 }
103
104 }