PluginProbe ʕ •ᴥ•ʔ
Independent Analytics – WordPress Analytics Plugin / 1.30.0
Independent Analytics – WordPress Analytics Plugin v1.30.0
2.15.5 2.15.4 2.15.3 2.15.2 2.15.1 2.15.0 2.14.10 trunk 1.1 1.10 1.10.1 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.17.1 1.17.2 1.17.3 1.17.4 1.18 1.18.1 1.19.0 1.19.1 1.2 1.20.0 1.21.0 1.22.0 1.22.1 1.23.0 1.23.1 1.24.0 1.24.1 1.25.0 1.25.1 1.26.0 1.27.0 1.28.0 1.28.1 1.28.2 1.28.3 1.29.0 1.3 1.30.0 1.30.1 1.4 1.5 1.6 1.7 1.8 1.9 2.0.0 2.0.1 2.1.4 2.1.5 2.1.6 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.10 2.11.2 2.11.3 2.11.4 2.11.5 2.11.6 2.11.7 2.11.8 2.11.9 2.12.0 2.12.1 2.12.2 2.13.1 2.13.2 2.13.5 2.13.6 2.14.0 2.14.1 2.14.2 2.14.4 2.14.6 2.14.7 2.14.8 2.14.9 2.2.0 2.2.1 2.3.1 2.3.2 2.4.2 2.4.3 2.5.0 2.5.1 2.6.0 2.6.1 2.6.2 2.6.3 2.6.4 2.7.0 2.7.1 2.7.2 2.7.3 2.8.2 2.8.3 2.8.4 2.8.5 2.8.6 2.8.7 2.8.8 2.8.9 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7
independent-analytics / IAWP / Tables / Groups / Groups.php
independent-analytics / IAWP / Tables / Groups Last commit date
Group.php 2 years ago Groups.php 2 years ago
Groups.php
55 lines
1 <?php
2
3 namespace IAWP_SCOPED\IAWP\Tables\Groups;
4
5 class Groups
6 {
7 private $groups;
8 /**
9 * @param Group[] $groups
10 */
11 public function __construct(array $groups = [])
12 {
13 $this->groups = $groups;
14 }
15 public function add(Group $group) : void
16 {
17 $this->groups[] = $group;
18 }
19 public function find_by_id(?string $id = null) : Group
20 {
21 if (\is_null($id)) {
22 return $this->default_group();
23 }
24 $array = \array_filter($this->groups(), function ($group) use($id) {
25 return $group->has_id($id);
26 });
27 $match = \reset($array);
28 return $match === \false ? $this->default_group() : $match;
29 }
30 /**
31 * Return an array of groups representing buttons one can select
32 *
33 * @return Group[]
34 */
35 public function buttons() : array
36 {
37 if (\count($this->groups()) === 1) {
38 return [];
39 } else {
40 return $this->groups();
41 }
42 }
43 /**
44 * @return Group[]
45 */
46 public function groups() : array
47 {
48 return $this->groups;
49 }
50 private function default_group() : Group
51 {
52 return $this->groups()[0];
53 }
54 }
55