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 / Admin / Preference / EditorPreference.php
codepress-admin-columns / classes / Admin / Preference Last commit date
EditorPreference.php 6 days ago ScreenOptions.php 6 days ago
EditorPreference.php
66 lines
1 <?php
2
3 declare(strict_types=1);
4
5 namespace AC\Admin\Preference;
6
7 use AC\Preferences\Preference;
8 use AC\Preferences\SiteFactory;
9 use AC\Type\ListScreenId;
10 use AC\Type\TableId;
11
12 class EditorPreference
13 {
14 private Preference $storage;
15
16 public function __construct(bool $is_network = false)
17 {
18 $this->storage = (new SiteFactory())->create(
19 $is_network
20 ? 'network_settings'
21 : 'settings'
22 );
23 }
24
25 public function save(TableId $table_id, ListScreenId $list_id): void
26 {
27 $this->set_table_screen_id($table_id);
28 $this->set_list_id($table_id, $list_id);
29 }
30
31 public function get_table_id(): ?TableId
32 {
33 $list_key = (string)$this->storage->find('last_visited_list_key');
34
35 return TableId::validate($list_key)
36 ? new TableId($list_key)
37 : null;
38 }
39
40 public function get_list_id(TableId $table_id): ?ListScreenId
41 {
42 $list_id = (string)$this->storage->find((string)$table_id);
43
44 return ListScreenId::is_valid_id($list_id)
45 ? new ListScreenId($list_id)
46 : null;
47 }
48
49 private function set_table_screen_id(TableId $table_id): void
50 {
51 $this->storage->save(
52 'last_visited_list_key',
53 (string)$table_id
54 );
55 }
56
57 private function set_list_id(TableId $table_id, ListScreenId $list_id): void
58 {
59 $this->storage->save(
60 (string)$table_id,
61 (string)$list_id
62 );
63 }
64
65 }
66