PluginProbe ʕ •ᴥ•ʔ
Independent Analytics – WordPress Analytics Plugin / 2.14.2
Independent Analytics – WordPress Analytics Plugin v2.14.2
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 / Statistics / Intervals / Intervals.php
independent-analytics / IAWP / Statistics / Intervals Last commit date
Daily.php 2 years ago Hourly.php 5 months ago Interval.php 1 year ago Intervals.php 2 years ago Monthly.php 1 year ago Weekly.php 2 years ago
Intervals.php
48 lines
1 <?php
2
3 namespace IAWP\Statistics\Intervals;
4
5 /** @internal */
6 class Intervals
7 {
8 /**
9 * @return Interval[]
10 */
11 public static function all() : array
12 {
13 return [new \IAWP\Statistics\Intervals\Hourly(), new \IAWP\Statistics\Intervals\Daily(), new \IAWP\Statistics\Intervals\Weekly(), new \IAWP\Statistics\Intervals\Monthly()];
14 }
15 /**
16 * Find an interval by its id. Will return the default interval if provided id is invalid.
17 *
18 * @param string|null $interval_id
19 *
20 * @return Interval
21 */
22 public static function find_by_id(?string $interval_id) : \IAWP\Statistics\Intervals\Interval
23 {
24 foreach (self::all() as $interval) {
25 if ($interval->id() === $interval_id) {
26 return $interval;
27 }
28 }
29 return new \IAWP\Statistics\Intervals\Daily();
30 }
31 public static function default_for(int $days) : \IAWP\Statistics\Intervals\Interval
32 {
33 if ($days <= 3) {
34 return new \IAWP\Statistics\Intervals\Hourly();
35 } elseif ($days <= 84) {
36 return new \IAWP\Statistics\Intervals\Daily();
37 } elseif ($days <= 182) {
38 return new \IAWP\Statistics\Intervals\Weekly();
39 } else {
40 return new \IAWP\Statistics\Intervals\Monthly();
41 }
42 }
43 // public static function create_interval(?string $interval_id): Interval
44 // {
45 // // Switch case...
46 // }
47 }
48