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 / Formatter / User / Property.php
codepress-admin-columns / classes / Formatter / User Last commit date
AuthorPostUrl.php 2 days ago CommentCount.php 2 days ago FirstPost.php 2 days ago FullName.php 2 days ago HasRichEditing.php 2 days ago LastPost.php 2 days ago Meta.php 2 days ago PostCount.php 2 days ago PostCountOriginal.php 2 days ago Property.php 2 days ago Roles.php 2 days ago ShowToolbar.php 2 days ago TranslatedRoles.php 2 days ago UserFilteredPostLink.php 2 days ago UserLink.php 2 days ago UserName.php 2 days ago
Property.php
76 lines
1 <?php
2
3 declare(strict_types=1);
4
5 namespace AC\Formatter\User;
6
7 use AC\Exception\ValueNotFoundException;
8 use AC\Formatter;
9 use AC\Type\Value;
10 use InvalidArgumentException;
11
12 class Property implements Formatter
13 {
14 private string $property;
15
16 public function __construct(string $property)
17 {
18 $this->property = $property;
19
20 $this->validate();
21 }
22
23 public function validate(): void
24 {
25 $properties = [
26 'id',
27 'ID',
28 'deleted',
29 'description',
30 'display_name',
31 'first_name',
32 'last_name',
33 'locale',
34 'nickname',
35 'rich_editing',
36 'spam',
37 'use_ssl',
38 'user_activation_key',
39 'user_description',
40 'user_email',
41 'user_firstname',
42 'user_lastname',
43 'user_login',
44 'user_pass',
45 'user_nicename',
46 'user_status',
47 'user_registered',
48 'user_url',
49 ];
50
51 if (! in_array($this->property, $properties, true)) {
52 throw new InvalidArgumentException('Invalid property');
53 }
54 }
55
56 public function format(Value $value): Value
57 {
58 $user = get_userdata($value->get_id());
59
60 if (! $user) {
61 throw ValueNotFoundException::from_id($value->get_id());
62 }
63
64 $field = $user->{$this->property} ?? null;
65
66 if (null === $field) {
67 throw ValueNotFoundException::from_id($value->get_id());
68 }
69
70 return $value->with_value(
71 $field
72 );
73 }
74
75 }
76