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 / View.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
View.php
235 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 view manager
12 *
13 * @package AAM
14 * @author Vasyl Martyniuk <vasyl@vasyltech.com>
15 */
16 class AAM_Backend_View {
17
18 /**
19 * Instance of itself
20 *
21 * @var AAM_Backend_View
22 *
23 * @access private
24 */
25 private static $_instance = null;
26
27 /**
28 * Construct the view object
29 *
30 * @return void
31 *
32 * @access protected
33 */
34 protected function __construct() {
35 //register default features
36 AAM_Backend_Feature_Main_GetStarted::register();
37 AAM_Backend_Feature_Main_Policy::register();
38 AAM_Backend_Feature_Main_Menu::register();
39 AAM_Backend_Feature_Main_Toolbar::register();
40 AAM_Backend_Feature_Main_Metabox::register();
41 AAM_Backend_Feature_Main_Capability::register();
42 AAM_Backend_Feature_Main_Route::register();
43 AAM_Backend_Feature_Main_Post::register();
44 AAM_Backend_Feature_Main_Redirect::register();
45 AAM_Backend_Feature_Main_LoginRedirect::register();
46 AAM_Backend_Feature_Main_LogoutRedirect::register();
47 AAM_Backend_Feature_Main_404Redirect::register();
48 AAM_Backend_Feature_Main_Uri::register();
49
50 AAM_Backend_Feature_Settings_Core::register();
51 AAM_Backend_Feature_Settings_Content::register();
52 AAM_Backend_Feature_Settings_Security::register();
53 AAM_Backend_Feature_Settings_ConfigPress::register();
54
55 //feature registration hook
56 do_action('aam-feature-registration-action');
57 }
58
59 /**
60 * Process the ajax call
61 *
62 * @return string
63 *
64 * @access public
65 */
66 public function processAjax() {
67 $response = null;
68
69 $action = AAM_Core_Request::request('sub_action');
70 $parts = explode('.', $action);
71
72 if (count($parts) === 2) {
73 try {
74 $classname = 'AAM_Backend_Feature_' . $parts[0];
75 if (class_exists($classname)) {
76 $response = call_user_func(array(new $classname, $parts[1]));
77 }
78 } catch (Exception $e) {
79 $response = $e->getMessage();
80 }
81 }
82
83 return apply_filters(
84 'aam-ajax-filter',
85 $response,
86 AAM_Backend_Subject::getInstance()->get(),
87 $action
88 );
89 }
90
91 /**
92 * Run the Manager
93 *
94 * @return string
95 *
96 * @access public
97 */
98 public function renderPage() {
99 return $this->loadTemplate(dirname(__FILE__) . '/phtml/index.phtml');
100 }
101
102 /**
103 * Run the Manager
104 *
105 * @return string
106 *
107 * @access public
108 */
109 public function renderAccessFrame() {
110 return $this->loadTemplate(
111 dirname(__FILE__) . '/phtml/metabox/metabox-content.phtml'
112 );
113 }
114
115 /**
116 *
117 * @param type $post
118 * @return type
119 */
120 public function renderPostMetabox($post) {
121 return $this->loadTemplate(
122 dirname(__FILE__) . '/phtml/metabox/post-metabox.phtml',
123 (object) array('post' => $post)
124 );
125 }
126
127 /**
128 *
129 * @param type $post
130 * @return type
131 */
132 public function renderPolicyMetabox($post) {
133 return $this->loadTemplate(
134 dirname(__FILE__) . '/phtml/metabox/policy-metabox.phtml',
135 (object) array('post' => $post)
136 );
137 }
138
139 /**
140 *
141 * @param type $post
142 * @return type
143 */
144 public function renderPolicyPrincipalMetabox($post) {
145 return $this->loadTemplate(
146 dirname(__FILE__) . '/phtml/metabox/policy-principal-metabox.phtml',
147 (object) array('post' => $post)
148 );
149 }
150
151 /**
152 *
153 * @param type $term
154 * @return type
155 */
156 public function renderTermMetabox($term) {
157 return $this->loadTemplate(
158 dirname(__FILE__) . '/phtml/metabox/term-metabox.phtml',
159 (object) array('term' => $term)
160 );
161 }
162
163 /**
164 * Render the Main Control Area
165 *
166 * @param string $type
167 *
168 * @return void
169 *
170 * @access public
171 */
172 public function renderContent($type = 'main') {
173 $content = apply_filters('aam-ui-content-filter', null, $type);
174
175 if (is_null($content) && current_user_can('aam_manager')) {
176 ob_start();
177 if ($type === 'extensions' && current_user_can('aam_manage_settings')) {
178 AAM_Backend_Feature_Extension_Manager::getInstance()->render();
179 } elseif ($type === 'postform' && current_user_can('aam_manage_posts')) {
180 echo AAM_Backend_Feature_Main_Post::renderAccessForm();
181 } else {
182 require_once dirname(__FILE__) . '/phtml/main-panel.phtml';
183 }
184 $content = ob_get_contents();
185 ob_end_clean();
186 }
187
188 return $content;
189 }
190
191 /**
192 *
193 * @param type $partial
194 * @return type
195 */
196 public function loadPartial($partial) {
197 return $this->loadTemplate(dirname(__FILE__) . '/phtml/partial/' . $partial);
198 }
199
200 /**
201 * Load template
202 *
203 * @param string $filepath
204 *
205 * @return string
206 *
207 * @access protected
208 */
209 protected function loadTemplate($filepath, $args = null) {
210 ob_start();
211
212 require_once $filepath;
213 $content = ob_get_contents();
214
215 ob_end_clean();
216
217 return $content;
218 }
219
220 /**
221 * Get instance of itself
222 *
223 * @return AAM_Backend_View
224 *
225 * @access public
226 */
227 public static function getInstance() {
228 if (is_null(self::$_instance)) {
229 self::$_instance = new self;
230 }
231
232 return self::$_instance;
233 }
234
235 }