PluginProbe ʕ •ᴥ•ʔ
Advanced Access Manager – Access Governance for WordPress / 5.4
Advanced Access Manager – Access Governance for WordPress v5.4
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 / Core / Compatibility.php
advanced-access-manager / Application / Core Last commit date
Api 7 years ago ConfigPress 7 years ago Object 7 years ago Subject 7 years ago API.php 7 years ago Cache.php 7 years ago Compatibility.php 7 years ago Config.php 7 years ago ConfigPress.php 7 years ago Console.php 7 years ago Exporter.php 7 years ago Gateway.php 7 years ago Importer.php 7 years ago JwtAuth.php 7 years ago Login.php 7 years ago Media.php 7 years ago Object.php 7 years ago Request.php 7 years ago Server.php 7 years ago Subject.php 7 years ago
Compatibility.php
190 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 * Core compatibility with older versions
12 *
13 * @package AAM
14 * @author Vasyl Martyniuk <vasyl@vasyltech.com>
15 * @todo Remove Feb 2018
16 */
17 class AAM_Core_Compatibility {
18
19 /**
20 *
21 */
22 public static function checkConfigPressCompatibility($key) {
23 if (strpos($key, 'htpasswd') === 0) {
24 $key = str_replace('htpasswd', 'feature.metabox.htpasswd', $key);
25 } elseif (strpos($key, 'export') === 0) {
26 $key = str_replace('export', 'feature.export', $key);
27 } elseif (strpos($key, 'default.category') === 0) {
28 $key = str_replace('default.category', 'feature.post.defaultTerm', $key);
29 } elseif (strpos($key, 'extention') === 0) {
30 $key = str_replace('extention', 'core.extention', $key);
31 } elseif (strpos($key, 'login') === 0) {
32 $key = str_replace('login', 'feature.secureLogin', $key);
33 }
34
35 return $key;
36 }
37
38 /**
39 * Convert all-style AAM settings to standard ConfigPress style settings
40 *
41 * @param array $config
42 *
43 * @return array
44 * @since AAM 5.3.1
45 * @todo Remove June 1st 2019
46 */
47 public static function normalizeConfigOptions($config) {
48 if (is_array($config)) {
49 $changes = 0;
50 $changes += self::normalizeOption('manage-capability', 'core.settings.editCapabilities', $config);
51 $changes += self::normalizeOption('backend-access-control', 'core.settings.backendAccessControl', $config);
52 $changes += self::normalizeOption('frontend-access-control', 'core.settings.frontendAccessControl', $config);
53 $changes += self::normalizeOption('api-access-control', 'core.settings.apiAccessControl', $config);
54 $changes += self::normalizeOption('render-access-metabox', 'ui.settings.renderAccessMetabox', $config);
55 $changes += self::normalizeOption('show-access-link', 'ui.settings.renderAccessActionLink', $config);
56 $changes += self::normalizeOption('secure-login', 'core.settings.secureLogin', $config);
57 $changes += self::normalizeOption('core.xmlrpc', 'core.settings.xmlrpc', $config);
58 $changes += self::normalizeOption('core.restful', 'core.settings.restful', $config);
59 $changes += self::normalizeOption('jwt-authentication', 'core.settings.jwtAuthentication', $config);
60 $changes += self::normalizeOption('ms-member-access', 'core.settings.multisiteMemberAccessControl', $config);
61 $changes += self::normalizeOption('media-access-control', 'core.settings.mediaAccessControl', $config);
62 $changes += self::normalizeOption('manage-hidden-post-types', 'core.settings.manageHiddenPostTypes', $config);
63 $changes += self::normalizeOption('page-category', 'core.settings.pageCategory', $config);
64 $changes += self::normalizeOption('media-category', 'core.settings.mediaCategory', $config);
65 $changes += self::normalizeOption('multi-category', 'core.settings.multiCategory', $config);
66 $changes += self::normalizeOption('login-timeout', 'core.settings.loginTimeout', $config);
67 $changes += self::normalizeOption('single-session', 'core.settings.singleSession', $config);
68 $changes += self::normalizeOption('brute-force-lockout', 'core.settings.bruteForceLockout', $config);
69 $changes += self::normalizeOption('inherit-parent-post', 'core.settings.inheritParentPost', $config);
70 //$changes += self::normalizeOption('', '', $config);
71
72 if ($changes > 0) {
73 if (is_multisite()) {
74 $result = AAM_Core_API::updateOption('aam-utilities', $config, 'site');
75 } else {
76 $result = AAM_Core_API::updateOption('aam-utilities', $config);
77 }
78 }
79 }
80
81 return $config;
82 }
83
84 /**
85 *
86 * @param type $option
87 * @param type $normalizedName
88 * @param type $config
89 * @return int
90 */
91 protected static function normalizeOption($option, $normalizedName, &$config) {
92 $changed = 0;
93
94 if (array_key_exists($option, $config)) {
95 $value = $config[$option];
96 unset($config[$option]);
97 $config[$normalizedName] = $value;
98 $changed = 1;
99 }
100
101 return $changed;
102 }
103
104 /**
105 * Get config
106 * @return type
107 */
108 public static function getConfig() {
109 $config = AAM_Core_API::getOption('aam-utilities', array(), 'site');
110
111 foreach(array_keys((is_array($config) ? $config : array())) as $option) {
112 if (strpos($option, 'frontend.redirect') !== false) {
113 self::convertConfigOption('redirect', $config, $option);
114 } elseif (strpos($option, 'backend.redirect') !== false) {
115 self::convertConfigOption('redirect', $config, $option);
116 } elseif (strpos($option, 'login.redirect') !== false) {
117 self::convertConfigOption('loginRedirect', $config, $option);
118 } elseif (strpos($option, 'frontend.teaser') !== false) {
119 self::convertConfigOption('teaser', $config, $option);
120 }
121 }
122
123 return self::normalizeConfigOptions($config);
124 }
125
126 /**
127 *
128 */
129 public static function initExtensions() {
130 //block deprecated extensions from loading
131 define('AAM_UTILITIES', '99');
132 define('AAM_ROLE_FILTER', '99');
133 define('AAM_POST_FILTER', '99');
134 define('AAM_REDIRECT', '99');
135 define('AAM_CONTENT_TEASER', '99');
136 define('AAM_LOGIN_REDIRECT', '99');
137 define('AAM_CONFIGPRESS', '99');
138 //TODO - Remove this in Jul 2019
139
140 //utilities option
141 add_filter('aam-utility-property', 'AAM_Core_Config::get', 10, 2);
142 }
143
144 /**
145 *
146 * @return type
147 */
148 public static function getLicenseList() {
149 $list = AAM_Core_API::getOption('aam-extensions', array(), 'site');
150
151 if (empty($list)) {
152 $list = AAM_Core_API::getOption('aam-extension-license', array(), 'site');
153 if (!empty($list)) {
154 $converted = array();
155
156 foreach($list as $title => $license) {
157 $id = strtoupper(str_replace(' ', '_', $title));
158 $converted[$id] = array('license' => $license);
159 }
160
161 AAM_Core_API::updateOption('aam-extensions', $converted);
162 AAM_Core_API::deleteOption('aam-extension-license');
163 }
164 }
165
166 return $list;
167 }
168
169 /**
170 *
171 * @staticvar type $subject
172 * @param type $oid
173 * @param type &$config
174 * @param type $option
175 *
176 * @todo Legacy remove Jul 2018
177 */
178 protected static function convertConfigOption($oid, &$config, $option) {
179 static $subject = null;
180
181 if (is_null($subject)) {
182 $subject = new AAM_Core_Subject_Default;
183 }
184
185 $subject->getObject($oid)->save($option, $config[$option]);
186 unset($config[$option]);
187 AAM_Core_API::updateOption('aam-utilities', $config);
188 }
189
190 }