PluginProbe ʕ •ᴥ•ʔ
Advanced Access Manager – Access Governance for WordPress / 4.3
Advanced Access Manager – Access Governance for WordPress v4.3
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 9 years ago Subject 9 years ago API.php 9 years ago Cache.php 9 years ago Compatibility.php 9 years ago Config.php 9 years ago ConfigPress.php 9 years ago Console.php 9 years ago Media.php 9 years ago Object.php 9 years ago Request.php 9 years ago Subject.php 9 years ago
Config.php
144 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
69 return apply_filters('aam-filter-config-get', $response, $option);
70 }
71
72 /**
73 * Set config
74 *
75 * @param string $option
76 * @param mixed $value
77 *
78 * @return boolean
79 *
80 * @access public
81 */
82 public static function set($option, $value) {
83 self::$config[$option] = $value;
84
85 //save config to database
86 if (is_multisite()) {
87 $result = AAM_Core_API::updateOption(self::OPTION, self::$config, 'site');
88 } else {
89 $result = AAM_Core_API::updateOption(self::OPTION, self::$config);
90 }
91
92
93 return $result;
94 }
95
96 /**
97 *
98 * @param type $option
99 */
100 public static function delete($option) {
101 if (isset(self::$config[$option])) {
102 unset(self::$config[$option]);
103 if (is_multisite()) {
104 AAM_Core_API::updateOption(self::OPTION, self::$config, 'site');
105 } else {
106 AAM_Core_API::updateOption(self::OPTION, self::$config);
107 }
108 }
109 }
110
111 /**
112 * Get ConfigPress parameter
113 *
114 * @param string $param
115 * @param mixed $default
116 *
117 * @return mixed
118 *
119 * @access public
120 * @static
121 */
122 protected static function readConfigPress($param, $default = null) {
123 if (defined('AAM_CONFIGPRESS')) {
124 $config = AAM_ConfigPress::get('aam.' . $param, $default);
125 } elseif (class_exists('ConfigPress')) {
126 $config = ConfigPress::get('aam.' . $param, $default);
127 } else {
128 $config = $default;
129 }
130
131 if (is_array($config) && isset($config['userFunc'])) {
132 if (is_callable($config['userFunc'])) {
133 $response = call_user_func($config['userFunc']);
134 } else {
135 $response = $default;
136 }
137 } else {
138 $response = $config;
139 }
140
141 return $response;
142 }
143
144 }