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 / ColumnFactories / BaseFactory.php
codepress-admin-columns / classes / ColumnFactories Last commit date
Aggregate.php 2 days ago BaseFactory.php 2 days ago CommentFactory.php 2 days ago IntegrationFactory.php 2 days ago MediaFactory.php 2 days ago OriginalFactory.php 2 days ago PostFactory.php 2 days ago ThirdPartyFactory.php 2 days ago UserFactory.php 2 days ago
BaseFactory.php
60 lines
1 <?php
2
3 declare(strict_types=1);
4
5 namespace AC\ColumnFactories;
6
7 use AC\Collection;
8 use AC\Collection\ColumnFactories;
9 use AC\ColumnFactoryCollectionFactory;
10 use AC\ColumnFactoryDefinitionCollection;
11 use AC\DI\Container;
12 use AC\PostType;
13 use AC\TableScreen;
14 use AC\Taxonomy;
15 use AC\Type\TableScreenContext;
16
17 abstract class BaseFactory implements ColumnFactoryCollectionFactory
18 {
19 protected Container $container;
20
21 public function __construct(Container $container)
22 {
23 $this->container = $container;
24 }
25
26 public function create(TableScreen $table_screen): ColumnFactories
27 {
28 $collection = new Collection\ColumnFactories();
29
30 $factories = $this->get_factories($table_screen);
31
32 if ($factories->count()) {
33 $defaults = [
34 'list_key' => $table_screen->get_id(),
35 'meta_type' => $table_screen instanceof TableScreen\MetaType ? $table_screen->get_meta_type() : null,
36 'post_type' => $table_screen instanceof PostType ? $table_screen->get_post_type() : null,
37 'taxonomy' => $table_screen instanceof Taxonomy ? $table_screen->get_taxonomy() : null,
38 ];
39
40 if ($table_screen instanceof TableScreen\MetaType) {
41 $defaults['table_context'] = TableScreenContext::from_table_screen($table_screen);
42 }
43
44 foreach ($factories as $factory) {
45 $collection->add(
46 $this->container->make(
47 $factory->get_factory(),
48 array_merge($defaults, $factory->get_parameters())
49 )
50 );
51 }
52 }
53
54 return $collection;
55 }
56
57 abstract protected function get_factories(TableScreen $table_screen): ColumnFactoryDefinitionCollection;
58
59 }
60