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