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 / Storage / Repository / EditorMenuStatus.php
codepress-admin-columns / classes / Storage / Repository Last commit date
EditButton.php 2 days ago EditorFavorites.php 2 days ago EditorMenuStatus.php 2 days ago IntegrationStatus.php 2 days ago ListColumnOrder.php 2 days ago ListScreenOrder.php 2 days ago OriginalColumnsRepository.php 2 days ago TableListOrder.php 2 days ago UserColumnOrder.php 2 days ago
EditorMenuStatus.php
64 lines
1 <?php
2
3 declare(strict_types=1);
4
5 namespace AC\Storage\Repository;
6
7 use AC\Storage\UserOption;
8
9 class EditorMenuStatus
10 {
11 private UserOption $storage;
12
13 public function __construct()
14 {
15 $this->storage = new UserOption('ac_preferences_menu_status');
16 }
17
18 public function get_groups(): array
19 {
20 return $this->storage->get() ?: [];
21 }
22
23 public function save_status(string $group, bool $active): void
24 {
25 $active
26 ? $this->add_group($group)
27 : $this->remove($group);
28 }
29
30 private function add_group(string $group): void
31 {
32 $data = $this->get_groups();
33
34 if (! in_array($group, $data, true)) {
35 $data[] = $group;
36 }
37
38 $this->save($data);
39 }
40
41 private function save(array $data): void
42 {
43 $data
44 ? $this->storage->save($data)
45 : $this->storage->delete();
46 }
47
48 private function remove(string $group): void
49 {
50 $data = $this->get_groups();
51
52 $key = array_search($group, $data);
53
54 if (false !== $key) {
55 unset($data[$key]);
56 }
57
58 $this->save(
59 array_values($data)
60 );
61 }
62
63 }
64