@@ -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 | } |