PluginProbe ʕ •ᴥ•ʔ
Admin Columns / 7.0.19
Admin Columns v7.0.19
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 / Setting / ComponentCollection.php
codepress-admin-columns / classes / Setting Last commit date
ComponentFactory 1 month ago Control 1 month ago Type 1 month ago AttributeCollection.php 1 month ago AttributeFactory.php 1 month ago Children.php 1 month ago Component.php 1 month ago ComponentBuilder.php 1 month ago ComponentCollection.php 1 month ago ComponentFactory.php 1 month ago ConditionalComponentFactory.php 1 month ago ConditionalComponentFactoryCollection.php 1 month ago Config.php 1 month ago ConfigCollection.php 1 month ago ConfigFactory.php 1 month ago Context.php 1 month ago Control.php 1 month ago DefaultSettingsBuilder.php 1 month ago Encoder.php 1 month ago Formatter.php 1 month ago FormatterCollection.php 1 month ago
ComponentCollection.php
70 lines
1 <?php
2
3 declare(strict_types=1);
4
5 namespace AC\Setting;
6
7 use AC\Collection;
8
9 final class ComponentCollection extends Collection
10 {
11
12 private int $added = 0;
13
14 public function __construct(array $data = [], int $priority = 10)
15 {
16 foreach ($data as $component) {
17 $this->add($component, $priority);
18 }
19 }
20
21 /**
22 * Priority is taken into account when iterating. E.g. 1 comes before 5.
23 */
24 public function add(Component $component, int $priority = 10): ComponentCollection
25 {
26 $this->data[$priority . '.' . $this->added++] = $component;
27
28 ksort($this->data, SORT_NATURAL);
29
30 return $this;
31 }
32
33 public function current(): Component
34 {
35 return current($this->data);
36 }
37
38 public function merge(ComponentCollection $collection): ComponentCollection
39 {
40 $merged = new ComponentCollection($this->data);
41
42 foreach ($collection as $component) {
43 $merged->add($component);
44 }
45
46 return $merged;
47 }
48
49 public function find(string $name, ?ComponentCollection $settings = null): ?Component
50 {
51 $settings = $settings ?: $this;
52
53 foreach ($settings as $setting) {
54 if ($setting->has_children()) {
55 $found = $this->find($name, $setting->get_children()->get_iterator());
56
57 if ($found) {
58 return $found;
59 }
60 }
61
62 if ($setting->has_input() && $name === $setting->get_input()->get_name()) {
63 return $setting;
64 }
65 }
66
67 return null;
68 }
69
70 }