PluginProbe ʕ •ᴥ•ʔ
Independent Analytics – WordPress Analytics Plugin / 2.14.8
Independent Analytics – WordPress Analytics Plugin v2.14.8
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 / Interval / Interval.php
independent-analytics / IAWP / Interval Last commit date
Interval.php 2 years ago Minute_Interval.php 1 year ago Ten_Second_Interval.php 1 year ago
Interval.php
38 lines
1 <?php
2
3 namespace IAWP\Interval;
4
5 use IAWP\Date_Range\Date_Range;
6 /** @internal */
7 abstract class Interval
8 {
9 public abstract function fetch(Date_Range $date_range) : array;
10 public abstract function get_date_interval() : \DateInterval;
11 public abstract function short_label() : string;
12 public abstract function long_label_singular() : string;
13 public abstract function long_label_plural() : string;
14 public abstract function interval_multiplier() : int;
15 public function get_short_labels(array $intervals) : array
16 {
17 return \array_map(function ($interval) {
18 $interval = $interval * $this->interval_multiplier();
19 if ($interval === 0) {
20 return \esc_html__('now', 'independent-analytics');
21 } else {
22 return '-' . $interval . ' ' . $this->short_label();
23 }
24 }, $intervals);
25 }
26 public function get_full_labels($intervals) : array
27 {
28 return \array_map(function ($interval) {
29 $interval = $interval * $this->interval_multiplier();
30 if ($interval === 1) {
31 return $interval . ' ' . $this->long_label_singular();
32 } else {
33 return $interval . ' ' . $this->long_label_plural();
34 }
35 }, $intervals);
36 }
37 }
38