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 / UserOption.php
codepress-admin-columns / classes / Storage Last commit date
Encoder 1 day ago EncoderFactory 1 day ago Repository 1 day ago Table 1 day ago Encoder.php 1 day ago EncoderFactory.php 1 day ago KeyValue.php 1 day ago Option.php 1 day ago OptionData.php 1 day ago OptionDataFactory.php 1 day ago OptionFactory.php 1 day ago SiteOption.php 1 day ago SiteOptionFactory.php 1 day ago Table.php 1 day ago Timestamp.php 1 day ago Transaction.php 1 day ago UserData.php 1 day ago UserMeta.php 1 day ago UserOption.php 1 day ago
UserOption.php
45 lines
1 <?php
2
3 declare(strict_types=1);
4
5 namespace AC\Storage;
6
7 /**
8 * Similar to storing metadata, but this prefixes the key with the site ID when running a multisite installation.
9 */
10 class UserOption implements UserData
11 {
12 private string $key;
13
14 private int $user_id;
15
16 public function __construct(string $key, ?int $user_id = null)
17 {
18 if (null === $user_id) {
19 $user_id = get_current_user_id();
20 }
21
22 $this->key = $key;
23 $this->user_id = $user_id;
24 }
25
26 public function get()
27 {
28 return get_user_option($this->key, $this->user_id);
29 }
30
31 public function save($value): void
32 {
33 // Prevent duplicate rows. update_user_option() calls update_user_meta() internally,
34 // which can insert duplicates when concurrent requests race.
35 delete_user_option($this->user_id, $this->key);
36 update_user_option($this->user_id, $this->key, $value);
37 }
38
39 public function delete(): void
40 {
41 delete_user_option($this->user_id, $this->key);
42 }
43
44 }
45