Add test of protobuf GTFS-realtime conversion to PHP
Add test of protobuf GTFS-realtime conversion to PHP

--- a/include/common-transit.inc.php
+++ b/include/common-transit.inc.php
@@ -47,52 +47,29 @@
 }
 
 $serviceAlertCause = Array(
-UNKNOWN_CAUSE
-OTHER_CAUSE
-TECHNICAL_PROBLEM
-STRIKE
-DEMONSTRATION
-ACCIDENT
-HOLIDAY
-WEATHER
-MAINTENANCE
-CONSTRUCTION
-POLICE_ACTIVITY
-MEDICAL_EMERGENCY
-
-Unknown cause
-Other cause (not represented by any of these options)
-Technical problem
-Strike
-Demonstration
-Accident
-Holiday
-Weather
-Maintenance
-Construction
-Police activity
-Medical emergency
+"UNKNOWN_CAUSE" => "Unknown cause",
+"OTHER_CAUSE" => "Other cause",
+"TECHNICAL_PROBLEM" => "Technical problem",
+"STRIKE" => "Strike",
+"DEMONSTRATION" => "Demonstration",
+"ACCIDENT" => "Accident",
+"HOLIDAY" => "Holiday",
+"WEATHER" => "Weather",
+"MAINTENANCE" => "Maintenance",
+"CONSTRUCTION" => "Construction",
+"POLICE_ACTIVITY" => "Police activity",
+"MEDICAL_EMERGENCY" => "Medical emergency"
 );
 $serviceAlertEffect = Array(
-NO_SERVICE
-REDUCED_SERVICE
-SIGNIFICANT_DELAYS
-DETOUR
-ADDITIONAL_SERVICE
-MODIFIED_SERVICE
-OTHER_EFFECT
-UNKNOWN_EFFECT
-STOP_MOVED
-
-No service
-Reduced service
-Significant delays (insignificant delays should only be provided through Trip updates).
-Detour
-Additional service
-Modified service
-Stop moved
-Other effect (not represented by any of these options)
-Unknown effect);
+"NO_SERVICE" => "No service",
+"REDUCED_SERVICE" => "Reduced service",
+"SIGNIFICANT_DELAYS" => "Significant delays",
+"DETOUR" => "Detour",
+"ADDITIONAL_SERVICE" => "Additional service",
+"MODIFIED_SERVICE" => "Modified service",
+"OTHER_EFFECT" => "Other effect",
+"UNKNOWN_EFFECT" => "Unknown effect",
+"STOP_MOVED" => "Stop moved");
 
 function getServiceAlerts($filter_class, $filter_id) {
 /*

--- /dev/null
+++ b/lib/Protobuf-PHP/test.php
@@ -1,1 +1,65 @@
+<?php
+include_once("library/DrSlump/Protobuf.php");
+include_once("library/DrSlump/Protobuf/Message.php");
+include_once("library/DrSlump/Protobuf/Registry.php");
+include_once("library/DrSlump/Protobuf/Descriptor.php");
+include_once("library/DrSlump/Protobuf/Field.php");
 
+include_once("gtfs-realtime.php");
+include_once("library/DrSlump/Protobuf/CodecInterface.php");
+include_once("library/DrSlump/Protobuf/Codec/PhpArray.php");
+include_once("library/DrSlump/Protobuf/Codec/Binary.php");
+include_once("library/DrSlump/Protobuf/Codec/Binary/Writer.php");
+include_once("library/DrSlump/Protobuf/Codec/Json.php");
+//print_r(get_declared_classes());
+$fm = new transit_realtime\FeedMessage();
+$fh = new transit_realtime\FeedHeader();
+$fh->setGtfsRealtimeVersion(1);
+$fh->setTimestamp(time());
+$fm->setHeader($fh);
+$fe = new transit_realtime\FeedEntity();
+	$fe->setId("1234");
+	$alert = new transit_realtime\Alert();
+		$tr = new transit_realtime\TimeRange();
+			$tr->setStart(000);
+			$tr->setEnd(001);
+		$alert-> addActivePeriod($tr);
+		$es = new transit_realtime\EntitySelector();
+			$es->setAgencyId("0");
+			$es->setStopId("0");
+			$es->setRouteId("0");
+			$td = new transit_realtime\TripDescriptor();
+				$td->setTripId("0");
+			$es->setTrip($td);
+		$alert-> addInformedEntity($es);
+		$alert->setCause(constant("transit_realtime\Alert\Cause::"."UNKNOWN_CAUSE"));
+		$alert->setEffect(constant("transit_realtime\Alert\Effect::"."UNKNOWN_EFFECT"));
+		$tsUrl = new transit_realtime\TranslatedString();
+			$tUrl = new transit_realtime\TranslatedString\Translation();
+				$tUrl->setText("http");
+				$tUrl->setLanguage("en");
+			$tsUrl->addTranslation($tUrl);
+		$alert->setUrl($tsUrl);
+		$tsHeaderText= new transit_realtime\TranslatedString();
+			$tHeaderText = new transit_realtime\TranslatedString\Translation();
+				$tHeaderText->setText("http");
+				$tHeaderText->setLanguage("en");
+			$tsHeaderText->addTranslation($tHeaderText);
+		$alert->setHeaderText($tsHeaderText);
+		$tsDescriptionText= new transit_realtime\TranslatedString();
+			$tDescriptionText = new transit_realtime\TranslatedString\Translation();
+				$tDescriptionText->setText("http");
+				$tDescriptionText->setLanguage("en");
+			$tsDescriptionText->addTranslation($tDescriptionText);
+		$alert->setDescriptionText($tsDescriptionText);
+	$fe->setAlert($alert);
+$fm->addEntity($fe);
+//var_dump($fm);
+
+//$codec = new DrSlump\Protobuf\Codec\Binary();
+//echo $codec->encode($fm);
+
+$codec = new DrSlump\Protobuf\Codec\Json();
+echo $codec->encode($fm);
+
+?>