PluginProbe ʕ •ᴥ•ʔ
Admin Columns / 4.3.2
Admin Columns v4.3.2
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 / Settings / Column / User.php
codepress-admin-columns / classes / Settings / Column Last commit date
BeforeAfter 5 years ago Pro 5 years ago ActionIcons.php 5 years ago AttachmentDisplay.php 5 years ago BeforeAfter.php 5 years ago CharacterLimit.php 5 years ago Comment.php 5 years ago CommentCount.php 5 years ago CommentLink.php 5 years ago CustomField.php 5 years ago CustomFieldType.php 5 years ago Date.php 5 years ago DateTimeFormat.php 5 years ago ExifData.php 5 years ago Image.php 5 years ago Images.php 5 years ago Label.php 5 years ago LinkLabel.php 5 years ago LinkToMenu.php 5 years ago MediaLink.php 5 years ago Message.php 5 years ago Meta.php 5 years ago MissingImageSize.php 5 years ago NumberFormat.php 5 years ago NumberOfItems.php 5 years ago Password.php 5 years ago PathScope.php 5 years ago Post.php 5 years ago PostFormatIcon.php 5 years ago PostLink.php 5 years ago PostStatus.php 5 years ago PostType.php 5 years ago Pro.php 5 years ago Separator.php 5 years ago StatusIcon.php 5 years ago StringLimit.php 5 years ago Taxonomy.php 5 years ago Term.php 5 years ago TermLink.php 5 years ago Time.php 5 years ago Toggle.php 5 years ago Type.php 5 years ago User.php 5 years ago UserLink.php 5 years ago Width.php 5 years ago WordLimit.php 5 years ago WordsPerMinute.php 5 years ago
User.php
116 lines
1 <?php
2
3 namespace AC\Settings\Column;
4
5 use AC\Settings;
6 use AC\View;
7
8 class User extends Settings\Column implements Settings\FormatValue {
9
10 const NAME = 'user';
11
12 const PROPERTY_DISPLAY_NAME = 'display_name';
13 const PROPERTY_EMAIL = 'user_email';
14 const PROPERTY_FULL_NAME = 'first_last_name';
15 const PROPERTY_FIRST_NAME = 'first_name';
16 const PROPERTY_ID = 'ID';
17 const PROPERTY_LAST_NAME = 'last_name';
18 const PROPERTY_LOGIN = 'user_login';
19 const PROPERTY_NICENAME = 'user_nicename';
20 const PROPERTY_NICKNAME = 'nickname';
21 const PROPERTY_ROLES = 'roles';
22
23 /**
24 * @var string
25 */
26 private $display_author_as;
27
28 protected function set_name() {
29 $this->name = self::NAME;
30 }
31
32 protected function define_options() {
33 return [ 'display_author_as' ];
34 }
35
36 public function get_dependent_settings() {
37 $settings = [];
38
39 $settings[] = new Settings\Column\UserLink( $this->column );
40
41 return $settings;
42 }
43
44 /**
45 * @return View
46 */
47 public function create_view() {
48 $select = $this->create_element( 'select', 'display_author_as' )
49 ->set_attribute( 'data-label', 'update' )
50 ->set_attribute( 'data-refresh', 'column' )
51 ->set_options( $this->get_display_options() );
52
53 $view = new View( [
54 'label' => __( 'Display', 'codepress-admin-columns' ),
55 'setting' => $select,
56 'for' => $select->get_id(),
57 ] );
58
59 return $view;
60 }
61
62 /**
63 * @param int $user_id
64 *
65 * @return false|string
66 */
67 public function get_user_name( $user_id ) {
68 return ac_helper()->user->get_display_name( $user_id, $this->get_display_author_as() );
69 }
70
71 /**
72 * @return array
73 */
74 protected function get_display_options() {
75 $options = [
76 self::PROPERTY_DISPLAY_NAME => __( 'Display Name', 'codepress-admin-columns' ),
77 self::PROPERTY_FIRST_NAME => __( 'First Name', 'codepress-admin-columns' ),
78 self::PROPERTY_FULL_NAME => __( 'Full Name', 'codepress-admin-columns' ),
79 self::PROPERTY_LAST_NAME => __( 'Last Name', 'codepress-admin-columns' ),
80 self::PROPERTY_NICKNAME => __( 'Nickname', 'codepress-admin-columns' ),
81 self::PROPERTY_ROLES => __( 'Roles', 'codepress-admin-columns' ),
82 self::PROPERTY_LOGIN => __( 'User Login', 'codepress-admin-columns' ),
83 self::PROPERTY_EMAIL => __( 'User Email', 'codepress-admin-columns' ),
84 self::PROPERTY_ID => __( 'User ID', 'codepress-admin-columns' ),
85 self::PROPERTY_NICENAME => __( 'User Nicename', 'codepress-admin-columns' ),
86 ];
87
88 // resort for possible translations
89 natcasesort( $options );
90
91 return $options;
92 }
93
94 /**
95 * @return string
96 */
97 public function get_display_author_as() {
98 return $this->display_author_as;
99 }
100
101 /**
102 * @param string $display_author_as
103 *
104 * @return bool
105 */
106 public function set_display_author_as( $display_author_as ) {
107 $this->display_author_as = $display_author_as;
108
109 return true;
110 }
111
112 public function format( $value, $original_value ) {
113 return $this->get_user_name( $value );
114 }
115
116 }