PluginProbe ʕ •ᴥ•ʔ
Admin Columns / 7.0.13
Admin Columns v7.0.13
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 5 months ago BaseFactory.php 5 months ago CommentFactory.php 5 months ago IntegrationFactory.php 5 months ago MediaFactory.php 5 months ago OriginalFactory.php 5 months ago PostFactory.php 5 months ago ThirdPartyFactory.php 5 months ago UserFactory.php 5 months 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
20 protected Container $container;
21
22 public function __construct(Container $container)
23 {
24 $this->container = $container;
25 }
26
27 public function create(TableScreen $table_screen): ColumnFactories
28 {
29 $collection = new Collection\ColumnFactories();
30
31 $factories = $this->get_factories($table_screen);
32
33 if ($factories->count()) {
34 $defaults = [
35 'list_key' => $table_screen->get_id(),
36 'meta_type' => $table_screen instanceof TableScreen\MetaType ? $table_screen->get_meta_type() : null,
37 'post_type' => $table_screen instanceof PostType ? $table_screen->get_post_type() : null,
38 'taxonomy' => $table_screen instanceof Taxonomy ? $table_screen->get_taxonomy() : null,
39 ];
40
41 if ($table_screen instanceof TableScreen\MetaType) {
42 $defaults['table_context'] = TableScreenContext::from_table_screen($table_screen);
43 }
44
45 foreach ($factories as $factory) {
46 $collection->add(
47 $this->container->make(
48 $factory->get_factory(),
49 array_merge($defaults, $factory->get_parameters())
50 )
51 );
52 }
53 }
54
55 return $collection;
56 }
57
58 abstract protected function get_factories(TableScreen $table_screen): ColumnFactoryDefinitionCollection;
59
60 }