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 / Comment.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
Comment.php
154 lines
1 <?php
2
3 namespace AC\Settings\Column;
4
5 use AC\Settings;
6 use AC\View;
7
8 /**
9 * @since 3.0.8
10 */
11 class Comment extends Settings\Column
12 implements Settings\FormatValue {
13
14 const NAME = 'comment';
15
16 const PROPERTY_COMMENT = 'comment';
17 const PROPERTY_DATE = 'date';
18 const PROPERTY_ID = 'id';
19 const PROPERTY_AUTHOR = 'author';
20 const PROPERTY_AUTHOR_EMAIL = 'author_email';
21
22 /**
23 * @var string
24 */
25 private $comment_property;
26
27 protected function set_name() {
28 $this->name = self::NAME;
29 }
30
31 protected function define_options() {
32 return [
33 'comment_property_display' => 'comment',
34 ];
35 }
36
37 public function get_dependent_settings() {
38
39 switch ( $this->get_comment_property_display() ) {
40
41 case self::PROPERTY_DATE :
42 return [
43 new Settings\Column\Date( $this->column ),
44 new Settings\Column\CommentLink( $this->column ),
45 ];
46
47 break;
48 case self::PROPERTY_COMMENT :
49 return [
50 new Settings\Column\StringLimit( $this->column ),
51 new Settings\Column\CommentLink( $this->column ),
52 ];
53
54 break;
55 default :
56 return [ new Settings\Column\CommentLink( $this->column ) ];
57 }
58 }
59
60 /**
61 * @param int $id
62 * @param mixed $original_value
63 *
64 * @return string|int
65 */
66 public function format( $id, $original_value ) {
67
68 switch ( $this->get_comment_property_display() ) {
69
70 case self::PROPERTY_DATE :
71 $value = $this->get_comment_property( 'comment_date', $id );
72
73 break;
74 case self::PROPERTY_AUTHOR :
75 $value = $this->get_comment_property( 'comment_author', $id );
76
77 break;
78 case self::PROPERTY_AUTHOR_EMAIL :
79 $value = $this->get_comment_property( 'comment_author_email', $id );
80
81 break;
82 case self::PROPERTY_COMMENT :
83 $value = $this->get_comment_property( 'comment_content', $id );
84
85 break;
86 default :
87 $value = $id;
88 }
89
90 return $value;
91 }
92
93 /**
94 * @param string $property
95 * @param int $id
96 *
97 * @return false|string
98 */
99 private function get_comment_property( $property, $id ) {
100 $comment = get_comment( $id );
101
102 if ( ! isset( $comment->{$property} ) ) {
103 return false;
104 }
105
106 return $comment->{$property};
107 }
108
109 public function create_view() {
110 $select = $this->create_element( 'select' )
111 ->set_attribute( 'data-refresh', 'column' )
112 ->set_options( $this->get_display_options() );
113
114 $view = new View( [
115 'label' => __( 'Display', 'codepress-admin-columns' ),
116 'setting' => $select,
117 ] );
118
119 return $view;
120 }
121
122 protected function get_display_options() {
123 $options = [
124 self::PROPERTY_COMMENT => __( 'Comment' ),
125 self::PROPERTY_ID => __( 'ID' ),
126 self::PROPERTY_AUTHOR => __( 'Author' ),
127 self::PROPERTY_AUTHOR_EMAIL => __( 'Author Email', 'codepress-admin-column' ),
128 self::PROPERTY_DATE => __( 'Date' ),
129 ];
130
131 natcasesort( $options );
132
133 return $options;
134 }
135
136 /**
137 * @return string
138 */
139 public function get_comment_property_display() {
140 return $this->comment_property;
141 }
142
143 /**
144 * @param string $comment_property
145 *
146 * @return bool
147 */
148 public function set_comment_property_display( $comment_property ) {
149 $this->comment_property = $comment_property;
150
151 return true;
152 }
153
154 }