Merge new gtfs-realtime into existing servicealerts architecture
[busui.git] / include / db / servicealert-dao.inc.php
blob:a/include/db/servicealert-dao.inc.php -> blob:b/include/db/servicealert-dao.inc.php
<?php <?php
function getServiceOverride($date = "") function getServiceOverride($date = "")
{ {
global $conn; global $conn;
$query = "Select * from calendar_dates where date = :date and exception_type = '1' LIMIT 1"; $query = "Select * from calendar_dates where date = :date and exception_type = '1' LIMIT 1";
// debug($query,"database"); // debug($query,"database");
$query = $conn -> prepare($query); // Create a prepared statement $query = $conn -> prepare($query); // Create a prepared statement
$query -> bindParam(":date", date("Ymd", ($date != "" ? $date : time()))); $query -> bindParam(":date", date("Ymd", ($date != "" ? $date : time())));
$query -> execute(); $query -> execute();
if (!$query) { if (!$query) {
databaseError($conn -> errorInfo()); databaseError($conn -> errorInfo());
return Array(); return Array();
} }
return $query -> fetch(PDO :: FETCH_ASSOC); return $query -> fetch(PDO :: FETCH_ASSOC);
} }
   
function getServiceAlert($alertID) function getServiceAlert($alertID)
{ {
global $conn; global $conn;
$query = 'SELECT * from servicealerts_alerts where id = :servicealert_id'; $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"); debug($query, "database");
$query = $conn -> prepare($query); $query = $conn -> prepare($query);
$query -> bindParam(":servicealert_id", $alertID); $query -> bindParam(":servicealert_id", $alertID);
$query -> execute(); $query -> execute();
if (!$query) { if (!$query) {
databaseError($conn -> errorInfo()); databaseError($conn -> errorInfo());
return Array(); return Array();
} }
return $query -> fetch(PDO :: FETCH_ASSOC); return $query -> fetch(PDO :: FETCH_ASSOC);
} }
   
   
function updateServiceAlert($alertID, $start, $end, $description, $url) function updateServiceAlert($alertID, $start, $end, $header, $description, $url)
{ {
global $conn; global $conn;
$query = 'update servicealerts_alerts set start=:start, "end"=:end, description=:description, url=:url where id = :servicealert_id'; $query = 'update servicealerts_alerts set start=:start, "end"=:end, header=:header, description=:description, url=:url where id = :servicealert_id';
debug($query, "database"); debug($query, "database");
$query = $conn -> prepare($query); $query = $conn -> prepare($query);
$query -> bindParam(":servicealert_id", $alertID); $query -> bindParam(":servicealert_id", $alertID);
$query -> bindParam(":start", $start); $query -> bindParam(":start", $start);
$query -> bindParam(":end", $end); $query -> bindParam(":end", $end);
  $query -> bindParam(":header", $header);
$query -> bindParam(":description", $description); $query -> bindParam(":description", $description);
$query -> bindParam(":url", $url); $query -> bindParam(":url", $url);
$query -> execute(); $query -> execute();
   
print_r($conn -> errorInfo()); print_r($conn -> errorInfo());
if (!$query) { if (!$query) {
databaseError($conn -> errorInfo()); databaseError($conn -> errorInfo());
return Array(); return Array();
} }
return $query -> fetch(PDO :: FETCH_ASSOC); return $query -> fetch(PDO :: FETCH_ASSOC);
} }
   
function addServiceAlert($start, $end, $description, $url) function addServiceAlert($start, $end, $header, $description, $url)
{ {
global $conn; global $conn;
$query = 'INSERT INTO servicealerts_alerts (start, "end", description, url) VALUES (:start, :end, :description, :url) '; $query = 'INSERT INTO servicealerts_alerts (start, "end", header, description, url) VALUES (:start, :end, :header, :description, :url) ';
debug($query, "database"); debug($query, "database");
$query = $conn -> prepare($query); $query = $conn -> prepare($query);
$query -> bindParam(":start", $start); $query -> bindParam(":start", $start);
$query -> bindParam(":end", $end); $query -> bindParam(":end", $end);
  $query -> bindParam(":header", $header);
$query -> bindParam(":description", $description); $query -> bindParam(":description", $description);
$query -> bindParam(":url", $url); $query -> bindParam(":url", $url);
$query -> execute(); $query -> execute();
   
print_r($conn -> errorInfo()); print_r($conn -> errorInfo());
if (!$query) { if (!$query) {
databaseError($conn -> errorInfo()); databaseError($conn -> errorInfo());
return Array(); return Array();
} }
return $query -> fetch(PDO :: FETCH_ASSOC); return $query -> fetch(PDO :: FETCH_ASSOC);
} }
   
function getCurrentAlerts() function getCurrentAlerts()
{ {
global $conn; global $conn;
$query = 'SELECT * from servicealerts_alerts where NOW() > start and NOW() < "end"'; $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"); // debug($query, "database");
$query = $conn -> prepare($query); $query = $conn -> prepare($query);
$query -> execute(); $query -> execute();
if (!$query) { if (!$query) {
databaseError($conn -> errorInfo()); databaseError($conn -> errorInfo());
return Array(); return Array();
} }
return $query -> fetchAll(); return $query -> fetchAll();
} }
   
function getFutureAlerts() function getFutureAlerts()
{ {
global $conn; global $conn;
$query = 'SELECT * from servicealerts_alerts where NOW() > start or NOW() < "end"'; $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"); // debug($query, "database");
$query = $conn -> prepare($query); $query = $conn -> prepare($query);
$query -> execute(); $query -> execute();
if (!$query) { if (!$query) {
databaseError($conn -> errorInfo()); databaseError($conn -> errorInfo());
return Array(); return Array();
} }
return $query -> fetchAll(); return $query -> fetchAll();
} }
function getInformedAlerts($id, $filter_class, $filter_id) function getInformedAlerts($id, $filter_class, $filter_id)
{ {
global $conn; global $conn;
$query = "SELECT * from servicealerts_informed where servicealert_id = :servicealert_id"; $query = "SELECT * from servicealerts_informed where servicealert_id = :servicealert_id";
if ($filter_class != "") { if ($filter_class != "") {
$query .= " AND informed_class = :informed_class "; $query .= " AND informed_class = :informed_class ";
} }
if ($filter_id != "") { if ($filter_id != "") {
$query .= " AND informed_id = :informed_id "; $query .= " AND informed_id = :informed_id ";
} }
// debug($query, "database"); // debug($query, "database");
$query = $conn -> prepare($query); $query = $conn -> prepare($query);
if ($filter_class != "") { if ($filter_class != "") {
$query -> bindParam(":informed_class", $filter_class); $query -> bindParam(":informed_class", $filter_class);
} }
if ($filter_id != "") { if ($filter_id != "") {
$query -> bindParam(":informed_id", $filter_id); $query -> bindParam(":informed_id", $filter_id);
} }
$query -> bindParam(":servicealert_id", $id); $query -> bindParam(":servicealert_id", $id);
$query -> execute(); $query -> execute();
if (!$query) { if (!$query) {
databaseError($conn -> errorInfo()); databaseError($conn -> errorInfo());
return Array(); return Array();
} }
return $query -> fetchAll(); return $query -> fetchAll();
} }
function deleteInformedAlert($serviceAlertID, $class, $id) function deleteInformedAlert($serviceAlertID, $class, $id)
{ {
global $conn; global $conn;
$query = 'DELETE from servicealerts_informed where servicealert_id = :servicealert_id and informed_class = :informed_class AND informed_id = :informed_id'; $query = 'DELETE from servicealerts_informed where servicealert_id = :servicealert_id and informed_class = :informed_class AND informed_id = :informed_id';
debug($query, "database"); debug($query, "database");
$query = $conn -> prepare($query); $query = $conn -> prepare($query);
$query -> bindParam(":servicealert_id", $serviceAlertID); $query -> bindParam(":servicealert_id", $serviceAlertID);
$query -> bindParam(":informed_class", $class); $query -> bindParam(":informed_class", $class);
$query -> bindParam(":informed_id", $id); $query -> bindParam(":informed_id", $id);
$query -> execute(); $query -> execute();
print_r($conn -> errorInfo()); print_r($conn -> errorInfo());
if (!$query) { if (!$query) {
databaseError($conn -> errorInfo()); databaseError($conn -> errorInfo());
return Array(); return Array();
} }
return null; return null;
} }
function addInformedAlert($serviceAlertID, $class, $id, $action) function addInformedAlert($serviceAlertID, $class, $id, $action)
{ {
global $conn; global $conn;
$query = 'INSERT INTO servicealerts_informed (servicealert_id , informed_class , informed_id) VALUES(:servicealert_id ,:informed_class, :informed_id)'; $query = 'INSERT INTO servicealerts_informed (servicealert_id , informed_class , informed_id) VALUES(:servicealert_id ,:informed_class, :informed_id)';
debug($query, "database"); debug($query, "database");
$query = $conn -> prepare($query); $query = $conn -> prepare($query);
$query -> bindParam(":servicealert_id", $serviceAlertID); $query -> bindParam(":servicealert_id", $serviceAlertID);
$query -> bindParam(":informed_class", $class); $query -> bindParam(":informed_class", $class);
$query -> bindParam(":informed_id", $id); $query -> bindParam(":informed_id", $id);
$query -> execute(); $query -> execute();
   
print_r($conn -> errorInfo()); print_r($conn -> errorInfo());
if (!$query) { if (!$query) {
databaseError($conn -> errorInfo()); databaseError($conn -> errorInfo());
return Array(); return Array();
} }
return null; return null;
} }
?> ?>