Fix street closure service alerts
--- a/include/db/servicealert-dao.inc.php
+++ b/include/db/servicealert-dao.inc.php
@@ -44,17 +44,19 @@
return $query->fetch(PDO :: FETCH_ASSOC);
}
-function updateServiceAlert($alertID, $start, $end, $header, $description, $url) {
+function updateServiceAlert($alertID, $alert) {
global $conn;
- $query = 'update servicealerts_alerts set start=:start, "end"=:end, header=:header, description=:description, url=:url where id = :servicealert_id';
+ $query = 'update servicealerts_alerts set start=:start, "end"=:end, header=:header, description=:description, url=:url, cause=:cause, effect=:effect 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->bindValue(":servicealert_id", $alertID);
+ $query->bindValue(":start", $alert['startdate']);
+ $query->bindValue(":end", $alert['enddate']);
+ $query->bindValue(":header", $alert['header']);
+ $query->bindValue(":description", $alert['description']);
+ $query->bindValue(":url", $alert['url']);
+ $query->bindValue(":cause", $alert['cause']);
+ $query->bindValue(":effect", $alert['effect']);
$query->execute();
print_r($conn->errorInfo());
@@ -65,16 +67,19 @@
return $query->fetch(PDO :: FETCH_ASSOC);
}
-function addServiceAlert($start, $end, $header, $description, $url) {
+function addServiceAlert($alert) {
global $conn;
- $query = 'INSERT INTO servicealerts_alerts (start, "end", header, description, url) VALUES (:start, :end, :header, :description, :url) ';
+ $query = 'INSERT INTO servicealerts_alerts (start, "end", header, description, url,cause,effect) VALUES (:start, :end, :header, :description, :url,:cause,:effect) ';
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);
+ //print_r($alert);
+ $query->bindValue(":start", $alert['startdate']);
+ $query->bindValue(":end", $alert['enddate']);
+ $query->bindValue(":header", $alert['header']);
+ $query->bindValue(":description", $alert['description']);
+ $query->bindValue(":url", $alert['url']);
+ $query->bindValue(":cause", $alert['cause']);
+ $query->bindValue(":effect", $alert['effect']);
$query->execute();
print_r($conn->errorInfo());
@@ -158,12 +163,14 @@
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)';
+ $query = 'INSERT INTO servicealerts_informed (servicealert_id , informed_class , informed_id, informed_action)
+ VALUES(:servicealert_id ,:informed_class, :informed_id, :informed_action)';
debug($query, "database");
$query = $conn->prepare($query);
$query->bindParam(":servicealert_id", $serviceAlertID);
$query->bindParam(":informed_class", $class);
$query->bindParam(":informed_id", $id);
+ $query->bindParam(":informed_action", $action);
$query->execute();
print_r($conn->errorInfo());
--- a/include/db/stop-dao.inc.php
+++ b/include/db/stop-dao.inc.php
@@ -89,7 +89,7 @@
$query = "Select * from stops where stop_name LIKE :name;";
debug($query, "database");
$query = $conn->prepare($query);
- $name = "%" . $name . ";%";
+ $name = $name . "%";
$query->bindParam(":name", $name);
$query->execute();
if (!$query) {
--- a/servicealerts/servicealert_editor.php
+++ b/servicealerts/servicealert_editor.php
@@ -27,10 +27,11 @@
*/
if (isset($_REQUEST['saveedit'])) {
- if ($_REQUEST['saveedit'] != "")
- updateServiceAlert($_REQUEST['saveedit'], $_REQUEST['startdate'], $_REQUEST['enddate'], $_REQUEST['header'], $_REQUEST['description'], $_REQUEST['url']);
- else
- addServiceAlert($_REQUEST['startdate'], $_REQUEST['enddate'], $_REQUEST['header'], $_REQUEST['description'], $_REQUEST['url']);
+ if ($_REQUEST['saveedit'] != "") {
+ updateServiceAlert($_REQUEST['saveedit'], $_REQUEST);
+ } else {
+ addServiceAlert($_REQUEST);
+ }
echo "Saved " . $_REQUEST['saveedit'];
die();
}
@@ -61,26 +62,27 @@
if ($_REQUEST['streetsearch']) {
echo "Informing stops of street<br>\n";
- foreach (getStopByName() as $stop) {
- addInformedAlert($_REQUEST['stopsearch'], "stop", $_REQUEST['stopid'], "inform");
- echo "Added stop inform for" . $_REQUEST['stopsearch'] . ", stop" . $_REQUEST['stopid'] . "<br>\n";
+ foreach (getStopsByName($_REQUEST['street']) as $stop) {
+ addInformedAlert($_REQUEST['streetsearch'], "stop", $stop['stop_id'], "inform");
+ echo "Added stop inform for" . $_REQUEST['streetsearch'] . ", stop" . $stop['stop_id'] . " ". $stop['stop_name']."<br>\n";
foreach ($service_periods as $sp) {
echo "Informing $sp routes<br>\n";
- foreach (getStopRoutes($_REQUEST['stopid'], $sp) as $route) {
- addInformedAlert($_REQUEST['stopsearch'], "route", $route['route_id'], "inform");
- echo "Added route inform for stop" . $_REQUEST['stopsearch'] . ", route" . $route['route_id'] . "<br>\n";
+ foreach (getStopRoutes($stop['stop_id'], $sp) as $route) {
+ addInformedAlert($_REQUEST['streetsearch'], "route", $route['route_id'], "inform");
+ echo "Added route inform for stop" . $_REQUEST['streetsearch'] . ", route" . $route['route_id'] . "<br>\n";
}
}
+ }
+
die();
- }
}
?>
Active and Future Alerts:
<table>
<?php
foreach (getFutureAlerts() as $alert) {
- echo "<tr><td>{$alert['start']}</td><td>{$alert['end']}</td><td>" . substr($alert['description'], 0, 999) . '</td><td><a href="?edit=' . $alert['id'] . '">edit</a></td></tr>';
+ echo "<tr><td>" . date("c", $alert['start']) . "</td><td>" . date("c", $alert['end']) . "</td><td>" . substr($alert['description'], 0, 999) . '</td><td><a href="?edit=' . $alert['id'] . '">edit</a></td></tr>';
}
?>
</table>
@@ -94,7 +96,7 @@
<label for="startdate"> Start Date</label>
<input type="text" name="startdate" id="startdate" value="<?php
if ($alert['start'])
- echo $alert['start'];
+ echo date("c", $alert['start']);
else
echo date("c", strtotime("0:00"));
?>" />
@@ -102,10 +104,10 @@
<div data-role="fieldcontain">
<label for="enddate"> End Date </label>
<input type="text" name="enddate" id="enddate" value="<?php
- if ($alert['end'])
- echo $alert['end'];
- else
- echo date("c", strtotime("23:59"));
+ if ($alert['end'])
+ echo date("c", $alert['end']);
+ else
+ echo date("c", strtotime("23:59"));
?>" />
</div>
<div data-role="fieldcontain">
@@ -115,12 +117,31 @@
<div data-role="fieldcontain">
<label for="description">Description</label>
<textarea name="description">
-<?php echo $alert['description']; ?></textarea>
+ <?php echo $alert['description']; ?></textarea>
</div>
<div data-role="fieldcontain">
<label for="url">URL</label>
<input type="text" name="url" id="url" value="<?php echo $alert['url']; ?>" />
</div>
+ <div data-role="fieldcontain">
+ <label for="cause"> Cause: </label>
+ <select name="cause" id="cause">
+
+ <?php
+ foreach ($serviceAlertCause as $key => $value) {
+ echo "<option value=\"$key\"" . ($key === $alert['cause'] ? " SELECTED" : "") . '>' . $value . '</option>';
+ }
+ ?>
+ </select></div>
+ <div data-role="fieldcontain">
+ <label for="effect"> Effect: </label>
+ <select name="effect" id="effect">
+ <?php
+ foreach ($serviceAlertEffect as $key => $value) {
+ echo "<option value=\"$key\"" . ($key === $alert['effect'] ? " SELECTED" : "") . '>' . $value . '</option>';
+ }
+ ?>
+ </select></div>
<input type="hidden" name="saveedit" value="<?php echo $_REQUEST['edit']; ?>"/>
<input type="submit" value="Save"/>
</div></form>