Example #1
0
 function get_streets($args = null)
 {
     //проверяем данные
     if (empty($_POST["code"])) {
         return array("error" => "Не указан код города или населенного пункта");
     }
     $code = $_POST["code"];
     //загружаем информацию о таблице для данного региона
     $regions = GeoRegion::findByREGIONCODE(array("fields" => "STREETTABLE", "value" => intval(substr($code, 0, 2))));
     if (empty($regions)) {
         return array("error" => "Не удалось определить регион");
     }
     $rows = array();
     $hand_enter = 1;
     if ($regions[0]->STREETTABLE != null) {
         GeoStreet::setTableName("_" . $regions[0]->STREETTABLE);
         $args = array("fields" => array("CODE", "FORMALNAME", "SHORTNAME"), "where" => "`AOLEVEL` = 7", "order" => array("FORMALNAME"), "value" => substr($code, 0, 11) . "%");
         $rows = GeoStreet::findByCODE($args);
         $hand_enter = 0;
     }
     $res = array();
     foreach ($rows as $row) {
         $res[] = array("code" => $row->CODE, "name" => $row->FORMALNAME . " " . $row->SHORTNAME . ".");
     }
     return array("success" => array("hand_enter" => $hand_enter, "res" => $res));
 }
Example #2
0
 public static function setTableName($name)
 {
     if (!is_string($name)) {
         throw new InvalidArgumentException(get_called_class() . ' - ' . __FUNCTION__ . ': Invalid argument name');
     }
     self::$tableName = 'geo_street' . $name;
 }