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 / Interval.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
Interval.php
32 lines
1 <?php
2
3 namespace IAWP\Statistics\Intervals;
4
5 /** @internal */
6 abstract class Interval
7 {
8 public abstract function id() : string;
9 public abstract function label() : string;
10 public abstract function date_interval() : \DateInterval;
11 public abstract function calculate_start_of_interval_for(\DateTime $original_date_time) : \DateTime;
12 /**
13 * Allow a subclass to define what the label should be for the data point. If the interval is year,
14 * you'd want to show something like "2025", but if it's a monthly interval you'd want "March 2025".
15 *
16 * @param \DateTime $date_time
17 *
18 * @return array
19 */
20 public abstract function get_label_for(\DateTime $date_time) : array;
21 // Todo - Maybe have an option to pass in either the class or the id for Statistics.php equality checks
22 // that currently rely on the interval method
23 public function equals(\IAWP\Statistics\Intervals\Interval $interval) : bool
24 {
25 return $this->id() === $interval->id();
26 }
27 protected function format(\DateTime $date_time, string $format)
28 {
29 return \wp_date($format, $date_time->getTimestamp(), $date_time->getTimezone());
30 }
31 }
32