/** * function to send request * @param String $query query for overpass api * @return boolean true when request successful */ static function sendRequest($query) { $link = "http://overpass-api.de/api/interpreter?data=" . urlencode($query); // get data from overpass api $content = @file_get_contents($link); // explanation about status codes of the overpass api can be found here: http://overpass-api.de/command_line.html if (isset($http_response_header[0])) { $status_code = self::getStatusCode($http_response_header[0]); if ($status_code != 200) { if ($status_code == 400) { self::$error = Lang::l_("Invalid Overpass API query."); //log error to send a correct query next time: $msg = "Invalid Overpass API request. Query: " . $query; log_error($msg); } elseif ($status_code == 429) { self::$error = Lang::l_("Too many requests to Overpass API at the same time."); } elseif ($status_code == 504) { self::$error = Lang::l_("Overpass API currently overcrowded."); } else { self::$error = Lang::l_("Unknown Error."); //log error to show a proper error message next time: $msg = "Unknown Error when requesting overpass api: " . $http_response_header[0] . " | URI: " . $link; log_error($msg); } return false; } } else { self::$error = Lang::l_("Connection failed."); return false; } if (!$content) { self::$error = Lang::l_("Empty result."); return false; } self::$result = $content; return true; }
/** * returns description of the signals * @param $tags array tags of the signal */ public static function showDescription() { return Lang::l_("Unknown"); }
/** * HTML Output for Search Result Box */ static function showSearchResult() { ?> <!-- Modal --> <div class="modal fade" id="search" tabindex="-1" role="dialog" aria-labelledby="searchLabel" aria-hidden="true"> <div class="modal-dialog modal-lg"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> <h4 class="modal-title" id="searchLabel"><?php echo Lang::l_("Search Results"); ?> </h4> </div> <div class="modal-body list-group" id="searchcontent"> </div> <div class="modal-footer"> <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> </div> </div> </div> </div> <?php }
/** * returns description of the signals * @param $tags array tags of the signal */ public static function showDescription() { return Lang::l_("German Hl"); }
/** * Function to get route type * @param string $route route type * @param string $service service type */ static function getRouteType($route, $service = "") { $route_type_lang = array("high_speed" => Lang::l_('Highspeed Train'), "long_distance" => Lang::l_('Long Distance Train'), "car" => Lang::l_('Motorail Train'), "car_shuttle" => Lang::l_('Car Shuttle Train'), "night" => Lang::l_('Night Train'), "regional" => Lang::l_('Regional Train'), "commuter" => Lang::l_('Commuter Train'), "train" => Lang::l_('Unspecified Train'), "light_rail" => Lang::l_('Light Rail'), "tram" => Lang::l_('Tram'), "subway" => Lang::l_('Subway'), "tourism" => Lang::l_('Tourist Train'), "tourism_tram" => Lang::l_('Tourist Tram'), "unknown" => Lang::l_('N/A')); if ($route == "train") { $route_type = "train"; if ($service == "high_speed") { $route_type = "high_speed"; } elseif ($service == "long_distance") { $route_type = "long_distance"; } elseif ($service == "night") { $route_type = "night"; } elseif ($service == "car") { $route_type = "car"; } elseif ($service == "car_shuttle") { $route_type = "car_shuttle"; } elseif ($service == "regional") { $route_type = "regional"; } elseif ($service == "commuter") { $route_type = "commuter"; } elseif ($service == "tourism") { $route_type = "tourism"; } } elseif ($route == "tram") { $route_type = "tram"; if ($service == "tourism") { $route_type = "tourism_tram"; } } elseif ($service == "tourism") { $route_type = "tourism"; } elseif ($route == "light_rail") { $route_type = "light_rail"; } elseif ($route == "subway") { $route_type = "subway"; } return $route_type_lang[$route_type]; }
/** * returns description of the signals * @param $tags array tags of the signal */ public static function showDescription() { return Lang::l_("German Zs 3v Speed Announcement Signal"); }
function showAbout() { ?> <!-- Modal --> <div class="modal fade" id="about" tabindex="-1" role="dialog" aria-labelledby="aboutLabel" aria-hidden="true"> <div class="modal-dialog modal-lg"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> <h4 class="modal-title" id="aboutLabel"><?php echo Lang::l_("About This Service"); ?> </h4> </div> <div class="modal-body"> <h5><?php echo Lang::l_("What is this?"); ?> </h5> <p><?php echo Lang::l_("What is this? text"); ?> </p> <h5><?php echo Lang::l_("How do I choose a route?"); ?> </h5> <p><?php echo Lang::l_("How do I choose a route? text"); ?> </p> <h5><?php echo Lang::l_("Where does the data come from and is it up to date?"); ?> </h5> <p><?php echo Lang::l_("Where does the data come from and is it up to date? text"); ?> </p> <h5><?php echo Lang::l_("Which data is used?"); ?> </h5> <p><?php echo Lang::l_("used_data_relations"); ?> </p> <ul> <li><a href="http://wiki.openstreetmap.org/wiki/OpenRailwayMap/Tagging#Train_Route">ref</a></li> <li><a href="http://wiki.openstreetmap.org/wiki/OpenRailwayMap/Tagging#Train_Route">operator</a></li> <li><a href="http://wiki.openstreetmap.org/wiki/OpenRailwayMap/Tagging#Train_Route">network</a></li> <li><a href="http://wiki.openstreetmap.org/wiki/OpenRailwayMap/Tagging#Train_Route">route=rail|train|light_rail|tram|subway</a></li> <li><a href="http://wiki.openstreetmap.org/wiki/OpenRailwayMap/Tagging#Train_Route">service=high_speed|long_distance|night|car|car_shuttle|regional|commuter|tourism</a></li> <li><a href="http://wiki.openstreetmap.org/wiki/OpenRailwayMap/Tagging#Train_Route">color|colour</a></li> <li><a href="http://wiki.openstreetmap.org/wiki/OpenRailwayMap/Tagging#Train_Route">text_color|text_colour|colour:text</a></li> <li><a href="http://wiki.openstreetmap.org/wiki/OpenRailwayMap/Tagging#Train_Route">from</a></li> <li><a href="http://wiki.openstreetmap.org/wiki/OpenRailwayMap/Tagging#Train_Route">to</a></li> <li><a href="http://wiki.openstreetmap.org/wiki/OpenRailwayMap/Tagging#Train_Route">via</a></li> </ul> <p><?php echo Lang::l_("used_data_ways"); ?> </p> <ul> <li><a href="http://wiki.openstreetmap.org/wiki/OpenRailwayMap/Tagging#Tracks">railway=rail|light_rail|tram|narrow_gauge|subway|miniature</a></li> <li><a href="http://wiki.openstreetmap.org/wiki/OpenRailwayMap/Tagging#Tracks">maxspeed</a></li> <li><a href="http://wiki.openstreetmap.org/wiki/OpenRailwayMap/Tagging#Tracks">maxspeed:forward</a></li> <li><a href="http://wiki.openstreetmap.org/wiki/OpenRailwayMap/Tagging#Tracks">maxspeed:backward</a></li> <li><a href="http://wiki.openstreetmap.org/wiki/OpenRailwayMap/Tagging#Tracks">operator</a></li> <li><a href="http://wiki.openstreetmap.org/wiki/OpenRailwayMap/Tagging#Tracks">railway:traffic_mode</a></li> <li><a href="http://wiki.openstreetmap.org/wiki/OpenRailwayMap/Tagging#Tracks">electrified</a></li> <li><a href="http://wiki.openstreetmap.org/wiki/OpenRailwayMap/Tagging#Tracks">voltage</a></li> <li><a href="http://wiki.openstreetmap.org/wiki/OpenRailwayMap/Tagging#Tracks">frequency</a></li> <li><a href="http://wiki.openstreetmap.org/wiki/OpenRailwayMap/Tagging#Tracks">bridge</a></li> <li><a href="http://wiki.openstreetmap.org/wiki/OpenRailwayMap/Tagging#Tracks">tunnel</a></li> <li><a href="http://wiki.openstreetmap.org/wiki/OpenRailwayMap/Tagging#Tracks">embankment</a></li> <li><a href="http://wiki.openstreetmap.org/wiki/OpenRailwayMap/Tagging#Tracks">cutting</a></li> </ul> <p><?php echo Lang::l_("used_data_maxspeed"); ?> </p> <ul> <li><a href="http://wiki.openstreetmap.org/wiki/OpenRailwayMap/Tagging#Tracks">service</a></li> <li><a href="http://wiki.openstreetmap.org/wiki/OpenRailwayMap/Tagging#Tracks">railway:pzb</a></li> <li><a href="http://wiki.openstreetmap.org/wiki/OpenRailwayMap/Tagging#Tracks">railway:lzb</a></li> <li><a href="http://wiki.openstreetmap.org/wiki/OpenRailwayMap/Tagging#Tracks">railway:imu</a></li> <li><a href="http://wiki.openstreetmap.org/wiki/OpenRailwayMap/Tagging#Tracks">railway:ects</a></li> <li><a href="http://wiki.openstreetmap.org/wiki/OpenRailwayMap/Tagging#Tracks">railway:selcab</a></li> <li><a href="http://wiki.openstreetmap.org/wiki/OpenRailwayMap/Tagging#Tracks">highspeed</a></li> <li><a href="http://wiki.openstreetmap.org/wiki/OpenRailwayMap/Tagging#Tracks">usage=main|branch</a></li> </ul> <p><?php echo Lang::l_("used_data_stops"); ?> </p> <ul> <li>name</li> <li>ref_name</li> <li>description</li> </ul> <h5><?php echo Lang::l_("I have a suggestion. / I found an error"); ?> </h5> <p><?php echo Lang::l_("suggestion_error_text"); ?> </p> <h5><?php echo Lang::l_("Changelog"); ?> </h5> <?php $changelog = parseChangelog(); $changelog_size = count($changelog); if ($changelog_size > 2) { ?> <div class="collapse" id="changelog"> <?php } $i = 1; foreach ($changelog as $changelogi) { if ($i > $changelog_size - 2) { ?> </div> <div> <?php } ?> <h6><?php echo $changelogi["heading"]; ?> </h6> <ul> <?php foreach ($changelogi["content"] as $changelogcontent) { ?> <li><?php echo $changelogcontent; ?> </li> <?php } ?> </ul> <?php $i++; } if ($changelog_size > 2) { ?> </div> <button class="btn btn-default" type="button" data-toggle="collapse" data-target="#changelog" aria-expanded="false" aria-controls="changelog">See complete Changelog</button> <?php } ?> </div> <div class="modal-footer"> <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> </div> </div> </div> </div> <?php }
/** * returns description of the signals * @param $tags array tags of the signal */ public static function showDescription() { return Lang::l_("ETCS Marker Board (German Ne 14)"); }
public static function getSignal($id, $tags, $maxspeed_array, $distance) { //find out speed for speed signal $next_speed_distant = ""; if (isset(self::$signal_property[$id]["next_speed"])) { $next_speed = self::$signal_property[$id]["next_speed"]; } if (isset(self::$signal_property[$id]["main"])) { if (isset(self::$signal_property[self::$signal_property[$id]["main"]]["next_speed"])) { $next_speed_distant = self::$signal_property[self::$signal_property[$id]["main"]]["next_speed"]; } } //find distance to main signal $distant_distance = ""; if (isset($tags["railway:signal:distant"]) || isset($tags["railway:signal:combined"])) { if (isset(self::$signal_property[$id]["main"])) { $distant_distance = round(self::$signal_property[self::$signal_property[$id]["main"]]["distance"] - self::$signal_property[$id]["distance"], 2) * 1000; } } //find distance between main signals $main_distance = ""; if (isset($tags["railway:signal:main"]) || isset($tags["railway:signal:combined"]) || isset($tags["railway:signal:train_protection:type"]) && $tags["railway:signal:train_protection:type"] == "block_marker") { if (isset(self::$signal_property[$id]["next_main"])) { $main_distance = round(self::$signal_property[self::$signal_property[$id]["next_main"]]["distance"] - self::$signal_property[$id]["distance"], 2) * 1000; } } //find state of speed limit signal if (isset($tags["railway:signal:speed_limit"])) { if ($tags["railway:signal:speed_limit"] == "DE-ESO:zs3") { $speed = Speedlimit_zs3::findState($tags, $next_speed); } } //find speed for distant speed limit signals if (isset($tags["railway:signal:speed_limit_distant"])) { if ($tags["railway:signal:speed_limit_distant"] == "DE-ESO:zs3v") { $speed_distant = Speedlimit_zs3v::findState($tags, $next_speed_distant); } } //find state for main signals if (isset($tags["railway:signal:main"])) { //German Hp signals if ($tags["railway:signal:main"] == "DE-ESO:hp") { $state_main = HV_main::findState($tags, $next_speed, $main_distance); } elseif ($tags["railway:signal:main"] == "DE-ESO:ks") { $state_main = KS_main::findState($tags, $next_speed, $main_distance); } elseif ($tags["railway:signal:main"] == "DE-ESO:hl") { $state_main = HL_main::findState($tags, $next_speed, $main_distance); } } //German combined ks signals if (isset($tags["railway:signal:combined"])) { if ($tags["railway:signal:combined"] == "DE-ESO:ks") { $state_combined = KS_combined::findState($tags, $next_speed, $next_speed_distant, $main_distance); } if ($tags["railway:signal:combined"] == "DE-ESO:hl") { $state_combined = HL_combined::findState($tags, $next_speed, $next_speed_distant, $main_distance); } } //Find state for distant signals if (isset($tags["railway:signal:distant"])) { //German vr signals if ($tags["railway:signal:distant"] == "DE-ESO:vr") { $state_distant = HV_distant::findState($tags, $next_speed_distant, $main_distance); } elseif ($tags["railway:signal:distant"] == "DE-ESO:ks") { $state_distant = KS_distant::findState($tags, $next_speed_distant, $main_distance); } elseif ($tags["railway:signal:distant"] == "DE-ESO:hl") { $state_distant = HL_distant::findState($tags, $next_speed_distant, $main_distance); } } if (!isset($tags["railway:signal:main"]) && !isset($tags["railway:signal:combined"]) && !isset($tags["railway:signal:distant"]) && !isset($tags["railway:signal:speed"]) && !isset($tags["railway:signal:speed_distant"]) && !(isset($tags["railway:signal:train_protection:type"]) && $tags["railway:signal:train_protection:type"] == "block_marker")) { return; } $result = "\n\t\t\t<tr>\n\t\t\t\t<td> km " . round($distance, 2) . "</td>\n\t\t\t\t<td> "; //write query for svg file $get = "?"; $get_ref = $get_position = false; foreach ($tags as $k => $v) { if ($k == "railway:signal:main" || $k == "railway:signal:main:states" || $k == "railway:signal:main:substitute_signal" || $k == "railway:signal:main:form" || $k == "railway:signal:combined" || $k == "railway:signal:combined:states" || $k == "railway:signal:combined:substitute_signal" || $k == "railway:signal:combined:shortened" || $k == "railway:signal:combined:form" || $k == "railway:signal:distant" || $k == "railway:signal:distant:states" || $k == "railway:signal:distant:repeated" || $k == "railway:signal:distant:form" || $k == "railway:signal:distant:shortened" || $k == "railway:signal:speed_limit" || $k == "railway:signal:speed_limit:form" || $k == "railway:signal:speed_limit:speed" || $k == "railway:signal:speed_limit_distant" || $k == "railway:signal:speed_limit_distant:form" || $k == "railway:signal:speed_limit_distant:speed" || $k == "railway:signal:train_protection" || $k == "railway:signal:minor") { $get .= urlencode($k) . "=" . urlencode($v) . "&"; } // ref only needed for train_protection sign "blockkennzeichen" if ($k == "ref") { $ref = $v; } if ($k == "railway:signal:train_protection" && $v == "DE-ESO:blockkennzeichen") { $get_ref = true; } // position only needed for train_protection sign "ETCS marker board" if ($k == "railway:signal:position") { $position = $v; } if ($k == "railway:signal:train_protection" && $v == "DE-ESO:ne14") { $get_position = true; } } if ($get_ref && isset($ref)) { $get .= "ref=" . urlencode($ref) . "&"; } if ($get_position && isset($position)) { $get .= "railway:signal:position=" . urlencode($position) . "&"; } if (isset($speed) && $speed) { $get .= "&speed=" . $speed; } if (isset($speed_distant) && $speed_distant) { $get .= "&speed_distant=" . $speed_distant; } /* not needed yet if(isset($route)) { $get .= "&route=".$route; } if(isset($route_distant)) { $get .= "&route_distant=".$route_distant; }*/ if (isset($state_main)) { $get .= "&state_main=" . $state_main; } if (isset($state_combined)) { $get .= "&state_combined=" . $state_combined; } if (isset($state_distant)) { $get .= "&state_distant=" . $state_distant; } $result .= ' <object type="image/svg+xml" data="img/signals/signal.php' . $get . '" class="svg signal"> </object>'; // add ref if (isset($tags["ref"])) { // ref not needed for German Blockkennzeichen if (!isset($tags["railway:signal:train_protection"]) || $tags["railway:signal:train_protection"] != "DE-ESO:blockkennzeichen") { $result .= ' <span class="signal_ref">' . $tags["ref"] . '</span>'; } } $result .= '</td>'; //show position if (isset($tags["railway:signal:position"])) { $img_position = "signal_unknown_position.svg"; if ($tags["railway:signal:position"] == "right") { if (isset($tags["railway:signal:expected_position"]) && $tags["railway:signal:expected_position"] == "left") { $img_position = "signal_right_expected_left.svg"; } else { $img_position = "signal_right.svg"; } } elseif ($tags["railway:signal:position"] == "left") { if (isset($tags["railway:signal:expected_position"]) && $tags["railway:signal:expected_position"] == "right") { $img_position = "signal_left_expected_right.svg"; } else { $img_position = "signal_left.svg"; } } if ($tags["railway:signal:position"] == "bridge") { $img_position = "signal_bridge.svg"; } } else { $img_position = "signal_unknown_position.svg"; } $result .= '<td> <img src="img/signals/' . $img_position . '" width = "40"> </td>'; $result .= '<td>'; //show description of signal $description_set = false; if (isset($tags["railway:signal:main"]) || isset($tags["railway:signal:combined"])) { if (isset($tags["railway:signal:combined"])) { $tags["railway:signal:main"] = $tags["railway:signal:combined"]; } if ($tags["railway:signal:main"] == "DE-ESO:ks") { $result .= KS_main::showDescription(); } elseif ($tags["railway:signal:main"] == "DE-ESO:hp") { $result .= HV_main::showDescription(); } elseif ($tags["railway:signal:main"] == "DE-ESO:hl") { $result .= HL_main::showDescription(); } else { $result .= main_light::showDescription(); } if (isset($tags["railway:signal:combined:function"])) { $tags["railway:signal:main:function"] = $tags["railway:signal:combined:function"]; } if (isset($tags["railway:signal:main:function"])) { if ($tags["railway:signal:main:function"] == "entry") { $result .= Lang::l_(" Entry Signal"); } elseif ($tags["railway:signal:main:function"] == "intermediate") { $result .= Lang::l_(" Intermediate Signal"); } elseif ($tags["railway:signal:main:function"] == "exit") { $result .= Lang::l_(" Exit Signal"); } elseif ($tags["railway:signal:main:function"] == "block") { $result .= Lang::l_(" Block Signal"); } else { $result .= Lang::l_(" Main Signal"); } } else { $result .= Lang::l_(" Main Signal"); } $description_set = true; } if (isset($tags["railway:signal:speed_limit"])) { if ($description_set) { $result .= "<br />"; } if (isset($tags["railway:signal:main"]) || isset($tags["railway:signal:combined"])) { $result .= Lang::l_("with "); } if ($tags["railway:signal:speed_limit"] == "DE-ESO:zs3") { $result .= Speedlimit_zs3::showDescription(); } elseif ($tags["railway:signal:speed_limit"] == "DE-ESO:lf7") { $result .= Lang::l_("German Lf7 Speed signal"); } else { $result .= Lang::l_("Unknown Speed signal"); } // Show available speed limits if (isset($tags["railway:signal:speed_limit:speed"])) { $speeds = explode(";", $tags["railway:signal:speed_limit:speed"]); $result .= " ("; $i = 0; foreach ($speeds as $speed) { if ($i > 0) { $result .= ", "; } if (is_numeric($speed)) { $result .= $speed . " km/h"; } elseif ($speed == "off") { $result .= Lang::l_("off"); } elseif ($speed == "?") { $result .= Lang::l_("..."); } else { $result .= Lang::l_("unknown"); } $i++; } $result .= ")"; } $description_set = true; } if (isset($tags["railway:signal:distant"]) || isset($tags["railway:signal:combined"])) { if ($description_set) { $result .= "<br />"; } if (isset($tags["railway:signal:combined"])) { $result .= Lang::l_("combined with "); $tags["railway:signal:distant"] = $tags["railway:signal:combined"]; } if ($tags["railway:signal:distant"] == "DE-ESO:ks") { $result .= KS_distant::showDescription(); } elseif ($tags["railway:signal:distant"] == "DE-ESO:vr") { $result .= HV_distant::showDescription(); } elseif ($tags["railway:signal:distant"] == "DE-ESO:hl") { $result .= HL_distant::showDescription(); } else { $result .= distant_light::showDescription(); } if (isset($tags["railway:signal:distant:repeated"]) && $tags["railway:signal:distant:repeated"] == "yes") { $result .= Lang::l_(" Repeated"); } $result .= Lang::l_(" Distant Signal"); $description_set = true; } if (isset($tags["railway:signal:speed_limit_distant"])) { if ($description_set) { $result .= "<br />"; } if (isset($tags["railway:signal:distant"])) { $result .= Lang::l_("with "); } if ($tags["railway:signal:speed_limit_distant"] == "DE-ESO:zs3v") { $result .= Speedlimit_zs3v::showDescription(); } elseif ($tags["railway:signal:speed_limit_distant"] == "DE-ESO:lf6") { $result .= Lang::l_("German Lf6 Distant Speed signal"); } else { $result .= Lang::l_("Unknown Distant Speed signal"); } if (isset($tags["railway:signal:speed_limit_distant:speed"])) { $speeds = explode(";", $tags["railway:signal:speed_limit_distant:speed"]); $result .= " ("; $i = 0; foreach ($speeds as $speed) { if ($i > 0) { $result .= ", "; } if (is_numeric($speed)) { $result .= $speed . " km/h"; } elseif ($speed == "off") { $result .= Lang::l_("off"); } elseif ($speed == "?") { $result .= Lang::l_("..."); } else { $result .= Lang::l_("unknown"); } $i++; } $result .= ")"; } $description_set = true; } if (isset($tags["railway:signal:train_protection"])) { if ($description_set) { $result .= "<br />"; } if ($tags["railway:signal:train_protection"] == "DE-ESO:blockkennzeichen") { $result .= Blockkennzeichen::showDescription(); } elseif ($tags["railway:signal:train_protection"] == "DE-ESO:ne14") { $result .= ETCS_markerboard::showDescription(); } else { $result .= Lang::l_("Unknown train protection sign"); } $description_set = true; } $result .= '</td>'; if (isset($tags["railway:signal:main"]) && !isset($tags["railway:signal:distant"])) { $distant_distance = '<span class="text-muted">x</span>'; } if (isset($tags["railway:signal:distant"]) || isset($tags["railway:signal:combined"])) { if (isset(self::$signal_property[$id]["main"])) { if ($distant_distance < 300 && (!isset($tags["railway:signal:distant:repeated"]) || $tags["railway:signal:distant:repeated"] != "yes")) { $distant_distance = '<strong class="text-danger">' . $distant_distance . ' m</strong>'; } else { $distant_distance = $distant_distance . ' m'; } } else { $distant_distance = '<strong class="text-danger">?</strong>'; } } $result .= '<td> ' . $distant_distance . ' </td>'; if (isset($tags["railway:signal:distant"]) && !isset($tags["railway:signal:main"])) { $main_distance = '<span class="text-muted">x</span>'; } if (isset($tags["railway:signal:main"]) || isset($tags["railway:signal:combined"]) || isset($tags["railway:signal:train_protection:type"]) && $tags["railway:signal:train_protection:type"] == "block_marker") { if (isset(self::$signal_property[$id]["next_main"])) { if ($main_distance < 600 && isset($tags["railway:signal:main:states"]) && strpos($tags["railway:signal:main:states"], "kennlicht")) { $main_distance = '<strong class="text-info">' . $main_distance . ' m</strong>'; } elseif ($main_distance < 300) { $main_distance = '<strong class="text-danger">' . $main_distance . ' m</strong>'; } elseif ($main_distance < 600) { $main_distance = '<strong class="text-warning">' . $main_distance . ' m</strong>'; } elseif ($main_distance > 20000) { $main_distance = '<strong class="text-danger">' . $main_distance . ' m</strong>'; } elseif ($main_distance > 10000) { $main_distance = '<strong class="text-warning">' . $main_distance . ' m</strong>'; } else { $main_distance = $main_distance . ' m'; } } else { $main_distance = '<strong class="text-danger">?</strong>'; } } $result .= '<td> ' . $main_distance . ' </td>'; $result .= '<td> <a href="http://www.openstreetmap.org/node/' . $id . '">' . Lang::l_("Show on map") . '</a> <br>' . $id . ' </td>'; $result .= "</td>\n\t\t\t\t</tr>\n\t\t\t\t\t\t"; return $result; }
/** * returns description of the signals * @param $tags array tags of the signal */ public static function showDescription() { return Lang::l_("German Zs 3 Speed Signal"); }
// define path to home directory define("PATH", ""); //define version numbers of external software $v_bootstrap = "3.3.4"; $v_leaflet = "0.7.3"; $v_jquery = "1.11.2"; // load language Lang::defineLanguage(); ?> <!DOCTYPE html> <html> <head> <meta charset='utf-8'> <meta name="description" content="<?php echo Lang::l_('Analysis of Train Routes Based on OpenStreetMap Data'); ?> "> <!-- include leaflet --> <script src="http://cdn.leafletjs.com/leaflet-<?php echo $v_leaflet; ?> /leaflet.js"></script> <!-- include bootstrap --> <!-- Latest compiled and minified CSS --> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/<?php echo $v_bootstrap; ?> /css/bootstrap.min.css">
/** * returns description of the signals * @param $tags array tags of the signal */ public static function showDescription() { return Lang::l_("German Blockkennzeichen"); }
/** * generates form to change the train */ static function changeTrain($trainref = "", $train_def = "", $formid = "train") { include "train_details.php"; $type = ""; ?> <select name="train" style="max-width:100%" id="<?php echo $formid; ?> " required> <option<?php if (!$trainref) { ?> selected="selected"<?php } ?> value=""><?php echo Lang::l_('Please choose a train'); ?> </option> <?php foreach ($tr_name as $ref => $name) { if ($tr_type[$ref] != $type) { if ($type) { ?> </optgroup> <?php } ?> <optgroup label="<?php echo Lang::l_(self::$train_type[$tr_type[$ref]]); ?> "> <?php $type = $tr_type[$ref]; } ?> <option <?php if ($ref == $trainref) { echo 'selected="selected"'; } ?> <?php if ($ref == $train_def) { echo 'class="bg-info"'; } ?> value="<?php echo $ref; ?> "><?php echo $name; ?> </option> <?php } ?> </optgroup> </select> <?php }