PluginProbe ʕ •ᴥ•ʔ
Admin Columns / 7.0.13
Admin Columns v7.0.13
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 3 months ago CommentCount.php 3 months ago FirstPost.php 3 months ago FullName.php 3 months ago HasRichEditing.php 3 months ago LastPost.php 3 months ago Meta.php 3 months ago PostCount.php 3 months ago PostCountOriginal.php 3 months ago Property.php 3 months ago Roles.php 3 months ago ShowToolbar.php 3 months ago TranslatedRoles.php 3 months ago UserFilteredPostLink.php 3 months ago UserLink.php 3 months ago UserName.php 3 months 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
15 private string $property;
16
17 public function __construct(string $property)
18 {
19 $this->property = $property;
20
21 $this->validate();
22 }
23
24 public function validate(): void
25 {
26 $properties = [
27 'id',
28 'ID',
29 'deleted',
30 'description',
31 'display_name',
32 'first_name',
33 'last_name',
34 'locale',
35 'nickname',
36 'rich_editing',
37 'spam',
38 'use_ssl',
39 'user_activation_key',
40 'user_description',
41 'user_email',
42 'user_firstname',
43 'user_lastname',
44 'user_login',
45 'user_pass',
46 'user_nicename',
47 'user_status',
48 'user_registered',
49 'user_url',
50 ];
51
52 if ( ! in_array($this->property, $properties, true)) {
53 throw new InvalidArgumentException('Invalid property');
54 }
55 }
56
57 public function format(Value $value): Value
58 {
59 $user = get_userdata($value->get_id());
60
61 if ( ! $user) {
62 throw ValueNotFoundException::from_id($value->get_id());
63 }
64
65 $field = $user->{$this->property} ?? null;
66
67 if (null === $field) {
68 throw ValueNotFoundException::from_id($value->get_id());
69 }
70
71 return $value->with_value(
72 $field
73 );
74 }
75
76 }