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 1 day ago Setup 1 day ago SetupFactory 1 day ago Update 1 day ago Install.php 1 day ago InstallCollection.php 1 day ago Setup.php 1 day ago SetupFactory.php 1 day ago Update.php 1 day ago UpdateCollection.php 1 day ago Version.php 1 day 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