| | |
| | | |
| | | // Build structure for UI |
| | | $stop_list = []; |
| | | $query_lower = mb_strtolower($_GET['query'], 'UTF-8'); |
| | | foreach($ids as $id) { |
| | | $stop_list[] = [ |
| | | 'id' => $id, |
| | | 'name' => $stops[$id], |
| | | 'type' => 'stop', |
| | | 'relevance' => similar_text($_GET['query'], $stops[$id]) |
| | | 'relevance' => similar_text( |
| | | $query_lower, |
| | | mb_strtolower($stops[$id], 'UTF-8') |
| | | ) |
| | | ]; |
| | | } |
| | | |
| | | // Sort stops by relevence |
| | | usort($stop_list, function($a, $b) { |
| | | return $b['relevance'] - $a['relevance']; |
| | | $rel = $b['relevance'] - $a['relevance']; |
| | | if($rel == 0) return strcasecmp($a['name'], $b['name']); |
| | | return $rel; |
| | | }); |
| | | |
| | | // Return JSON |
| | |
| | | if(php_sapi_name() !== 'cli') die(); |
| | | |
| | | $chars = 'aąbcćdeęfghijklłmnńoóprsśtuvwxyzżź0123456789'; |
| | | $len = mb_strlen($chars); |
| | | $len = mb_strlen($chars, 'UTF-8'); |
| | | |
| | | $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); |
| | | $char = mb_substr($chars, $i, 1, 'UTF-8').mb_substr($chars, $j, 1, 'UTF-8'); |
| | | $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) { |