@@ -16,27 +16,27 @@ |
||
16 | 16 | */ |
17 | 17 | class EventInterval { |
18 | 18 | |
19 | - /** |
|
20 | - * Return the number of times a duration fits into the start and end date taking into account |
|
21 | - * BAT's consideration that the end time for a BAT event includes that last minute. |
|
22 | - * |
|
23 | - * @param \DateTime $start_date |
|
24 | - * @param \DateTime $end_date |
|
25 | - * @param \DateInterval $duration |
|
26 | - * |
|
27 | - * @return float |
|
28 | - */ |
|
29 | - public static function divide(\DateTime $start_date, \DateTime $end_date, \DateInterval $duration) { |
|
30 | - // Clone so that we don't change the original object. We are not using ImmutableDateTime to support PHP5.4 |
|
31 | - $temp_end_date = clone($end_date); |
|
32 | - |
|
33 | - // Add a minute to deal with the fact that BAT considers the last minute included |
|
34 | - $temp_end_date->add(new \DateInterval('PT1M')); |
|
35 | - |
|
36 | - // Convert everything to seconds and calculate exactly how many times the duration fits in our event length |
|
37 | - $duration_seconds = $duration->d * 86400 + $duration->h * 3600 + $duration->i * 60 + $duration->s; |
|
38 | - |
|
39 | - return ($temp_end_date->getTimestamp() - $start_date->getTimestamp()) / $duration_seconds; |
|
40 | - } |
|
19 | + /** |
|
20 | + * Return the number of times a duration fits into the start and end date taking into account |
|
21 | + * BAT's consideration that the end time for a BAT event includes that last minute. |
|
22 | + * |
|
23 | + * @param \DateTime $start_date |
|
24 | + * @param \DateTime $end_date |
|
25 | + * @param \DateInterval $duration |
|
26 | + * |
|
27 | + * @return float |
|
28 | + */ |
|
29 | + public static function divide(\DateTime $start_date, \DateTime $end_date, \DateInterval $duration) { |
|
30 | + // Clone so that we don't change the original object. We are not using ImmutableDateTime to support PHP5.4 |
|
31 | + $temp_end_date = clone($end_date); |
|
32 | + |
|
33 | + // Add a minute to deal with the fact that BAT considers the last minute included |
|
34 | + $temp_end_date->add(new \DateInterval('PT1M')); |
|
35 | + |
|
36 | + // Convert everything to seconds and calculate exactly how many times the duration fits in our event length |
|
37 | + $duration_seconds = $duration->d * 86400 + $duration->h * 3600 + $duration->i * 60 + $duration->s; |
|
38 | + |
|
39 | + return ($temp_end_date->getTimestamp() - $start_date->getTimestamp()) / $duration_seconds; |
|
40 | + } |
|
41 | 41 | |
42 | 42 | } |
@@ -50,14 +50,14 @@ discard block |
||
50 | 50 | // Figure out how many days the current month has |
51 | 51 | $temp_date = new \DateTime($data['year'] . "-" . $data['month']); |
52 | 52 | $days_in_month = (int)$temp_date->format('t'); |
53 | - for ($i = 1; $i<=$days_in_month; $i++) { |
|
53 | + for ($i = 1; $i <= $days_in_month; $i++) { |
|
54 | 54 | $db_events[$data['unit_id']][Event::BAT_DAY][$data['year']][$data['month']]['d' . $i] = $data['d' . $i]; |
55 | 55 | } |
56 | 56 | } |
57 | 57 | |
58 | 58 | // With the day events taken care off let's cycle through hours |
59 | 59 | foreach ($results[Event::BAT_HOUR]->fetchAll() as $data) { |
60 | - for ($i = 0; $i<=23; $i++) { |
|
60 | + for ($i = 0; $i <= 23; $i++) { |
|
61 | 61 | $db_events[$data['unit_id']][Event::BAT_HOUR][$data['year']][$data['month']]['d' . $data['day']]['h' . $i] = $data['h' . $i]; |
62 | 62 | } |
63 | 63 | } |
@@ -126,11 +126,11 @@ discard block |
||
126 | 126 | $keys = array_keys($hours); |
127 | 127 | if (isset($existing_events[$event->getUnitId()][EVENT::BAT_HOUR][$year][$month][$day])) { |
128 | 128 | $command = "UPDATE $this->hour_table SET "; |
129 | - foreach ($hours as $hour => $value){ |
|
129 | + foreach ($hours as $hour => $value) { |
|
130 | 130 | $command .= "$hour = $value,"; |
131 | 131 | } |
132 | 132 | $command = rtrim($command, ','); |
133 | - $command .= " WHERE unit_id = " . $event->getUnitId() . " AND year = $year AND month = $month AND day = " . substr($day,1); |
|
133 | + $command .= " WHERE unit_id = " . $event->getUnitId() . " AND year = $year AND month = $month AND day = " . substr($day, 1); |
|
134 | 134 | $this->pdo->exec($command); |
135 | 135 | } else { |
136 | 136 | $this->pdo->exec("INSERT INTO $this->hour_table (unit_id, year, month, day, " . implode(', ', $keys) . ") VALUES (" . $event->getUnitId() . ", $year, $month, " . substr($day, 1) . ", " . implode(', ', $values) . ")"); |
@@ -149,11 +149,11 @@ discard block |
||
149 | 149 | $keys = array_keys($minutes); |
150 | 150 | if (isset($existing_events[$event->getUnitId()][EVENT::BAT_MINUTE][$year][$month][$day][$hour])) { |
151 | 151 | $command = "UPDATE $this->minute_table SET "; |
152 | - foreach ($minutes as $minute => $value){ |
|
152 | + foreach ($minutes as $minute => $value) { |
|
153 | 153 | $command .= "$minute = $value,"; |
154 | 154 | } |
155 | 155 | $command = rtrim($command, ','); |
156 | - $command .= " WHERE unit_id = " . $event->getUnitId() . " AND year = $year AND month = $month AND day = " . substr($day,1) . " AND hour = " . substr($hour,1); |
|
156 | + $command .= " WHERE unit_id = " . $event->getUnitId() . " AND year = $year AND month = $month AND day = " . substr($day, 1) . " AND hour = " . substr($hour, 1); |
|
157 | 157 | $this->pdo->exec($command); |
158 | 158 | } else { |
159 | 159 | $this->pdo->exec("INSERT INTO $this->minute_table (unit_id, year, month, day, hour, " . implode(', ', $keys) . ") VALUES (" . $event->getUnitId() . ", $year, $month, " . substr($day, 1) . ", " . substr($hour, 1) . ", " . implode(', ', $values) . ")"); |
@@ -108,8 +108,7 @@ |
||
108 | 108 | $command = rtrim($command, ','); |
109 | 109 | $command .= " WHERE unit_id = " . $event->getUnitId() . " AND year = $year AND month = $month"; |
110 | 110 | $this->pdo->exec($command); |
111 | - } |
|
112 | - else { |
|
111 | + } else { |
|
113 | 112 | $this->pdo->exec("INSERT INTO $this->day_table (unit_id, year, month, " . implode(', ', $keys) . ") VALUES (" . $event->getUnitId() . ", $year, $month, " . implode(', ', $values) . ")"); |
114 | 113 | } |
115 | 114 | } |