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