PluginProbe ʕ •ᴥ•ʔ
Independent Analytics – WordPress Analytics Plugin / 2.15.0
Independent Analytics – WordPress Analytics Plugin v2.15.0
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 1 year ago Groups.php 2 years ago
Groups.php
60 lines
1 <?php
2
3 namespace IAWP\Tables\Groups;
4
5 /** @internal */
6 class Groups
7 {
8 private $groups;
9 /**
10 * @param Group[] $groups
11 */
12 public function __construct(array $groups = [])
13 {
14 $this->groups = $groups;
15 }
16 public function add(\IAWP\Tables\Groups\Group $group) : void
17 {
18 $this->groups[] = $group;
19 }
20 public function find_by_id(?string $id = null) : \IAWP\Tables\Groups\Group
21 {
22 if (\is_null($id)) {
23 return $this->default_group();
24 }
25 $array = \array_filter($this->groups(), function ($group) use($id) {
26 return $group->id() === $id;
27 });
28 $match = \reset($array);
29 return $match === \false ? $this->default_group() : $match;
30 }
31 /**
32 * Return an array of groups representing buttons one can select
33 *
34 * @return Group[]
35 */
36 public function buttons() : array
37 {
38 if ($this->has_grouping_options()) {
39 return [];
40 } else {
41 return $this->groups();
42 }
43 }
44 public function has_grouping_options() : bool
45 {
46 return \count($this->groups()) > 1;
47 }
48 /**
49 * @return Group[]
50 */
51 public function groups() : array
52 {
53 return $this->groups;
54 }
55 private function default_group() : \IAWP\Tables\Groups\Group
56 {
57 return $this->groups()[0];
58 }
59 }
60