|  |  | 
 |  |  | <?php | 
 |  |  | if(php_sapi_name() !== 'cli') die(); | 
 |  |  |  | 
 |  |  | $chars = 'aąbcćdeęfghijklłmnńoóprsśtuvwxyzżź0123456789'; | 
 |  |  | $len = mb_strlen($chars); | 
 |  |  | function fetchStops($url) { | 
 |  |  |    $json = file_get_contents($url); | 
 |  |  |    $elements = json_decode($json, 1); | 
 |  |  |    $stops = []; | 
 |  |  |    foreach($elements['stops'] as $element) { | 
 |  |  |       if($element['category'] == 'other') continue; | 
 |  |  |       $stops[$element['shortName']] = $element['name']; | 
 |  |  |    } | 
 |  |  |    asort($stops); | 
 |  |  |    return $stops; | 
 |  |  | } | 
 |  |  |  | 
 |  |  | $replacements = [ | 
 |  |  |    'Ó' => 'Ó', | 
 |  |  |    'ó' => 'ó', | 
 |  |  |    'É' => 'É', | 
 |  |  |    'é' => 'é', | 
 |  |  | ]; | 
 |  |  |  | 
 |  |  | $stops = []; | 
 |  |  | for($i = 0; $i < $len; $i++) { | 
 |  |  |    for($j = 0; $j < $len; $j++) { | 
 |  |  |       $char = mb_substr($chars, $i, 1).mb_substr($chars, $j, 1); | 
 |  |  |       $json = file_get_contents('http://www.ttss.krakow.pl/internetservice/services/lookup/autocomplete/json?query='.urlencode($char)); | 
 |  |  |       $elements = json_decode($json, 1); | 
 |  |  |       foreach($elements as $element) { | 
 |  |  |          if($element['type'] == 'divider') continue; | 
 |  |  |          if($element['type'] == 'route') continue; | 
 |  |  |          if($element['type'] != 'stop') { | 
 |  |  |             throw new Exception('Unknown element: '.var_export($element, 1)); | 
 |  |  |          } | 
 |  |  | 			 | 
 |  |  |          $stops[$element['id']] = strtr($element['name'], $replacements); | 
 |  |  |       } | 
 |  |  | function printStops($stops, $prefix) { | 
 |  |  |    foreach($stops as $id => $stop) { | 
 |  |  |       echo '  \''.$prefix.str_pad($id."'", 5, ' ', STR_PAD_RIGHT).' => '.var_export($stop, TRUE).','."\n"; | 
 |  |  |    } | 
 |  |  | } | 
 |  |  |  | 
 |  |  | asort($stops); | 
 |  |  | var_export($stops); | 
 |  |  | $stops_tram = fetchStops('http://www.ttss.krakow.pl/internetservice/geoserviceDispatcher/services/stopinfo/stops?left=-648000000&bottom=-324000000&right=648000000&top=324000000'); | 
 |  |  | $stops_bus = fetchStops('http://91.223.13.70/internetservice/geoserviceDispatcher/services/stopinfo/stops?left=-648000000&bottom=-324000000&right=648000000&top=324000000'); | 
 |  |  |  | 
 |  |  | echo '<?php'."\n"; | 
 |  |  | echo '$stops = array ('."\n"; | 
 |  |  | printStops($stops_tram, 't'); | 
 |  |  | echo "\n"; | 
 |  |  | printStops($stops_bus, 'b'); | 
 |  |  | echo ');'."\n"; |