Вход Регистрация
Файл: system/controllers/geo/model.php
Строк: 89
<?php
class modelGeo extends cmsModel {

    public 
$limit = '';

    public function 
getCountries(){

        
$this->useCache('geo.countries');

        return 
$this->filterEqual('is_enabled', true)->
            
orderByList(array(
                array(
'by' => 'ordering', 'to' => 'asc'),
                array(
'by' => 'name', 'to' => 'asc')
            ))->
get('geo_countries', function($item){
                return 
$item['name'];
        });
    }

    public function 
getRegions($country_id=false){

        
$this->useCache('geo.regions');

        if (
$country_id){
            
$this->filterEqual('country_id', $country_id);
        }

        return 
$this->filterEqual('is_enabled', true)->
            
orderByList(array(
                array(
'by' => 'ordering', 'to' => 'asc'),
                array(
'by' => 'name', 'to' => 'asc')
            ))->
get('geo_regions', function($item){
                return 
$item['name'];
        });
    }

    public function 
getCities($region_id=false){

        
$this->useCache('geo.cities');

        if (
$region_id){
            
$this->filterEqual('region_id', $region_id);
        }

        return 
$this->filterEqual('is_enabled', true)->
            
orderByList(array(
                array(
'by' => 'ordering', 'to' => 'asc'),
                array(
'by' => 'name', 'to' => 'asc')
            ))->
get('geo_cities', function($item){
                return 
$item['name'];
        });
    }

    public function 
getCityParents($city_id){

        
$this->useCache('geo.cities.parents');

        
$this->select('r.id', 'region_id');
        
$this->select('c.id', 'country_id');
        
$this->select('r.name', 'region_name');
        
$this->select('c.name', 'country_name');

        
$this->join('geo_regions', 'r', 'r.id = i.region_id');
        
$this->join('geo_countries', 'c', 'c.id = r.country_id');

        
$this->filterEqual('id', $city_id);

        return 
$this->getItem('geo_cities');

    }

    public function 
getRegionParents($region_id){

        
$this->useCache('geo.regions.parents');

        
$this->select('i.id', 'region_id');
        
$this->select('c.id', 'country_id');
        
$this->select('i.name', 'region_name');
        
$this->select('c.name', 'country_name');

        
$this->join('geo_countries', 'c', 'c.id = i.country_id');

        
$this->filterEqual('id', $region_id);

        return 
$this->getItem('geo_regions');

    }

    public function 
getCity($id){

        
$this->useCache('geo.city');

        return 
$this->getItemById('geo_cities', $id);

    }

}
Онлайн: 2
Реклама