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 / Plugin / SetupFactory.php
codepress-admin-columns / classes / Plugin Last commit date
Install 4 days ago Setup 4 days ago SetupFactory 4 days ago Update 4 days ago Install.php 4 days ago InstallCollection.php 4 days ago Setup.php 4 days ago SetupFactory.php 4 days ago Update.php 4 days ago UpdateCollection.php 4 days ago Version.php 4 days ago
SetupFactory.php
61 lines
1 <?php
2
3 declare(strict_types=1);
4
5 namespace AC\Plugin;
6
7 use AC\Storage\Option;
8 use AC\Storage\SiteOption;
9 use InvalidArgumentException;
10
11 class SetupFactory
12 {
13 public const SITE = 'site';
14 public const NETWORK = 'network';
15
16 private string $version_key;
17
18 private Version $version;
19
20 protected ?InstallCollection $installers;
21
22 protected ?UpdateCollection $updates;
23
24 public function __construct(
25 string $version_key,
26 Version $version,
27 ?InstallCollection $installers = null,
28 ?UpdateCollection $updates = null
29 ) {
30 $this->version_key = $version_key;
31 $this->version = $version;
32 $this->installers = $installers;
33 $this->updates = $updates;
34 }
35
36 public function create(string $type): Setup
37 {
38 switch ($type) {
39 case self::NETWORK:
40 return new Setup\Network(
41 new SiteOption($this->version_key),
42 $this->version,
43 $this->installers,
44 $this->updates
45 );
46
47 case self::SITE:
48 return new Setup\Site(
49 new Option($this->version_key),
50 $this->version,
51 $this->installers,
52 $this->updates
53 );
54
55 default:
56 throw new InvalidArgumentException('Expected valid setup type.');
57 }
58 }
59
60 }
61