/** * Получение списка городов из Кладр * @param $query * @return bool|mixed */ public function getCities($query) { $url = $this->getFindCitiesQuery($query); $result = AjaxRequest::execute($url); if (preg_match('/Error: (.*)/', $result, $matches)) { return false; } return ArrayHelper::getColumn(json_decode($result, true)['result'], 'name'); }
/** * Найти город по ip адресу * @param $ip * @return bool */ public static function find($ip) { $url = 'http://api.sypexgeo.net/json/' . Html::encode($ip); $city = json_decode(AjaxRequest::execute($url), true); if ($city['city'] && isset($city['city']['name_ru'])) { return $city['city']['name_ru']; } else { return false; } }