<?php

/**
 * Utilities for Rubriken
 *
 *
 * @author herbert.maier@salzburg-digital.at
 **/




class Util {
    public $resourceDir = __DIR__ . '/resource/';

    public function __construct(){

    }

    public function getMunicipialByName($name) {
        //get federal states (Bundesländer) and district pol. Bezirke

        $districtData = $this->getDistrictData();
        $regex = '#\n(.+?' . preg_quote($name) . '.+?)\n#i';
        $aMunicipialData = [];
        if (preg_match_all($regex, $this->getMunicipialData(),$aMatches)){
            foreach ($aMatches[1] as $municipial_line) {
                $aMunicipial = explode(';', $municipial_line);
                $aMunicipial['gkz'] = $aMunicipial[0];
                $aMunicipial['ort'] = $aMunicipial[1];
                $aMunicipial['zip'] = $aMunicipial[4];

                if (preg_match_all('#\n.+(' . substr($municipial_line, 0, 3)  .'.+?)\n#i', $districtData,$aMatches1)) {
                    $aDistrict = explode(';', $aMatches1[0][0]);
                    $aMunicipial[] = $aDistrict[1];
                    $aMunicipial['bundesland'] = $aDistrict[1];
                    $aMunicipial[] = $aDistrict[3];
                    $aMunicipial['region'] = $aDistrict[3];
                }

                $aMunicipialData[] = $aMunicipial;
            }

        }
        return $aMunicipialData;
    }

    public function getMunicipialData() {
        return file_get_contents($this->resourceDir .  'gemliste_knz.csv');
    }

    public function getDistrictData() {
        return file_get_contents($this->resourceDir .  'polbezirke.csv');
    }



}


?>