Merge branch 'master' of https://github.com/maxious/ACTBus-ui
[busui.git] / include / db / servicealert-dao.inc.php
blob:a/include/db/servicealert-dao.inc.php -> blob:b/include/db/servicealert-dao.inc.php
--- a/include/db/servicealert-dao.inc.php
+++ b/include/db/servicealert-dao.inc.php
@@ -1,53 +1,169 @@
 <?php
-function getServiceOverride($date="") {
-	global $conn;
-	$query = "Select * from calendar_dates where date = :date and exception_type = '1' LIMIT 1";
-	// debug($query,"database");
-	$query = $conn->prepare($query); // Create a prepared statement
-	$query->bindParam(":date", date("Ymd",($date != "" ? $date : time())));
-	$query->execute();
-	if (!$query) {
-		databaseError($conn->errorInfo());
-		return Array();
-	}
-	return $query->fetch(PDO::FETCH_ASSOC);
-}
+function getServiceOverride($date = "")
+{
+     global $conn;
+     $query = "Select * from calendar_dates where date = :date and exception_type = '1' LIMIT 1";
+     // debug($query,"database");
+    $query = $conn -> prepare($query); // Create a prepared statement
+     $query -> bindParam(":date", date("Ymd", ($date != "" ? $date : time())));
+     $query -> execute();
+     if (!$query) {
+        databaseError($conn -> errorInfo());
+         return Array();
+         } 
+    return $query -> fetch(PDO :: FETCH_ASSOC);
+    } 
 
-function getCurrentAlerts() {
-		global $conn;
-	$query = "SELECT * from servicealerts_alerts";
-	//debug($query, "database");
-	$query = $conn->prepare($query);
-	//if ($stop_sequence != "") $query->bindParam(":stop_sequence", $stop_sequence);
-	$query->execute();
-	if (!$query) {
-		databaseError($conn->errorInfo());
-		return Array();
-	}
-	return $query->fetchAll();
-}
-function getInformedAlerts($id,$filter_class,$filter_id) {
-	
-		global $conn;
-	$query = "SELECT * from servicealerts_informed where servicealert_id = :servicealert_id";
-	
-	if ($filter_class != "" && $filter_id != "") {
-		$query .= " AND (informed_class = :informed_class OR informed_class = 'network') AND informed_id = :informed_id";
-	
-	}
-	//debug($query, "database");
-	$query = $conn->prepare($query);
-	if ($filter_class != "" && $filter_id != "") {
-		$query->bindParam(":informed_class", $filter_class);
-		$query->bindParam(":informed_id", $filter_id);
-	}
-	$query->bindParam(":servicealert_id", $id);
-	$query->execute();
-	if (!$query) {
-		databaseError($conn->errorInfo());
-		return Array();
-	}
-	return $query->fetchAll();
-}
+function getServiceAlert($alertID)
+{
+     global $conn;
+     $query = "SELECT id,extract('epoch', start) as start, extract('epoch', end) as end,cause,effect,header,description,url from servicealerts_alerts where id = :servicealert_id";
+     debug($query, "database");
+     $query = $conn -> prepare($query);
+     $query -> bindParam(":servicealert_id", $alertID);
+     $query -> execute();
+     if (!$query) {
+        databaseError($conn -> errorInfo());
+         return Array();
+         } 
+    return $query -> fetch(PDO :: FETCH_ASSOC);
+    } 
 
+
+function updateServiceAlert($alertID, $start, $end, $header, $description, $url)
+{
+     global $conn;
+     $query = 'update servicealerts_alerts set start=:start, "end"=:end, header=:header, description=:description, url=:url where id = :servicealert_id';
+     debug($query, "database");
+     $query = $conn -> prepare($query);
+     $query -> bindParam(":servicealert_id", $alertID);
+     $query -> bindParam(":start", $start);
+     $query -> bindParam(":end", $end);
+     $query -> bindParam(":header", $header);
+     $query -> bindParam(":description", $description);
+     $query -> bindParam(":url", $url);
+     $query -> execute();
+
+     print_r($conn -> errorInfo());
+     if (!$query) {
+        databaseError($conn -> errorInfo());
+         return Array();
+         } 
+    return $query -> fetch(PDO :: FETCH_ASSOC);
+    } 
+
+    function addServiceAlert($start, $end, $header, $description, $url)
+{
+     global $conn;
+     $query = 'INSERT INTO servicealerts_alerts (start, "end", header, description, url) VALUES (:start, :end, :header, :description, :url) ';
+     debug($query, "database");
+     $query = $conn -> prepare($query);
+     $query -> bindParam(":start", $start);
+     $query -> bindParam(":end", $end);
+     $query -> bindParam(":header", $header);
+     $query -> bindParam(":description", $description);
+     $query -> bindParam(":url", $url);
+     $query -> execute();
+
+     print_r($conn -> errorInfo());
+     if (!$query) {
+        databaseError($conn -> errorInfo());
+         return Array();
+         } 
+    return $query -> fetch(PDO :: FETCH_ASSOC);
+    } 
+
+function getCurrentAlerts()
+{
+     global $conn;
+     $query = "SELECT id,extract('epoch', start) as start, extract('epoch', end) as end,cause,effect,header,description,url from servicealerts_alerts where NOW() > start and NOW() < \"end\"";
+     // debug($query, "database");
+    $query = $conn -> prepare($query);
+     $query -> execute();
+     if (!$query) {
+        databaseError($conn -> errorInfo());
+         return Array();
+         } 
+    return $query -> fetchAll();
+    } 
+
+function getFutureAlerts()
+{
+     global $conn;
+     $query = "SELECT id,extract('epoch', start) as start, extract('epoch', end) as end,cause,effect,header,description,url from servicealerts_alerts where NOW() > start or NOW() < \"end\"";
+     // debug($query, "database");
+    $query = $conn -> prepare($query);
+     $query -> execute();
+     if (!$query) {
+        databaseError($conn -> errorInfo());
+         return Array();
+         } 
+    return $query -> fetchAll();
+    } 
+function getInformedAlerts($id, $filter_class, $filter_id)
+{
+    
+     global $conn;
+     $query = "SELECT * from servicealerts_informed where servicealert_id = :servicealert_id";
+    
+     if ($filter_class != "") {
+        $query .= " AND informed_class = :informed_class  ";
+        
+         } 
+    if ($filter_id != "") {
+        $query .= " AND informed_id = :informed_id ";
+        
+         } 
+    // debug($query, "database");
+    $query = $conn -> prepare($query);
+     if ($filter_class != "") {
+        $query -> bindParam(":informed_class", $filter_class);
+         } 
+    if ($filter_id != "") {
+        $query -> bindParam(":informed_id", $filter_id);
+         } 
+    $query -> bindParam(":servicealert_id", $id);
+     $query -> execute();
+     if (!$query) {
+        databaseError($conn -> errorInfo());
+         return Array();
+         } 
+    return $query -> fetchAll();
+    } 
+function deleteInformedAlert($serviceAlertID, $class, $id)
+{
+     global $conn;
+     $query = 'DELETE from servicealerts_informed where servicealert_id = :servicealert_id and informed_class = :informed_class  AND informed_id = :informed_id';
+     debug($query, "database");
+     $query = $conn -> prepare($query);
+     $query -> bindParam(":servicealert_id", $serviceAlertID);
+     $query -> bindParam(":informed_class", $class);
+     $query -> bindParam(":informed_id", $id);
+     $query -> execute();
+     print_r($conn -> errorInfo());
+     if (!$query) {
+        databaseError($conn -> errorInfo());
+         return Array();
+         } 
+    return null;
+    } 
+function addInformedAlert($serviceAlertID, $class, $id, $action)
+{
+     global $conn;
+     $query = 'INSERT INTO servicealerts_informed (servicealert_id , informed_class , informed_id) VALUES(:servicealert_id ,:informed_class, :informed_id)';
+     debug($query, "database");
+     $query = $conn -> prepare($query);
+     $query -> bindParam(":servicealert_id", $serviceAlertID);
+     $query -> bindParam(":informed_class", $class);
+     $query -> bindParam(":informed_id", $id);
+     $query -> execute();
+
+     print_r($conn -> errorInfo());
+     if (!$query) {
+        databaseError($conn -> errorInfo());
+         return Array();
+         } 
+    return null;
+    
+    } 
 ?>