PluginProbe ʕ •ᴥ•ʔ
Advanced Access Manager – Access Governance for WordPress / 5.0
Advanced Access Manager – Access Governance for WordPress v5.0
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 / Config.php
advanced-access-manager / Application / Core Last commit date
Object 8 years ago Subject 8 years ago API.php 8 years ago Cache.php 8 years ago Compatibility.php 8 years ago Config.php 8 years ago ConfigPress.php 8 years ago Console.php 8 years ago Exporter.php 8 years ago Importer.php 8 years ago Log.php 8 years ago Login.php 8 years ago Media.php 8 years ago Object.php 8 years ago Request.php 8 years ago Server.php 8 years ago Subject.php 8 years ago
Config.php
158 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 * AAM Core Config
12 *
13 * @package AAM
14 * @author Vasyl Martyniuk <vasyl@vasyltech.com>
15 */
16 class AAM_Core_Config {
17
18 /**
19 * Core settings database option
20 *
21 * aam-utilities slug is used because AAM Utilities with v3.4 became a core
22 * feature instead of independent extension.
23 */
24 const OPTION = 'aam-utilities';
25
26 /**
27 * Core config
28 *
29 * @var array
30 *
31 * @access protected
32 */
33 protected static $config = array();
34
35 /**
36 * Load core AAM settings
37 *
38 * @return void
39 *
40 * @access public
41 */
42 public static function bootstrap() {
43 if (is_multisite()) {
44 self::$config = AAM_Core_API::getOption(self::OPTION, array(), 'site');
45 } else {
46 self::$config = AAM_Core_Compatibility::getConfig();
47 }
48 }
49
50 /**
51 * Get config option
52 *
53 * @param string $option
54 * @param mixed $default
55 *
56 * @return mixed
57 *
58 * @access public
59 * @static
60 */
61 public static function get($option, $default = null) {
62 if (isset(self::$config[$option])) {
63 $response = self::$config[$option];
64 } else {
65 $response = self::readConfigPress($option, $default);
66 }
67
68 return self::normalize(
69 apply_filters('aam-filter-config-get', $response, $option
70 ));
71 }
72
73 /**
74 *
75 * @param type $setting
76 * @return type
77 */
78 protected static function normalize($setting) {
79 return str_replace(
80 array('{ABSPATH}'),
81 array(ABSPATH),
82 $setting
83 );
84 }
85
86 /**
87 * Set config
88 *
89 * @param string $option
90 * @param mixed $value
91 *
92 * @return boolean
93 *
94 * @access public
95 */
96 public static function set($option, $value) {
97 self::$config[$option] = $value;
98
99 //save config to database
100 if (is_multisite()) {
101 $result = AAM_Core_API::updateOption(self::OPTION, self::$config, 'site');
102 } else {
103 $result = AAM_Core_API::updateOption(self::OPTION, self::$config);
104 }
105
106
107 return $result;
108 }
109
110 /**
111 *
112 * @param type $option
113 */
114 public static function delete($option) {
115 if (isset(self::$config[$option])) {
116 unset(self::$config[$option]);
117 if (is_multisite()) {
118 AAM_Core_API::updateOption(self::OPTION, self::$config, 'site');
119 } else {
120 AAM_Core_API::updateOption(self::OPTION, self::$config);
121 }
122 }
123 }
124
125 /**
126 * Get ConfigPress parameter
127 *
128 * @param string $param
129 * @param mixed $default
130 *
131 * @return mixed
132 *
133 * @access public
134 * @static
135 */
136 protected static function readConfigPress($param, $default = null) {
137 if (defined('AAM_CONFIGPRESS')) {
138 $config = AAM_ConfigPress::get('aam.' . $param, $default);
139 } elseif (class_exists('ConfigPress')) {
140 $config = ConfigPress::get('aam.' . $param, $default);
141 } else {
142 $config = $default;
143 }
144
145 if (is_array($config) && isset($config['userFunc'])) {
146 if (is_callable($config['userFunc'])) {
147 $response = call_user_func($config['userFunc']);
148 } else {
149 $response = $default;
150 }
151 } else {
152 $response = $config;
153 }
154
155 return $response;
156 }
157
158 }