summaryrefslogtreecommitdiffstats
path: root/application/models/EventMapper.php
diff options
context:
space:
mode:
Diffstat (limited to 'application/models/EventMapper.php')
-rwxr-xr-xapplication/models/EventMapper.php22
1 files changed, 9 insertions, 13 deletions
diff --git a/application/models/EventMapper.php b/application/models/EventMapper.php
index 7e5f41a..28f0e23 100755
--- a/application/models/EventMapper.php
+++ b/application/models/EventMapper.php
@@ -465,21 +465,17 @@ class Application_Model_EventMapper
}
- public function getOverlappingEvents($start, $end) {
+ public function getOverlappingEvents($start, $end, $poolID) {
$db = Zend_Db_Table::getDefaultAdapter();
- $select = "SELECT * FROM poolctrl_event WHERE ( start < '" . $start . "' ) AND ( end BETWEEN '" . $end . "' AND '" . $start . "' )";
- $stmt1 = $db->query($select);
- $result1 = $stmt1->fetchAll();
- $select = "SELECT * FROM poolctrl_event WHERE ( start BEETWEEN '" . $start . "' AND '" . $end . "' ) AND ( end BEETWEEN '" . $start . "' AND '" . $end . "' )";
- $stmt2 = $db->query($select);
- $result2 = $stmt2->fetchAll();
- $merge = array_merge($result1, $result2);
- $select = "SELECT * FROM poolctrl_event WHERE ( start BEETWEEN '" . $start . "' AND '" . $end . "' ) AND ( end > '" . $end . "' )";
- $stmt3 = $db->query($select);
- $result3 = $stmt3->fetchAll();
- $return = array_merge($merge, $result3);
+ $select = "SELECT * FROM poolctrl_event WHERE ( ( start <= '" . $start . "' AND end >= '" . $end . "' ) OR ( start <= '" . $end . "' AND end >= '" . $end . "' ) OR ( start <= '" . $start . "' AND end >= '" . $start . "' ) OR ( start = '" . $start . "' AND end = '" . $end . "' ) ) AND pbs_poolID = '" . $poolID . "'";
+ $stmt = $db->query($select);
+ $results = $stmt->fetchAll();
+ foreach($results as $result) {
+ $event = new Application_Model_Event($result);
+ $return[] = $event;
+ }
return $return;
}
-} \ No newline at end of file
+}