Rev 1177 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1177 | Rev 1282 | ||
---|---|---|---|
1 | <?php |
1 | <?php |
2 | 2 | ||
3 | /* |
3 | /* |
4 | * OIDplus 2.0 |
4 | * OIDplus 2.0 |
5 | * Copyright 2019 - 2023 Daniel Marschall, ViaThinkSoft |
5 | * Copyright 2019 - 2023 Daniel Marschall, ViaThinkSoft |
6 | * |
6 | * |
7 | * Licensed under the Apache License, Version 2.0 (the "License"); |
7 | * Licensed under the Apache License, Version 2.0 (the "License"); |
8 | * you may not use this file except in compliance with the License. |
8 | * you may not use this file except in compliance with the License. |
9 | * You may obtain a copy of the License at |
9 | * You may obtain a copy of the License at |
10 | * |
10 | * |
11 | * http://www.apache.org/licenses/LICENSE-2.0 |
11 | * http://www.apache.org/licenses/LICENSE-2.0 |
12 | * |
12 | * |
13 | * Unless required by applicable law or agreed to in writing, software |
13 | * Unless required by applicable law or agreed to in writing, software |
14 | * distributed under the License is distributed on an "AS IS" BASIS, |
14 | * distributed under the License is distributed on an "AS IS" BASIS, |
15 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
15 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
16 | * See the License for the specific language governing permissions and |
16 | * See the License for the specific language governing permissions and |
17 | * limitations under the License. |
17 | * limitations under the License. |
18 | */ |
18 | */ |
19 | 19 | ||
20 | namespace ViaThinkSoft\OIDplus; |
20 | namespace ViaThinkSoft\OIDplus; |
21 | 21 | ||
22 | // phpcs:disable PSR1.Files.SideEffects |
22 | // phpcs:disable PSR1.Files.SideEffects |
23 | \defined('INSIDE_OIDPLUS') or die; |
23 | \defined('INSIDE_OIDPLUS') or die; |
24 | // phpcs:enable PSR1.Files.SideEffects |
24 | // phpcs:enable PSR1.Files.SideEffects |
25 | 25 | ||
26 | // OIDplusBaseConfig is the basic ("static") configuration stored in userdata/baseconfig/config.inc.php, |
26 | // OIDplusBaseConfig is the basic ("static") configuration stored in userdata/baseconfig/config.inc.php, |
27 | // e.g. database access credentials. |
27 | // e.g. database access credentials. |
28 | // Not to be confused with OIDplusConfig which are settings that are stored in the database. |
28 | // Not to be confused with OIDplusConfig which are settings that are stored in the database. |
29 | class OIDplusBaseConfig extends OIDplusBaseClass implements OIDplusGetterSetterInterface { |
29 | class OIDplusBaseConfig extends OIDplusBaseClass implements OIDplusGetterSetterInterface { |
30 | 30 | ||
31 | /** |
31 | /** |
32 | * @var array |
32 | * @var array |
33 | */ |
33 | */ |
34 | protected $data = array(); |
34 | protected $data = array(); |
35 | 35 | ||
36 | /** |
36 | /** |
37 | * @return string[] |
37 | * @return string[] |
38 | */ |
38 | */ |
39 | public function getAllKeys(): array { |
39 | public function getAllKeys(): array { |
40 | // TODO: put this method into the interface OIDplusGetterSetterInterface |
40 | // TODO: put this method into the interface OIDplusGetterSetterInterface |
41 | return array_keys($this->data); |
41 | return array_keys($this->data); |
42 | } |
42 | } |
43 | 43 | ||
44 | /** |
44 | /** |
45 | * @param string $name |
45 | * @param string $name |
46 | * @param mixed|null $default |
46 | * @param mixed|null $default |
47 | * @return mixed|null |
47 | * @return mixed|null |
48 | */ |
48 | */ |
49 | public function getValue(string $name, $default=null) { |
49 | public function getValue(string $name, $default=null) { |
- | 50 | if ($name == 'SERVER_SECRET') { |
|
- | 51 | $caller_class = debug_backtrace()[1]['class']; |
|
- | 52 | if (!str_starts_with($caller_class, 'ViaThinkSoft\\OIDplus\\')) { |
|
- | 53 | throw new OIDplusException(_L('Outdated plugin: Calling %1 from a plugin is deprecated. Please use %2 instead', 'SERVER_SECRET', 'OIDplus::authUtils()->makeSecret()')); |
|
- | 54 | } |
|
- | 55 | } |
|
50 | return $this->exists($name) ? $this->data[$name] : $default; |
56 | return $this->exists($name) ? $this->data[$name] : $default; |
51 | } |
57 | } |
52 | 58 | ||
53 | /** |
59 | /** |
54 | * @param string $name |
60 | * @param string $name |
55 | * @param mixed $value |
61 | * @param mixed $value |
56 | * @return void |
62 | * @return void |
57 | */ |
63 | */ |
58 | public function setValue(string $name, $value) { |
64 | public function setValue(string $name, $value) { |
59 | // Note: The value is only set at run time level! |
65 | // Note: The value is only set at run time level! |
60 | // This function will NOT change the userdata/baseconfig/config.inc.php file! |
66 | // This function will NOT change the userdata/baseconfig/config.inc.php file! |
61 | $this->data[$name] = $value; |
67 | $this->data[$name] = $value; |
62 | } |
68 | } |
63 | 69 | ||
64 | /** |
70 | /** |
65 | * @param string $name |
71 | * @param string $name |
66 | * @return void |
72 | * @return void |
67 | */ |
73 | */ |
68 | public function delete(string $name) { |
74 | public function delete(string $name) { |
69 | // Note: The value is only deleted at run time level! |
75 | // Note: The value is only deleted at run time level! |
70 | // This function will NOT change the userdata/baseconfig/config.inc.php file! |
76 | // This function will NOT change the userdata/baseconfig/config.inc.php file! |
71 | unset($this->data[$name]); |
77 | unset($this->data[$name]); |
72 | } |
78 | } |
73 | 79 | ||
74 | /** |
80 | /** |
75 | * @param string $name |
81 | * @param string $name |
76 | * @return bool |
82 | * @return bool |
77 | */ |
83 | */ |
78 | public function exists(string $name): bool { |
84 | public function exists(string $name): bool { |
79 | return isset($this->data[$name]); |
85 | return isset($this->data[$name]); |
80 | } |
86 | } |
81 | 87 | ||
82 | } |
88 | } |
83 | 89 |