PluginProbe ʕ •ᴥ•ʔ
Admin Columns / 7.1.4
Admin Columns v7.1.4
7.1.4 7.0.19 2.3.5 2.4 2.4.1 2.4.10 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.4.8 2.4.9 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.6.1 2.5.6.2 2.5.6.3 2.5.6.4 3.0 3.0.1 3.0.2 3.0.3 3.0.5 3.0.7 3.1 3.1.1 3.1.10 3.1.2 3.1.3 3.1.5 3.2.3 3.2.7 3.3.1 3.4.1 3.4.6 3.4.8 4.0.1 4.0.3 4.1.6 4.2.2 4.2.5 4.3 4.3.2 4.4.1 4.4.4 4.4.5 4.5.5 4.6.1 4.7.18 4.7.19 4.7.20 4.7.7 7.0.13 7.0.14 7.0.16 trunk 1.0 1.1 1.1.3 1.2 1.2.1 1.3 1.3.1 1.4 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.4.5.1 1.4.6 1.4.6.1 1.4.6.2 1.4.6.3 1.4.6.4 1.4.7 1.4.8 1.4.9 2.0.0 2.0.1 2.0.2 2.0.3 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.2 2.2.1 2.2.1.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.5.1 2.2.6 2.2.6.1 2.2.6.2 2.2.6.3 2.2.6.4 2.2.7 2.2.8 2.2.8.1 2.2.9 2.3.1 2.3.2 2.3.3
codepress-admin-columns / classes / Settings / GeneralOption.php
codepress-admin-columns / classes / Settings Last commit date
GeneralOption.php 1 day ago
GeneralOption.php
68 lines
1 <?php
2
3 declare(strict_types=1);
4
5 namespace AC\Settings;
6
7 use AC\Storage;
8
9 class GeneralOption
10 {
11 private Storage\OptionData $storage;
12
13 private ?array $data = null;
14
15 public function __construct()
16 {
17 $this->storage = new Storage\Option('cpac_general_options');
18 }
19
20 public function get(string $key)
21 {
22 return $this->all()[$key] ?? null;
23 }
24
25 private function all(): array
26 {
27 if (null === $this->data) {
28 $data = $this->storage->get();
29
30 $this->data = $data && is_array($data)
31 ? $data
32 : [];
33 }
34
35 return $this->data;
36 }
37
38 private function flush_cache(): void
39 {
40 $this->data = null;
41 }
42
43 public function delete(string $key): void
44 {
45 $data = $this->all();
46
47 unset($data[$key]);
48
49 $data
50 ? $this->storage->save($data)
51 : $this->storage->delete();
52
53 $this->flush_cache();
54 }
55
56 public function save(string $key, $value): void
57 {
58 $data = $this->all();
59
60 $data[$key] = $value;
61
62 $this->storage->save($data);
63
64 $this->flush_cache();
65 }
66
67 }
68