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 / ColumnFactory / User / LastPostFactory.php
codepress-admin-columns / classes / ColumnFactory / User Last commit date
AuthorSlugFactory.php 2 days ago CommentCountFactory.php 2 days ago DescriptionFactory.php 2 days ago DisplayNameFactory.php 2 days ago FirstNameFactory.php 2 days ago FirstPostFactory.php 2 days ago FullNameFactory.php 2 days ago LastNameFactory.php 2 days ago LastPostFactory.php 2 days ago NicknameFactory.php 2 days ago PostCountFactory.php 2 days ago RegisteredDateFactory.php 2 days ago ShowToolbarFactory.php 2 days ago UserIdFactory.php 2 days ago UserNameFactory.php 2 days ago UserUrlFactory.php 2 days ago VisualEditingFactory.php 2 days ago
LastPostFactory.php
65 lines
1 <?php
2
3 declare(strict_types=1);
4
5 namespace AC\ColumnFactory\User;
6
7 use AC;
8 use AC\Column\BaseColumnFactory;
9 use AC\FormatterCollection;
10 use AC\Setting\ComponentCollection;
11 use AC\Setting\ComponentFactory;
12 use AC\Setting\Config;
13 use AC\Setting\DefaultSettingsBuilder;
14
15 class LastPostFactory extends BaseColumnFactory
16 {
17 private ComponentFactory\PostType $post_type;
18
19 private ComponentFactory\PostStatus $post_status;
20
21 private ComponentFactory\LinkablePostProperty $post_property;
22
23 public function __construct(
24 DefaultSettingsBuilder $default_settings_builder,
25 ComponentFactory\PostType $post_type,
26 ComponentFactory\PostStatus $post_status,
27 ComponentFactory\LinkablePostProperty $post_property
28 ) {
29 parent::__construct($default_settings_builder);
30
31 $this->post_type = $post_type;
32 $this->post_status = $post_status;
33 $this->post_property = $post_property;
34 }
35
36 public function get_label(): string
37 {
38 return __('Last Post', 'codepress-admin-columns');
39 }
40
41 public function get_column_type(): string
42 {
43 return 'column-last_post';
44 }
45
46 protected function get_formatters(Config $config): FormatterCollection
47 {
48 $post_type = $config->has('post_type') ? (array)$config->get('post_type') : null;
49 $post_status = $config->has('post_status') ? (array)$config->get('post_status') : null;
50
51 return parent::get_formatters($config)
52 ->prepend(new AC\Formatter\User\LastPost($post_type, $post_status));
53 }
54
55 protected function get_settings(Config $config): ComponentCollection
56 {
57 return new ComponentCollection([
58 $this->post_type->create($config),
59 $this->post_status->create($config),
60 $this->post_property->create($config),
61 ]);
62 }
63
64 }
65