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