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 / Statistics / Intervals / Weekly.php
independent-analytics / IAWP / Statistics / Intervals Last commit date
Daily.php 2 years ago Hourly.php 2 years ago Interval.php 2 years ago Intervals.php 2 years ago Monthly.php 2 years ago Weekly.php 2 years ago
Weekly.php
40 lines
1 <?php
2
3 namespace IAWP_SCOPED\IAWP\Statistics\Intervals;
4
5 /** @internal */
6 class Weekly extends Interval
7 {
8 public function id() : string
9 {
10 return 'weekly';
11 }
12 public function label() : string
13 {
14 return \__('Weekly', 'independent-analytics');
15 }
16 public function date_interval() : \DateInterval
17 {
18 return new \DateInterval('P7D');
19 }
20 public function calculate_start_of_interval_for(\DateTime $original_date_time) : \DateTime
21 {
22 $date_time = clone $original_date_time;
23 $date_time->setTime(0, 0, 0);
24 $start_of_week = \intval(\get_option('iawp_dow', 0));
25 $day_of_week = \intval($date_time->format('w'));
26 $days_to_subtract = $day_of_week - $start_of_week;
27 if ($days_to_subtract < 0) {
28 $days_to_subtract = 7 - \abs($days_to_subtract);
29 }
30 $interval_to_subtract = new \DateInterval('P' . $days_to_subtract . "D");
31 $date_time->sub($interval_to_subtract);
32 return $date_time;
33 }
34 public function get_label_for(\DateTime $date_time) : array
35 {
36 $in_six_days = (clone $date_time)->add(new \DateInterval('P6D'));
37 return ['tick' => $this->format($date_time, 'M j'), 'tooltipLabel' => $this->format($date_time, 'F jS') . ' - ' . $this->format($in_six_days, 'F jS')];
38 }
39 }
40