#!/usr/bin/php escape($strasse_name); $hausnummer_name = $db->escape($hausnummer_name); if($adrcd) { // get Hausnummer to update $hausnummer = ADBHausnummerModel::getFirst(['adrcd' => $adrcd]); if(!$hausnummer) { die("Hausnummer adrcd $adrcd not found\n"); } //echo "Hausnummer mit adrcd gefunden\n"; } else { // search Hausnummer $strasse_search = [$strasse_name]; if(strpos($strasse_name, ' ') !== false) $strasse_search[] = str_replace(' ', '-', $strasse_name); if(strpos($strasse_name, '-') !== false) $strasse_search[] = str_replace('-', ' ', $strasse_name); if(strpos($strasse_name, '.') !== false) $strasse_search[] = str_replace('.', '. ', $strasse_name); if(strpos($strasse_name, '.') !== false) $strasse_search[] = str_replace('.', '.-', $strasse_name); if(strpos($strasse_name, '. ') !== false) $strasse_search[] = str_replace('. ', '.', $strasse_name); if(strpos($strasse_name, '. ') !== false) $strasse_search[] = str_replace('. ', '.-', $strasse_name); if(strpos($strasse_name, '.') !== false) $strasse_search[] = str_replace('.-', '.', $strasse_name); if(strpos($strasse_name, '.') !== false) $strasse_search[] = str_replace('.-', '. ', $strasse_name); foreach($strasse_search as $search) { if(strpos($search, 'ß') !== false) $strasse_search[] = str_replace('ß', 'ss', $search); if(strpos($search, 'ä') !== false) $strasse_search[] = str_replace('ä', 'ae', $search); if(strpos($search, 'ö') !== false) $strasse_search[] = str_replace('ö', 'oe', $search); if(strpos($search, 'ü') !== false) $strasse_search[] = str_replace('ü', 'ue', $search); if(strpos($search, 'ss') !== false) $strasse_search[] = str_replace('ss', 'ß', $search); if(strpos($search, 'ae') !== false) $strasse_search[] = str_replace('ae', 'ä', $search); if(strpos($search, 'oe') !== false) $strasse_search[] = str_replace('oe', 'ö', $search); if(strpos($search, 'ue') !== false) $strasse_search[] = str_replace('ue', 'ü', $search); } $sql = "SELECT * FROM view_hausnummer WHERE gemeinde_id = $gemeinde_id AND strasse IN ('". implode("', '", $strasse_search)."') AND hausnummer='$hausnummer_name'"; /*if(preg_match('/^Tobelbader/i',$strasse_name)) { echo "$sql\n"; }*/ $res = $db->query($sql); if($db->num_rows($res)) { // get Hausnummer to update //echo "Hausnummer per Suche gefunden\n"; $data = $db->fetch_object($res); $hausnummer = new ADBHausnummer($data->hausnummer_id); } else { // hausnummer anlegen //echo "hausnummer anlegen\n"; $strasse = ADBStrasseModel::getFirst(["gemeinde_id" => $gemeinde_id, "name" => $strasse_name]); if(!$strasse) die("Strasse $strasse_name nicht gefunden\n"); $plz = ADBPlzModel::getFirst(["gemeinde_id" => $gemeinde_id, "plz" => $plz_name]); if(!$plz) die("PLZ $plz_name nicht gefunden\n"); $ortschaft = ADBOrtschaftModel::getFirst(["gemeinde_id" => $gemeinde_id, "name" => $ort_name]); if(!$ortschaft) die("ortschaft $ortschaft nicht gefunden\n"); $hausnummer_data = [ "netzgebiet_id" => $netzgebiet->id, "extref" => $hausnummer_extref, "ortschaft_id" => $ortschaft->id, "plz_id" => $plz->id, "strasse_id" => $strasse->id, "hausnummer" => $hausnummer_name, "zusatz" => ($addresszusatz) ? : null, "gps_lat" => $lat, "gps_long" => $long, "freigabe" => $default_freigabe, ]; $hausnummer = ADBHausnummerModel::create($hausnummer_data); //var_dump($hausnummer);exit; $hausnummer->save(); continue; } } //echo "Hausnummer extref: \033[1m$hausnummer_extref\033[0m | gem: \033[1m$gem_name\033[0m | plz: \033[1m$plz_name\033[0m | ort: \033[1m$ort_name\033[0m | strasse: \033[1m$strasse_name\033[0m | hausnummer: \033[1m$hausnummer_name\033[0m |"; //echo "Zusatz: \033[1m$addresszusatz\033[0m | (\033[1m$nutzung\033[0m) | ADRCD: \033[1m$adrcd\033[0m\n"; //var_dump($hausnummer);exit; //continue; if($hausnummer->netzgebiet_id != $netzgebiet->id) { $hausnummer->netzgebiet_id = $netzgebiet->id; $hausnummer->save(); } if($hausnummer->extref != $hausnummer_extref) { $hausnummer->extref = $hausnummer_extref; $hausnummer->save(); } $hausnummer->gps_lat = (float)$lat; $hausnummer->gps_long = (float)$long; $hausnummer->freigabe = $default_freigabe; $hausnummer->save(); //echo "$data->ortschaft, $data->plz, $data->strasse, $data->hausnummer\n"; }