Added AdressDB + AddressDB API
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -5,6 +5,7 @@ composer.lock
|
||||
.idea
|
||||
nbproject
|
||||
config/config.php
|
||||
scripts/import
|
||||
todo
|
||||
files/*
|
||||
vendor/
|
||||
|
||||
@@ -6,6 +6,7 @@ class ADBGemeinde extends mfBaseModel {
|
||||
|
||||
protected function init() {
|
||||
$this->db = FronkDB::singleton(ADDRESSDB_DBHOST, ADDRESSDB_DBUSER, ADDRESSDB_DBPASS, ADDRESSDB_DBNAME);
|
||||
$this->table = "Gemeinde";
|
||||
}
|
||||
|
||||
|
||||
|
||||
148
application/ADBGemeinde/ADBGemeindeModel.php
Normal file
148
application/ADBGemeinde/ADBGemeindeModel.php
Normal file
@@ -0,0 +1,148 @@
|
||||
<?php
|
||||
|
||||
class ADBGemeindeModel {
|
||||
public $kennziffer;
|
||||
public $code;
|
||||
public $name;
|
||||
|
||||
public $create_by = null;
|
||||
public $edit_by = null;
|
||||
public $create = null;
|
||||
public $edit = null;
|
||||
|
||||
public static function create(Array $data) {
|
||||
$model = new ADBGemeinde();
|
||||
|
||||
foreach($data as $field => $value) {
|
||||
if(property_exists(get_called_class(), $field)) {
|
||||
$model ->$field = $value;
|
||||
}
|
||||
}
|
||||
|
||||
$me = mfValuecache::singleton()->get("me");
|
||||
if(!$me) {
|
||||
$me = new User();
|
||||
$me->loadMe();
|
||||
mfValuecache::singleton()->set("me", $me);
|
||||
}
|
||||
/*
|
||||
if($model->create_by === null) {
|
||||
$model->create_by = $me->id;
|
||||
}
|
||||
if($model->edit_by === null) {
|
||||
$model->edit_by = $me->id;
|
||||
}*/
|
||||
|
||||
return $model;
|
||||
}
|
||||
|
||||
public static function getFirst($filter) {
|
||||
$db = FronkDB::singleton(ADDRESSDB_DBHOST, ADDRESSDB_DBUSER, ADDRESSDB_DBPASS, ADDRESSDB_DBNAME);
|
||||
|
||||
$where = self::getSqlFilter($filter);
|
||||
$res = $db->select("Gemeinde", "*", "$where ORDER BY name,code,kennziffer LIMIT 1");
|
||||
if($db->num_rows($res)) {
|
||||
$data = $db->fetch_object($res);
|
||||
$item = new ADBGemeinde($data);
|
||||
if($item->id) {
|
||||
return $item;
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public static function getAll() {
|
||||
$items = [];
|
||||
|
||||
$db = FronkDB::singleton(ADDRESSDB_DBHOST, ADDRESSDB_DBUSER, ADDRESSDB_DBPASS, ADDRESSDB_DBNAME);
|
||||
|
||||
$res = $db->select("Gemeinde", "*", "1=1 ORDER BY name,code,kennziffer");
|
||||
if($db->num_rows($res)) {
|
||||
while($data = $db->fetch_object($res)) {
|
||||
$items[] = new ADBGemeinde($data);
|
||||
}
|
||||
}
|
||||
return $items;
|
||||
|
||||
}
|
||||
|
||||
|
||||
public static function count($filter) {
|
||||
$db = FronkDB::singleton(ADDRESSDB_DBHOST, ADDRESSDB_DBUSER, ADDRESSDB_DBPASS, ADDRESSDB_DBNAME);
|
||||
|
||||
$where = self::getSqlFilter($filter);
|
||||
$sql = "SELECT COUNT(*) as cnt FROM Gemeinde
|
||||
WHERE $where
|
||||
";
|
||||
|
||||
$res = $db->query($sql);
|
||||
if($db->num_rows($res)) {
|
||||
$data = $db->fetch_object($res);
|
||||
return $data->cnt;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
public static function search($filter, $limit = false) {
|
||||
$items = [];
|
||||
$db = FronkDB::singleton(ADDRESSDB_DBHOST, ADDRESSDB_DBUSER, ADDRESSDB_DBPASS, ADDRESSDB_DBNAME);
|
||||
|
||||
$where = self::getSqlFilter($filter);
|
||||
$sql = "SELECT Gemeinde.* FROM Gemeinde
|
||||
WHERE $where
|
||||
ORDER BY name,code,kennziffer";
|
||||
|
||||
//mfLoghandler::singleton()->debug($sql);
|
||||
if(is_array($limit) && count($limit)) {
|
||||
if(is_numeric($limit['start']) && is_numeric($limit['count'])) {
|
||||
$sql .= " LIMIT ".$limit['start'].", ".$limit['count'];
|
||||
} elseif(is_numeric($count)) {
|
||||
$sql .= " LIMIT ".$limit['count'];
|
||||
}
|
||||
}
|
||||
|
||||
$res = $db->query($sql);
|
||||
if($db->num_rows($res)) {
|
||||
while($data = $db->fetch_object($res)) {
|
||||
$items[] = new ADBGemeinde($data);
|
||||
}
|
||||
}
|
||||
return $items;
|
||||
}
|
||||
|
||||
private static function getSqlFilter($filter) {
|
||||
$where = "1=1 ";
|
||||
|
||||
|
||||
if(array_key_exists("code", $filter)) {
|
||||
$code = $filter['code'];
|
||||
if(is_numeric($code)) {
|
||||
$where .= " AND Gemeinde.code=$code";
|
||||
} elseif(is_array($code) && count($code)) {
|
||||
$where .= " AND Gemeinde.code IN (". implode(",", $code).")";
|
||||
}
|
||||
}
|
||||
|
||||
if(array_key_exists("kennziffer", $filter)) {
|
||||
$kennziffer = $filter['kennziffer'];
|
||||
if(is_numeric($kennziffer)) {
|
||||
$where .= " AND Gemeinde.kennziffer=$kennziffer";
|
||||
} elseif(is_array($kennziffer) && count($kennziffer)) {
|
||||
$where .= " AND Gemeinde.kennziffer IN (". implode(",", $kennziffer).")";
|
||||
}
|
||||
}
|
||||
|
||||
if(array_key_exists("name", $filter)) {
|
||||
$name = FronkDB::singleton()->escape($filter['name']);
|
||||
if($name) {
|
||||
$where .= " AND Gemeinde.`name` like '%$name%'";
|
||||
}
|
||||
}
|
||||
|
||||
//var_dump($filter, $where);exit;
|
||||
return $where;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -8,6 +8,7 @@ class ADBHausnummer extends mfBaseModel {
|
||||
|
||||
protected function init() {
|
||||
$this->db = FronkDB::singleton(ADDRESSDB_DBHOST, ADDRESSDB_DBUSER, ADDRESSDB_DBPASS, ADDRESSDB_DBNAME);
|
||||
$this->table = "Hausnummer";
|
||||
}
|
||||
|
||||
public function afterLoad() {
|
||||
|
||||
147
application/ADBHausnummer/ADBHausnummerModel.php
Normal file
147
application/ADBHausnummer/ADBHausnummerModel.php
Normal file
@@ -0,0 +1,147 @@
|
||||
<?php
|
||||
|
||||
class ADBHausnummerModel {
|
||||
public $gemeinde_id;
|
||||
public $kennziffer;
|
||||
public $name;
|
||||
public $plz;
|
||||
|
||||
public $create_by = null;
|
||||
public $edit_by = null;
|
||||
public $create = null;
|
||||
public $edit = null;
|
||||
|
||||
public static function create(Array $data) {
|
||||
$model = new ADBHausnummer();
|
||||
|
||||
foreach($data as $field => $value) {
|
||||
if(property_exists(get_called_class(), $field)) {
|
||||
$model ->$field = $value;
|
||||
}
|
||||
}
|
||||
|
||||
$me = mfValuecache::singleton()->get("me");
|
||||
if(!$me) {
|
||||
$me = new User();
|
||||
$me->loadMe();
|
||||
mfValuecache::singleton()->set("me", $me);
|
||||
}
|
||||
/*
|
||||
if($model->create_by === null) {
|
||||
$model->create_by = $me->id;
|
||||
}
|
||||
if($model->edit_by === null) {
|
||||
$model->edit_by = $me->id;
|
||||
}*/
|
||||
|
||||
return $model;
|
||||
}
|
||||
|
||||
public static function getFirst($filter) {
|
||||
$db = FronkDB::singleton(ADDRESSDB_DBHOST, ADDRESSDB_DBUSER, ADDRESSDB_DBPASS, ADDRESSDB_DBNAME);
|
||||
|
||||
$where = self::getSqlFilter($filter);
|
||||
$res = $db->select("Hausnummer", "*", "$where ORDER BY strasse_id,hausnummer LIMIT 1");
|
||||
if($db->num_rows($res)) {
|
||||
$data = $db->fetch_object($res);
|
||||
$item = new ADBHausnummer($data);
|
||||
if($item->id) {
|
||||
return $item;
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public static function getAll() {
|
||||
$items = [];
|
||||
|
||||
$db = FronkDB::singleton(ADDRESSDB_DBHOST, ADDRESSDB_DBUSER, ADDRESSDB_DBPASS, ADDRESSDB_DBNAME);
|
||||
|
||||
$res = $db->select("Hausnummer", "*", "1=1 ORDER BY strasse_id,hausnummer");
|
||||
if($db->num_rows($res)) {
|
||||
while($data = $db->fetch_object($res)) {
|
||||
$items[] = new ADBHausnummer($data);
|
||||
}
|
||||
}
|
||||
return $items;
|
||||
|
||||
}
|
||||
|
||||
|
||||
public static function count($filter) {
|
||||
$db = FronkDB::singleton(ADDRESSDB_DBHOST, ADDRESSDB_DBUSER, ADDRESSDB_DBPASS, ADDRESSDB_DBNAME);
|
||||
|
||||
$where = self::getSqlFilter($filter);
|
||||
$sql = "SELECT COUNT(*) as cnt FROM Hausnummer
|
||||
WHERE $where
|
||||
";
|
||||
|
||||
$res = $db->query($sql);
|
||||
if($db->num_rows($res)) {
|
||||
$data = $db->fetch_object($res);
|
||||
return $data->cnt;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
public static function search($filter, $limit = false) {
|
||||
$items = [];
|
||||
$db = FronkDB::singleton(ADDRESSDB_DBHOST, ADDRESSDB_DBUSER, ADDRESSDB_DBPASS, ADDRESSDB_DBNAME);
|
||||
|
||||
$where = self::getSqlFilter($filter);
|
||||
$sql = "SELECT Hausnummer.* FROM Hausnummer
|
||||
WHERE $where
|
||||
ORDER BY strasse_id,hausnummer";
|
||||
|
||||
//mfLoghandler::singleton()->debug($sql);
|
||||
if(is_array($limit) && count($limit)) {
|
||||
if(is_numeric($limit['start']) && is_numeric($limit['count'])) {
|
||||
$sql .= " LIMIT ".$limit['start'].", ".$limit['count'];
|
||||
} elseif(is_numeric($limit['count'])) {
|
||||
$sql .= " LIMIT ".$limit['count'];
|
||||
}
|
||||
}
|
||||
|
||||
$res = $db->query($sql);
|
||||
if($db->num_rows($res)) {
|
||||
while($data = $db->fetch_object($res)) {
|
||||
$items[] = new ADBHausnummer($data);
|
||||
}
|
||||
}
|
||||
return $items;
|
||||
}
|
||||
|
||||
private static function getSqlFilter($filter) {
|
||||
$where = "1=1 ";
|
||||
|
||||
|
||||
if(array_key_exists("strasse_id", $filter)) {
|
||||
$strasse_id = $filter['strasse_id'];
|
||||
if(is_numeric($strasse_id)) {
|
||||
$where .= " AND Hausnummer.strasse_id=$strasse_id";
|
||||
} elseif(is_array($strasse_id) && count($strasse_id)) {
|
||||
$where .= " AND Hausnummer.strasse_id IN (". implode(",", $strasse_id).")";
|
||||
}
|
||||
}
|
||||
|
||||
if(array_key_exists("hausnummer", $filter)) {
|
||||
$hausnummer = FronkDB::singleton()->escape($filter['hausnummer']);
|
||||
if($hausnummer) {
|
||||
$where .= " AND Hausnummer.`hausnummer` = '$hausnummer'";
|
||||
}
|
||||
}
|
||||
|
||||
if(array_key_exists("hausnummer%", $filter)) {
|
||||
$hausnummer = FronkDB::singleton()->escape($filter['hausnummer']);
|
||||
if($hausnummer) {
|
||||
$where .= " AND Hausnummer.`hausnummer` like '%$hausnummer%'";
|
||||
}
|
||||
}
|
||||
|
||||
//var_dump($filter, $where);exit;
|
||||
return $where;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -4,6 +4,7 @@ class ADBOrtschaft extends mfBaseModel {
|
||||
|
||||
protected function init() {
|
||||
$this->db = FronkDB::singleton(ADDRESSDB_DBHOST, ADDRESSDB_DBUSER, ADDRESSDB_DBPASS, ADDRESSDB_DBNAME);
|
||||
$this->table = "Ortschaft";
|
||||
}
|
||||
|
||||
public function find($search) {
|
||||
|
||||
157
application/ADBOrtschaft/ADBOrtschaftModel.php
Normal file
157
application/ADBOrtschaft/ADBOrtschaftModel.php
Normal file
@@ -0,0 +1,157 @@
|
||||
<?php
|
||||
|
||||
class ADBOrtschaftModel {
|
||||
public $gemeinde_id;
|
||||
public $kennziffer;
|
||||
public $name;
|
||||
public $plz;
|
||||
|
||||
public $create_by = null;
|
||||
public $edit_by = null;
|
||||
public $create = null;
|
||||
public $edit = null;
|
||||
|
||||
public static function create(Array $data) {
|
||||
$model = new ADBOrtschaft();
|
||||
|
||||
foreach($data as $field => $value) {
|
||||
if(property_exists(get_called_class(), $field)) {
|
||||
$model ->$field = $value;
|
||||
}
|
||||
}
|
||||
|
||||
$me = mfValuecache::singleton()->get("me");
|
||||
if(!$me) {
|
||||
$me = new User();
|
||||
$me->loadMe();
|
||||
mfValuecache::singleton()->set("me", $me);
|
||||
}
|
||||
/*
|
||||
if($model->create_by === null) {
|
||||
$model->create_by = $me->id;
|
||||
}
|
||||
if($model->edit_by === null) {
|
||||
$model->edit_by = $me->id;
|
||||
}*/
|
||||
|
||||
return $model;
|
||||
}
|
||||
|
||||
public static function getFirst($filter) {
|
||||
$db = FronkDB::singleton(ADDRESSDB_DBHOST, ADDRESSDB_DBUSER, ADDRESSDB_DBPASS, ADDRESSDB_DBNAME);
|
||||
|
||||
$where = self::getSqlFilter($filter);
|
||||
$res = $db->select("Ortschaft", "*", "$where ORDER BY name,kennziffer LIMIT 1");
|
||||
if($db->num_rows($res)) {
|
||||
$data = $db->fetch_object($res);
|
||||
$item = new ADBOrtschaft($data);
|
||||
if($item->id) {
|
||||
return $item;
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public static function getAll() {
|
||||
$items = [];
|
||||
|
||||
$db = FronkDB::singleton(ADDRESSDB_DBHOST, ADDRESSDB_DBUSER, ADDRESSDB_DBPASS, ADDRESSDB_DBNAME);
|
||||
|
||||
$res = $db->select("Ortschaft", "*", "1=1 ORDER BY name,kennziffer");
|
||||
if($db->num_rows($res)) {
|
||||
while($data = $db->fetch_object($res)) {
|
||||
$items[] = new ADBOrtschaft($data);
|
||||
}
|
||||
}
|
||||
return $items;
|
||||
|
||||
}
|
||||
|
||||
|
||||
public static function count($filter) {
|
||||
$db = FronkDB::singleton(ADDRESSDB_DBHOST, ADDRESSDB_DBUSER, ADDRESSDB_DBPASS, ADDRESSDB_DBNAME);
|
||||
|
||||
$where = self::getSqlFilter($filter);
|
||||
$sql = "SELECT COUNT(*) as cnt FROM Ortschaft
|
||||
WHERE $where
|
||||
";
|
||||
|
||||
$res = $db->query($sql);
|
||||
if($db->num_rows($res)) {
|
||||
$data = $db->fetch_object($res);
|
||||
return $data->cnt;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
public static function search($filter, $limit = false) {
|
||||
$items = [];
|
||||
$db = FronkDB::singleton(ADDRESSDB_DBHOST, ADDRESSDB_DBUSER, ADDRESSDB_DBPASS, ADDRESSDB_DBNAME);
|
||||
|
||||
$where = self::getSqlFilter($filter);
|
||||
$sql = "SELECT Ortschaft.* FROM Ortschaft
|
||||
WHERE $where
|
||||
ORDER BY name,kennziffer";
|
||||
|
||||
//mfLoghandler::singleton()->debug($sql);
|
||||
if(is_array($limit) && count($limit)) {
|
||||
if(is_numeric($limit['start']) && is_numeric($limit['count'])) {
|
||||
$sql .= " LIMIT ".$limit['start'].", ".$limit['count'];
|
||||
} elseif(is_numeric($limit['count'])) {
|
||||
$sql .= " LIMIT ".$limit['count'];
|
||||
}
|
||||
}
|
||||
|
||||
$res = $db->query($sql);
|
||||
if($db->num_rows($res)) {
|
||||
while($data = $db->fetch_object($res)) {
|
||||
$items[] = new ADBOrtschaft($data);
|
||||
}
|
||||
}
|
||||
return $items;
|
||||
}
|
||||
|
||||
private static function getSqlFilter($filter) {
|
||||
$where = "1=1 ";
|
||||
|
||||
|
||||
|
||||
if(array_key_exists("gemeinde_id", $filter)) {
|
||||
$gemeinde_id = $filter['gemeinde_id'];
|
||||
if(is_numeric($gemeinde_id)) {
|
||||
$where .= " AND Ortschaft.gemeinde_id=$gemeinde_id";
|
||||
} elseif(is_array($gemeinde_id) && count($gemeinde_id)) {
|
||||
$where .= " AND Ortschaft.gemeinde_id IN (". implode(",", $gemeinde_id).")";
|
||||
}
|
||||
}
|
||||
|
||||
if(array_key_exists("kennziffer", $filter)) {
|
||||
$kennziffer = $filter['kennziffer'];
|
||||
if(is_numeric($kennziffer)) {
|
||||
$where .= " AND Ortschaft.kennziffer=$kennziffer";
|
||||
} elseif(is_array($kennziffer) && count($kennziffer)) {
|
||||
$where .= " AND Ortschaft.kennziffer IN (". implode(",", $kennziffer).")";
|
||||
}
|
||||
}
|
||||
|
||||
if(array_key_exists("name", $filter)) {
|
||||
$name = FronkDB::singleton()->escape($filter['name']);
|
||||
if($name) {
|
||||
$where .= " AND Ortschaft.`name` = '$name'";
|
||||
}
|
||||
}
|
||||
|
||||
if(array_key_exists("name%", $filter)) {
|
||||
$name = FronkDB::singleton()->escape($filter['name%']);
|
||||
if($name) {
|
||||
$where .= " AND Ortschaft.`name` like '%$name%'";
|
||||
}
|
||||
}
|
||||
|
||||
//var_dump($filter, $where);exit;
|
||||
return $where;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -4,6 +4,7 @@ class ADBPlz extends mfBaseModel {
|
||||
|
||||
protected function init() {
|
||||
$this->db = FronkDB::singleton(ADDRESSDB_DBHOST, ADDRESSDB_DBUSER, ADDRESSDB_DBPASS, ADDRESSDB_DBNAME);
|
||||
$this->table = "Plz";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
156
application/ADBPlz/ADBPlzModel.php
Normal file
156
application/ADBPlz/ADBPlzModel.php
Normal file
@@ -0,0 +1,156 @@
|
||||
<?php
|
||||
|
||||
class ADBPlzModel {
|
||||
public $gemeinde_id;
|
||||
public $plz;
|
||||
public $plzstring;
|
||||
|
||||
public $create_by = null;
|
||||
public $edit_by = null;
|
||||
public $create = null;
|
||||
public $edit = null;
|
||||
|
||||
public static function create(Array $data) {
|
||||
$model = new ADBPlz();
|
||||
|
||||
foreach($data as $field => $value) {
|
||||
if(property_exists(get_called_class(), $field)) {
|
||||
$model ->$field = $value;
|
||||
}
|
||||
}
|
||||
|
||||
$me = mfValuecache::singleton()->get("me");
|
||||
if(!$me) {
|
||||
$me = new User();
|
||||
$me->loadMe();
|
||||
mfValuecache::singleton()->set("me", $me);
|
||||
}
|
||||
/*
|
||||
if($model->create_by === null) {
|
||||
$model->create_by = $me->id;
|
||||
}
|
||||
if($model->edit_by === null) {
|
||||
$model->edit_by = $me->id;
|
||||
}*/
|
||||
|
||||
return $model;
|
||||
}
|
||||
|
||||
public static function getFirst($filter) {
|
||||
$db = FronkDB::singleton(ADDRESSDB_DBHOST, ADDRESSDB_DBUSER, ADDRESSDB_DBPASS, ADDRESSDB_DBNAME);
|
||||
|
||||
$where = self::getSqlFilter($filter);
|
||||
$res = $db->select("Plz", "*", "$where ORDER BY gemeinde_id,plz LIMIT 1");
|
||||
if($db->num_rows($res)) {
|
||||
$data = $db->fetch_object($res);
|
||||
$item = new ADBPlz($data);
|
||||
if($item->id) {
|
||||
return $item;
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public static function getAll() {
|
||||
$items = [];
|
||||
|
||||
$db = FronkDB::singleton(ADDRESSDB_DBHOST, ADDRESSDB_DBUSER, ADDRESSDB_DBPASS, ADDRESSDB_DBNAME);
|
||||
|
||||
$res = $db->select("Plz", "*", "1=1 ORDER BY gemeinde_id,plz");
|
||||
if($db->num_rows($res)) {
|
||||
while($data = $db->fetch_object($res)) {
|
||||
$items[] = new ADBPlz($data);
|
||||
}
|
||||
}
|
||||
return $items;
|
||||
|
||||
}
|
||||
|
||||
|
||||
public static function count($filter) {
|
||||
$db = FronkDB::singleton(ADDRESSDB_DBHOST, ADDRESSDB_DBUSER, ADDRESSDB_DBPASS, ADDRESSDB_DBNAME);
|
||||
|
||||
$where = self::getSqlFilter($filter);
|
||||
$sql = "SELECT COUNT(*) as cnt FROM Plz
|
||||
WHERE $where
|
||||
";
|
||||
|
||||
$res = $db->query($sql);
|
||||
if($db->num_rows($res)) {
|
||||
$data = $db->fetch_object($res);
|
||||
return $data->cnt;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
public static function search($filter, $limit = false) {
|
||||
$items = [];
|
||||
$db = FronkDB::singleton(ADDRESSDB_DBHOST, ADDRESSDB_DBUSER, ADDRESSDB_DBPASS, ADDRESSDB_DBNAME);
|
||||
|
||||
$where = self::getSqlFilter($filter);
|
||||
$sql = "SELECT Plz.* FROM Plz
|
||||
WHERE $where
|
||||
ORDER BY gemeinde_id,plz";
|
||||
|
||||
//mfLoghandler::singleton()->debug($sql);
|
||||
if(is_array($limit) && count($limit)) {
|
||||
if(is_numeric($limit['start']) && is_numeric($limit['count'])) {
|
||||
$sql .= " LIMIT ".$limit['start'].", ".$limit['count'];
|
||||
} elseif(is_numeric($limit['count'])) {
|
||||
$sql .= " LIMIT ".$limit['count'];
|
||||
}
|
||||
}
|
||||
|
||||
$res = $db->query($sql);
|
||||
if($db->num_rows($res)) {
|
||||
while($data = $db->fetch_object($res)) {
|
||||
$items[] = new ADBPlz($data);
|
||||
}
|
||||
}
|
||||
return $items;
|
||||
}
|
||||
|
||||
private static function getSqlFilter($filter) {
|
||||
$where = "1=1 ";
|
||||
|
||||
|
||||
|
||||
if(array_key_exists("gemeinde_id", $filter)) {
|
||||
$gemeinde_id = $filter['gemeinde_id'];
|
||||
if(is_numeric($gemeinde_id)) {
|
||||
$where .= " AND Plz.gemeinde_id=$gemeinde_id";
|
||||
} elseif(is_array($gemeinde_id) && count($gemeinde_id)) {
|
||||
$where .= " AND Plz.gemeinde_id IN (". implode(",", $gemeinde_id).")";
|
||||
}
|
||||
}
|
||||
|
||||
if(array_key_exists("plz", $filter)) {
|
||||
$plz = $filter['plz'];
|
||||
if(is_numeric($plz)) {
|
||||
$where .= " AND Plz.plz=$plz";
|
||||
} elseif(is_array($plz) && count($plz)) {
|
||||
$where .= " AND Plz.plz IN (". implode(",", $plz).")";
|
||||
}
|
||||
}
|
||||
|
||||
if(array_key_exists("plzstring", $filter)) {
|
||||
$plzstring = FronkDB::singleton()->escape($filter['plzstring']);
|
||||
if($plzstring) {
|
||||
$where .= " AND Plz.`plzstring` = '$plzstring'";
|
||||
}
|
||||
}
|
||||
|
||||
if(array_key_exists("plzstring%", $filter)) {
|
||||
$plzstring = FronkDB::singleton()->escape($filter['plzstring%']);
|
||||
if($plzstring) {
|
||||
$where .= " AND Plz.`plzstring` like '%$plzstring%'";
|
||||
}
|
||||
}
|
||||
|
||||
//var_dump($filter, $where);exit;
|
||||
return $where;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,10 +1,11 @@
|
||||
<?php
|
||||
|
||||
class Strasse extends mfBaseModel {
|
||||
class ADBStrasse extends mfBaseModel {
|
||||
public $gemeinde = [];
|
||||
|
||||
protected function init() {
|
||||
$this->db = FronkDB::singleton(ADDRESSDB_DBHOST, ADDRESSDB_DBUSER, ADDRESSDB_DBPASS, ADDRESSDB_DBNAME);
|
||||
$this->table = "Strasse";
|
||||
}
|
||||
|
||||
public function afterLoad() {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
|
||||
class StrasseController extends mfBaseController {
|
||||
class ADBStrasseController extends mfBaseController {
|
||||
|
||||
protected function init() {
|
||||
$db = $this->db(ADDRESSDB_DBHOST, ADDRESSDB_DBUSER, ADDRESSDB_DBPASS, ADDRESSDB_DBNAME);
|
||||
|
||||
166
application/ADBStrasse/ADBStrasseModel.php
Normal file
166
application/ADBStrasse/ADBStrasseModel.php
Normal file
@@ -0,0 +1,166 @@
|
||||
<?php
|
||||
|
||||
class ADBStrasseModel {
|
||||
public $ortschaft_id;
|
||||
public $gemeinde_id;
|
||||
public $kennziffer;
|
||||
public $name;
|
||||
|
||||
public $create_by = null;
|
||||
public $edit_by = null;
|
||||
public $create = null;
|
||||
public $edit = null;
|
||||
|
||||
public static function create(Array $data) {
|
||||
$model = new ADBStrasse();
|
||||
|
||||
foreach($data as $field => $value) {
|
||||
if(property_exists(get_called_class(), $field)) {
|
||||
$model ->$field = $value;
|
||||
}
|
||||
}
|
||||
|
||||
$me = mfValuecache::singleton()->get("me");
|
||||
if(!$me) {
|
||||
$me = new User();
|
||||
$me->loadMe();
|
||||
mfValuecache::singleton()->set("me", $me);
|
||||
}
|
||||
/*
|
||||
if($model->create_by === null) {
|
||||
$model->create_by = $me->id;
|
||||
}
|
||||
if($model->edit_by === null) {
|
||||
$model->edit_by = $me->id;
|
||||
}*/
|
||||
|
||||
return $model;
|
||||
}
|
||||
|
||||
public static function getFirst($filter = false) {
|
||||
$db = FronkDB::singleton(ADDRESSDB_DBHOST, ADDRESSDB_DBUSER, ADDRESSDB_DBPASS, ADDRESSDB_DBNAME);
|
||||
|
||||
$where = self::getSqlFilter($filter);
|
||||
$res = $db->select("Strasse", "*", "$where ORDER BY gemeinde_id,kennziffer,name LIMIT 1");
|
||||
if($db->num_rows($res)) {
|
||||
$data = $db->fetch_object($res);
|
||||
$item = new ADBStrasse($data);
|
||||
if($item->id) {
|
||||
return $item;
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public static function getAll() {
|
||||
$items = [];
|
||||
|
||||
$db = FronkDB::singleton(ADDRESSDB_DBHOST, ADDRESSDB_DBUSER, ADDRESSDB_DBPASS, ADDRESSDB_DBNAME);
|
||||
|
||||
$res = $db->select("Strasse", "*", "1=1 ORDER BY gemeinde_id,name,kennziffer");
|
||||
if($db->num_rows($res)) {
|
||||
while($data = $db->fetch_object($res)) {
|
||||
$items[] = new ADBStrasse($data);
|
||||
}
|
||||
}
|
||||
return $items;
|
||||
|
||||
}
|
||||
|
||||
|
||||
public static function count($filter) {
|
||||
$db = FronkDB::singleton(ADDRESSDB_DBHOST, ADDRESSDB_DBUSER, ADDRESSDB_DBPASS, ADDRESSDB_DBNAME);
|
||||
|
||||
$where = self::getSqlFilter($filter);
|
||||
$sql = "SELECT COUNT(*) as cnt FROM Strasse
|
||||
WHERE $where
|
||||
";
|
||||
|
||||
$res = $db->query($sql);
|
||||
if($db->num_rows($res)) {
|
||||
$data = $db->fetch_object($res);
|
||||
return $data->cnt;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
public static function search($filter, $limit = false) {
|
||||
$items = [];
|
||||
$db = FronkDB::singleton(ADDRESSDB_DBHOST, ADDRESSDB_DBUSER, ADDRESSDB_DBPASS, ADDRESSDB_DBNAME);
|
||||
|
||||
$where = self::getSqlFilter($filter);
|
||||
//$sql = "SELECT MIN(id) as id, MIN(ortschaft_id) as ortschaft_id, gemeinde_id, MIN(kennziffer) as kennziffer, MIN(name) as name, MIN(`create`) as `create`, MIN(`edit`) as `edit` FROM Strasse
|
||||
$sql = "SELECT Strasse.* FROM Strasse
|
||||
WHERE $where
|
||||
ORDER BY gemeinde_id,name,kennziffer";
|
||||
|
||||
//mfLoghandler::singleton()->debug($sql);
|
||||
if(is_array($limit) && count($limit)) {
|
||||
if(is_numeric($limit['start']) && is_numeric($limit['count'])) {
|
||||
$sql .= " LIMIT ".$limit['start'].", ".$limit['count'];
|
||||
} elseif(is_numeric($count)) {
|
||||
$sql .= " LIMIT ".$limit['count'];
|
||||
}
|
||||
}
|
||||
|
||||
$res = $db->query($sql);
|
||||
if($db->num_rows($res)) {
|
||||
while($data = $db->fetch_object($res)) {
|
||||
$items[] = new ADBStrasse($data);
|
||||
}
|
||||
}
|
||||
return $items;
|
||||
}
|
||||
|
||||
private static function getSqlFilter($filter) {
|
||||
$where = "1=1 ";
|
||||
|
||||
|
||||
if(array_key_exists("gemeinde_id", $filter)) {
|
||||
$gemeinde_id = $filter['gemeinde_id'];
|
||||
if(is_numeric($gemeinde_id)) {
|
||||
$where .= " AND Strasse.gemeinde_id=$gemeinde_id";
|
||||
} elseif(is_array($gemeinde_id) && count($gemeinde_id)) {
|
||||
$where .= " AND Strasse.gemeinde_id IN (". implode(",", $gemeinde_id).")";
|
||||
}
|
||||
}
|
||||
|
||||
if(array_key_exists("ortschaft_id", $filter)) {
|
||||
$ortschaft_id = $filter['ortschaft_id'];
|
||||
if(is_numeric($ortschaft_id)) {
|
||||
$where .= " AND Strasse.ortschaft_id=$ortschaft_id";
|
||||
} elseif(is_array($ortschaft_id) && count($ortschaft_id)) {
|
||||
$where .= " AND Strasse.ortschaft_id IN (". implode(",", $ortschaft_id).")";
|
||||
}
|
||||
}
|
||||
|
||||
if(array_key_exists("kennziffer", $filter)) {
|
||||
$kennziffer = $filter['kennziffer'];
|
||||
if(is_numeric($kennziffer)) {
|
||||
$where .= " AND Strasse.kennziffer=$kennziffer";
|
||||
} elseif(is_array($kennziffer) && count($kennziffer)) {
|
||||
$where .= " AND Strasse.kennziffer IN (". implode(",", $kennziffer).")";
|
||||
}
|
||||
}
|
||||
|
||||
if(array_key_exists("name", $filter)) {
|
||||
$name = FronkDB::singleton()->escape($filter['name']);
|
||||
if($name) {
|
||||
$where .= " AND Strasse.`name` = '$name'";
|
||||
}
|
||||
}
|
||||
|
||||
if(array_key_exists("name%", $filter)) {
|
||||
$name = FronkDB::singleton()->escape($filter['name%']);
|
||||
if($name) {
|
||||
$where .= " AND Strasse.`name` like '%$name%'";
|
||||
}
|
||||
}
|
||||
|
||||
//var_dump($filter, $where);exit;
|
||||
return $where;
|
||||
}
|
||||
|
||||
}
|
||||
87
application/ADBWohneinheit/ADBWohneinheit.php
Normal file
87
application/ADBWohneinheit/ADBWohneinheit.php
Normal file
@@ -0,0 +1,87 @@
|
||||
<?php
|
||||
|
||||
class ADBWohneinheit extends mfBaseModel {
|
||||
public $hausnummer;
|
||||
|
||||
protected function init() {
|
||||
$this->db = FronkDB::singleton(ADDRESSDB_DBHOST, ADDRESSDB_DBUSER, ADDRESSDB_DBPASS, ADDRESSDB_DBNAME);
|
||||
$this->table = "Wohneinheit";
|
||||
}
|
||||
|
||||
public static function parseHausnummerZusatz($text) {
|
||||
|
||||
$data = [];
|
||||
$data['block'] = "";
|
||||
$data['stock'] = "";
|
||||
$data['stiege'] = "";
|
||||
$data['tuer'] = "";
|
||||
$data['zusatz'] = "";
|
||||
|
||||
$text = trim($text);
|
||||
if(!$text) return $data;
|
||||
$text = " ".$text;
|
||||
|
||||
$m = [];
|
||||
if(preg_match('/(?:t(?:ü|ue)r|topp|door?)\s+(\d\d?|\w\w?)/i', $text, $m)) {
|
||||
$data['tuer'] = $m[1];
|
||||
$text = str_replace($m[0], "", $text);
|
||||
}
|
||||
|
||||
if(preg_match('/(\d+)\.\s+(?:stock|geschoss|etage|level|floor)/i', $text, $m)) {
|
||||
$data['stock'] = $m[1];
|
||||
$text = str_replace($m[0], "", $text);
|
||||
}
|
||||
|
||||
if(preg_match('/(?: stock(?:werk)?| geschoss| etage| level | floor)\s+(\d\d?|parterre|erdgescho(?:ss|ß))\.?/i', $text, $m)) {
|
||||
$data['stock'] = $m[1];
|
||||
$text = str_replace($m[0], "", $text);
|
||||
}
|
||||
|
||||
if(preg_match('/(parterre|erdgescho(?:ss|ß))/i', $text, $m)) {
|
||||
$data['stock'] = $m[1];
|
||||
$text = str_replace($m[0], "", $text);
|
||||
}
|
||||
|
||||
|
||||
$text = trim(preg_replace('/\s{2,}/', "", $text));
|
||||
|
||||
if($text) {
|
||||
$data['zusatz'] = $text;
|
||||
}
|
||||
|
||||
|
||||
return $data;
|
||||
}
|
||||
|
||||
public function afterLoad() {
|
||||
$this->hausnummer = new ADBHausnummer($this->hausnummer_id);
|
||||
//$this->loadStatus();
|
||||
//$this->loadProvider();
|
||||
}
|
||||
/*
|
||||
public function loadStatus() {
|
||||
if(!$this->id) {
|
||||
return false;
|
||||
}
|
||||
$status = HausnummerStatus::singleton();
|
||||
$this->status = $status->getObject($this->status_id);
|
||||
}
|
||||
|
||||
public function loadProvider() {
|
||||
if(!$this->id) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$res = $this->db->select("HausnummerProvider", "*", "hausnummer_id=".$this->id);
|
||||
if($this->db->num_rows($res)) {
|
||||
while($data = $this->db->fetch_object($res)) {
|
||||
$provider = new Provider($data->provider_id);
|
||||
$this->providerlist[$provider->id] = $provider->name;
|
||||
$this->providers[] = $provider;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}*/
|
||||
|
||||
}
|
||||
225
application/ADBWohneinheit/ADBWohneinheitModel.php
Normal file
225
application/ADBWohneinheit/ADBWohneinheitModel.php
Normal file
@@ -0,0 +1,225 @@
|
||||
<?php
|
||||
|
||||
class ADBWohneinheitModel {
|
||||
public $hausnummer_id;
|
||||
public $block;
|
||||
public $stiege;
|
||||
public $stock;
|
||||
public $tuer;
|
||||
public $nutzung;
|
||||
|
||||
public $create_by = null;
|
||||
public $edit_by = null;
|
||||
public $create = null;
|
||||
public $edit = null;
|
||||
|
||||
public static function create(Array $data) {
|
||||
$model = new ADBWohneinheit();
|
||||
|
||||
foreach($data as $field => $value) {
|
||||
if(property_exists(get_called_class(), $field)) {
|
||||
$model ->$field = $value;
|
||||
}
|
||||
}
|
||||
|
||||
$me = mfValuecache::singleton()->get("me");
|
||||
if(!$me) {
|
||||
$me = new User();
|
||||
$me->loadMe();
|
||||
mfValuecache::singleton()->set("me", $me);
|
||||
}
|
||||
/*
|
||||
if($model->create_by === null) {
|
||||
$model->create_by = $me->id;
|
||||
}
|
||||
if($model->edit_by === null) {
|
||||
$model->edit_by = $me->id;
|
||||
}*/
|
||||
|
||||
return $model;
|
||||
}
|
||||
|
||||
public static function getFirst($filter) {
|
||||
$db = FronkDB::singleton(ADDRESSDB_DBHOST, ADDRESSDB_DBUSER, ADDRESSDB_DBPASS, ADDRESSDB_DBNAME);
|
||||
|
||||
$where = self::getSqlFilter($filter);
|
||||
$res = $db->select("Wohneinheit", "*", "$where ORDER BY hausnummer_id,block,stiege,stock,tuer LIMIT 1");
|
||||
if($db->num_rows($res)) {
|
||||
$data = $db->fetch_object($res);
|
||||
$item = new ADBWohneinheit($data);
|
||||
if($item->id) {
|
||||
return $item;
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public static function getAll() {
|
||||
$items = [];
|
||||
|
||||
$db = FronkDB::singleton(ADDRESSDB_DBHOST, ADDRESSDB_DBUSER, ADDRESSDB_DBPASS, ADDRESSDB_DBNAME);
|
||||
|
||||
$res = $db->select("Wohneinheit", "*", "1=1 ORDER BY hausnummer_id,block,stiege,stock,tuer");
|
||||
if($db->num_rows($res)) {
|
||||
while($data = $db->fetch_object($res)) {
|
||||
$items[] = new ADBWohneinheit($data);
|
||||
}
|
||||
}
|
||||
return $items;
|
||||
|
||||
}
|
||||
|
||||
|
||||
public static function count($filter) {
|
||||
$db = FronkDB::singleton(ADDRESSDB_DBHOST, ADDRESSDB_DBUSER, ADDRESSDB_DBPASS, ADDRESSDB_DBNAME);
|
||||
|
||||
$where = self::getSqlFilter($filter);
|
||||
$sql = "SELECT COUNT(*) as cnt FROM Wohneinheit
|
||||
WHERE $where
|
||||
";
|
||||
|
||||
$res = $db->query($sql);
|
||||
if($db->num_rows($res)) {
|
||||
$data = $db->fetch_object($res);
|
||||
return $data->cnt;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
public static function search($filter, $limit = false) {
|
||||
$items = [];
|
||||
$db = FronkDB::singleton(ADDRESSDB_DBHOST, ADDRESSDB_DBUSER, ADDRESSDB_DBPASS, ADDRESSDB_DBNAME);
|
||||
|
||||
$where = self::getSqlFilter($filter);
|
||||
$sql = "SELECT Wohneinheit.* FROM Wohneinheit
|
||||
WHERE $where
|
||||
ORDER BY hausnummer_id,block,stiege,stock,tuer";
|
||||
|
||||
//mfLoghandler::singleton()->debug($sql);
|
||||
if(is_array($limit) && count($limit)) {
|
||||
if(is_numeric($limit['start']) && is_numeric($limit['count'])) {
|
||||
$sql .= " LIMIT ".$limit['start'].", ".$limit['count'];
|
||||
} elseif(is_numeric($limit['count'])) {
|
||||
$sql .= " LIMIT ".$limit['count'];
|
||||
}
|
||||
}
|
||||
|
||||
$res = $db->query($sql);
|
||||
if($db->num_rows($res)) {
|
||||
while($data = $db->fetch_object($res)) {
|
||||
$items[] = new ADBWohneinheit($data);
|
||||
}
|
||||
}
|
||||
return $items;
|
||||
}
|
||||
|
||||
private static function getSqlFilter($filter) {
|
||||
$where = "1=1 ";
|
||||
|
||||
|
||||
if(array_key_exists("hausnummer_id", $filter)) {
|
||||
$hausnummer_id = $filter['hausnummer_id'];
|
||||
if(is_numeric($hausnummer_id)) {
|
||||
$where .= " AND Wohneinheit.hausnummer_id=$hausnummer_id";
|
||||
} elseif(is_array($hausnummer_id) && count($hausnummer_id)) {
|
||||
$where .= " AND Wohneinheit.hausnummer_id IN (". implode(",", $hausnummer_id).")";
|
||||
}
|
||||
}
|
||||
|
||||
if(array_key_exists("num", $filter)) {
|
||||
$num = $filter['num'];
|
||||
if(is_numeric($num)) {
|
||||
$where .= " AND Wohneinheit.num=$num";
|
||||
} elseif(is_array($num) && count($num)) {
|
||||
$where .= " AND Wohneinheit.num IN (". implode(",", $num).")";
|
||||
}
|
||||
}
|
||||
|
||||
if(array_key_exists("block", $filter)) {
|
||||
$block = FronkDB::singleton()->escape($filter['block']);
|
||||
if(strlen($block)) {
|
||||
$where .= " AND Wohneinheit.`block` = '$block'";
|
||||
} else {
|
||||
$where .= " AND (Wohneinheit.`block` IS NULL OR Wohneinheit.`block` = '')";
|
||||
}
|
||||
}
|
||||
if(array_key_exists("stock", $filter)) {
|
||||
$stock = FronkDB::singleton()->escape($filter['stock']);
|
||||
if(strlen($stock)) {
|
||||
$where .= " AND Wohneinheit.`stock` = '$stock'";
|
||||
} else {
|
||||
$where .= " AND (Wohneinheit.`stock` IS NULL OR Wohneinheit.`stock` = '')";
|
||||
}
|
||||
}
|
||||
if(array_key_exists("stiege", $filter)) {
|
||||
$stiege = FronkDB::singleton()->escape($filter['stiege']);
|
||||
if(strlen($stiege)) {
|
||||
$where .= " AND Wohneinheit.`stiege` = '$stiege'";
|
||||
} else {
|
||||
$where .= " AND (Wohneinheit.`stiege` IS NULL OR Wohneinheit.`stiege` = '')";
|
||||
}
|
||||
}
|
||||
if(array_key_exists("tuer", $filter)) {
|
||||
$tuer = FronkDB::singleton()->escape($filter['tuer']);
|
||||
if(strlen($tuer)) {
|
||||
$where .= " AND Wohneinheit.`tuer` = '$tuer'";
|
||||
} else {
|
||||
$where .= " AND (Wohneinheit.`tuer` IS NULL OR Wohneinheit.`tuer` = '')";
|
||||
}
|
||||
}
|
||||
if(array_key_exists("zusatz", $filter)) {
|
||||
$zusatz = FronkDB::singleton()->escape($filter['zusatz']);
|
||||
if(strlen($zusatz)) {
|
||||
$where .= " AND Wohneinheit.`zusatz` = '$zusatz'";
|
||||
} else {
|
||||
$where .= " AND (Wohneinheit.`zusatz` IS NULL OR Wohneinheit.`zusatz` = '')";
|
||||
}
|
||||
}
|
||||
|
||||
if(array_key_exists("nutzung", $filter)) {
|
||||
$nutzung = FronkDB::singleton()->escape($filter['nutzung']);
|
||||
if(strlen($nutzung)) {
|
||||
$where .= " AND Wohneinheit.`nutzung` = '$nutzung'";
|
||||
} else {
|
||||
$where .= " AND (Wohneinheit.`nutzung` IS NULL OR Wohneinheit.`nutzung` = '')";
|
||||
}
|
||||
}
|
||||
|
||||
if(array_key_exists("block%", $filter)) {
|
||||
$block = FronkDB::singleton()->escape($filter['block']);
|
||||
if($block) {
|
||||
$where .= " AND Wohneinheit.`block` like '%$block%'";
|
||||
}
|
||||
}
|
||||
if(array_key_exists("stock%", $filter)) {
|
||||
$stock = FronkDB::singleton()->escape($filter['stock']);
|
||||
if($stock) {
|
||||
$where .= " AND Wohneinheit.`stock` like '%$stock%'";
|
||||
}
|
||||
}
|
||||
if(array_key_exists("stiege%", $filter)) {
|
||||
$stiege = FronkDB::singleton()->escape($filter['stiege']);
|
||||
if($stiege) {
|
||||
$where .= " AND Wohneinheit.`stiege` like '%$stiege%'";
|
||||
}
|
||||
}
|
||||
if(array_key_exists("tuer%", $filter)) {
|
||||
$tuer = FronkDB::singleton()->escape($filter['tuer']);
|
||||
if($tuer) {
|
||||
$where .= " AND Wohneinheit.`tuer` like '%$tuer%'";
|
||||
}
|
||||
}
|
||||
if(array_key_exists("zusatz%", $filter)) {
|
||||
$zusatz = FronkDB::singleton()->escape($filter['zusatz']);
|
||||
if($zusatz) {
|
||||
$where .= " AND Wohneinheit.`zusatz` like '%$zusatz%'";
|
||||
}
|
||||
}
|
||||
|
||||
//var_dump($filter, $where);exit;
|
||||
return $where;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,111 +1,209 @@
|
||||
<?php
|
||||
|
||||
class AddressDB {
|
||||
private $log;
|
||||
private $db;
|
||||
private $log;
|
||||
|
||||
public $data;
|
||||
|
||||
public function __contruct() {
|
||||
|
||||
public function __construct() {
|
||||
$this->db = FronkDB::singleton(ADDRESSDB_DBHOST, ADDRESSDB_DBUSER, ADDRESSDB_DBPASS, ADDRESSDB_DBNAME);
|
||||
$this->log = mfLoghandler::singleton();
|
||||
}
|
||||
|
||||
public function findAddress($search) {
|
||||
if(!is_array($search)) {
|
||||
public function import($input) {
|
||||
if(!$input) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$gemeinde_name = $search['gemeinde_name'];
|
||||
$ort_name = $search['ort_name'];
|
||||
$plz = $search['plz'];
|
||||
$strasse_name = $search['strasse_name'];
|
||||
$hausnummer = $search['hausnummer'];
|
||||
$block = $search['block'];
|
||||
$stiege = $search['stiege'];
|
||||
$stock = $search['stock'];
|
||||
$tuer = $search['tuee'];
|
||||
|
||||
/*
|
||||
if($gemeinde_id < 1 || $strasse_id < 1 || !$hausnummer
|
||||
|| $gemeinde_id > pow(2, 30) || $strasse_id > pow(2, 30) || strlen($hausnummer) > 32) {
|
||||
$this->redirect('Check','',['status' => 'error']);
|
||||
}*/
|
||||
|
||||
$hausnummerMatch = true;
|
||||
|
||||
$gemeinde = new Gemeinde($gemeinde_id);
|
||||
$strasse = new Strasse($strasse_id);
|
||||
|
||||
// try exact hausnummer
|
||||
$res = $this->db()->select("view_adresseProvider", "*", "gemeinde = '".$gemeinde->name."' AND strasse = '".$strasse->name."' AND hausnummer = '$hausnummer'");
|
||||
if(!$this->db()->num_rows($res)) {
|
||||
$hausnummerMatch = false;
|
||||
// check for anschlüsse in the same street
|
||||
$res = $this->db()->select("view_adresseProvider", "*", "gemeinde = '".$gemeinde->name."' AND strasse = '".$strasse->name."'");
|
||||
if(!$this->db()->num_rows($res)) {
|
||||
// XXX: if breitband stmk
|
||||
$this->layout()->setTemplate("Check/Result/Fail");
|
||||
|
||||
// xdsl anzeigen
|
||||
return $this->checkVull($request);
|
||||
if(is_string($input)) {
|
||||
if(!file_exists($input)) {
|
||||
return false;
|
||||
}
|
||||
$file = fopen($input, "r");
|
||||
if(!$file) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$input = $file;
|
||||
}
|
||||
|
||||
// if multiple hausnummern, anschluss in street available, or multiple providers
|
||||
if($this->db()->num_rows($res)) {
|
||||
$addresses = [];
|
||||
$providers = [];
|
||||
$homeProvider = false;
|
||||
$multipleAddress = false;
|
||||
|
||||
while($data = $this->db()->fetch_object($res)) {
|
||||
$addresses[] = new Hausnummer($data->id);
|
||||
if($data->provider_id == HOME_PROVIDER_ID) {
|
||||
$homeProvider = true;
|
||||
}
|
||||
if(!in_array($data->provider, $providers)) {
|
||||
$providers[$data->provider_id] = $data->provider;
|
||||
}
|
||||
if($data->hausnummer != $hausnummer) {
|
||||
$multipleAddress = true;
|
||||
}
|
||||
}
|
||||
|
||||
$pc = new ProductController();
|
||||
|
||||
if($homeProvider && $multipleAddress) {
|
||||
$this->layout()->set("debug", "multi hausnummern, homeprovider");
|
||||
$this->layout()->setTemplate("Check/Result/Street");
|
||||
return true;
|
||||
}
|
||||
if($homeProvider) {
|
||||
$this->layout()->set("debug", "single hausnummer, homeprovider");
|
||||
$this->layout()->setTemplate("Check/Result/Success");
|
||||
$this->layout()->set("productsPrivate", $pc->getProducts(1, "fiber", "privat"));
|
||||
$this->layout()->set("productsBusiness", $pc->getProducts(1, "fiber", "business"));
|
||||
if($data->status == 1) {
|
||||
$this->layout()->set("debug", "single hausnummer, homeprovider, rohr am grundstück");
|
||||
$this->layout()->setTemplate("Check/Result/Street");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
if(!$homeProvider) {
|
||||
$this->layout()->set("providers", $providers);
|
||||
$this->layout()->set("debug", "single hausnummer, partner provider");
|
||||
$this->layout()->setTemplate("Check/Result/SuccessPartner");
|
||||
return true;
|
||||
}
|
||||
|
||||
return true;
|
||||
} /*elseif($this->db()->num_rows($res) == 1 && $hausnummerMatch) {
|
||||
// exactly 1 match
|
||||
$data = $this->db()->fetch_object($res);
|
||||
$address = new Hausnummer($data->id);
|
||||
$this->layout()->set("adresse", $address);
|
||||
$this->layout()->set("debug", "single address, only homeprovider");
|
||||
$this->layout()->setTemplate("Check/Result/Success");
|
||||
return true;
|
||||
}*/
|
||||
if(!is_resource($input)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
$gem_kz = "";
|
||||
$gem_name = "";
|
||||
$ort_kz = "";
|
||||
$plz_name = "";
|
||||
$ort_name = "";
|
||||
$strasse_building = "";
|
||||
$strasse = "";
|
||||
$hausnummer_name = "";
|
||||
|
||||
$i = 0;
|
||||
while($csv = fgetcsv($input, 0, ";")) {
|
||||
$i++;
|
||||
if($i == 1) continue;
|
||||
|
||||
//var_dump($csv);
|
||||
|
||||
|
||||
if(trim($csv[0])) {
|
||||
$gem_kz = trim($csv[0]);
|
||||
$gem_name = trim($csv[1]);
|
||||
$ort_kz = trim($csv[2]);
|
||||
$plz_name = trim($csv[3]);
|
||||
$ort_name = trim($csv[4]);
|
||||
$strasse_building = trim($csv[5]);
|
||||
$strasse_name = trim($csv[6]);
|
||||
|
||||
//echo "strasse: $strasse\n";
|
||||
//echo "strasse_building: $strasse_building\n";
|
||||
|
||||
$hausnummer_name = preg_replace('/^'.$strasse_name.'\s+/', "", $strasse_building);
|
||||
//echo "$strasse_name $hausnummer_name\n";
|
||||
}
|
||||
|
||||
$strasse_we = trim($csv[7]);
|
||||
$nutzung = trim($csv[8]);
|
||||
$we_num = trim($csv[11]);
|
||||
|
||||
if(!$strasse_we) {
|
||||
echo "Adresse Wohneinheit fehlt.\n";
|
||||
continue;
|
||||
}
|
||||
|
||||
//echo "strasse_we: $strasse_we\n";
|
||||
if($strasse_building == $strasse_we) {
|
||||
$addresszusatz = "";
|
||||
} else {
|
||||
$addresszusatz = preg_replace('/^'.$strasse_building.'\s+/', "", $strasse_we);
|
||||
}
|
||||
|
||||
|
||||
|
||||
$hausnummer_zusatz = ADBWohneinheit::parseHausnummerZusatz($addresszusatz);
|
||||
//var_dump($hausnummer_zusatz);
|
||||
|
||||
echo "$gem_name $plz_name $ort_name $strasse_name $hausnummer_name ";
|
||||
foreach($hausnummer_zusatz as $key => $value) {
|
||||
if($value) {
|
||||
if($key == "zusatz") {
|
||||
echo $value;
|
||||
continue;
|
||||
}
|
||||
echo ucfirst($key)." ".$value;
|
||||
}
|
||||
}
|
||||
echo " ($nutzung)\n";
|
||||
|
||||
$gemeinde = ADBGemeindeModel::getFirst(['kennziffer' => $gem_kz]);
|
||||
if(!$gemeinde) {
|
||||
$gemeinde = new ADBGemeinde();
|
||||
$gemeinde->kennziffer = $gem_kz;
|
||||
$gemeinde->code = $gem_kz;
|
||||
$gemeinde->name = $gem_name;
|
||||
$gemeinde_id = $gemeinde->save();
|
||||
if(!$gemeinde_id) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
$ort = ADBOrtschaftModel::getFirst(['kennziffer' => $ort_kz]);
|
||||
if(!$ort) {
|
||||
$ort = new ADBOrtschaft();
|
||||
$ort->gemeinde_id = $gemeinde->id;
|
||||
$ort->kennziffer = $ort_kz;
|
||||
$ort->name = $ort_name;
|
||||
$ort->plz = $plz_name;
|
||||
$ort_id = $ort->save();
|
||||
if(!$ort_id) {
|
||||
die("Error creating Ortschaft $ort_kz $ort_name!\n");
|
||||
}
|
||||
}
|
||||
|
||||
$plz = ADBPlzModel::getFirst(['gemeinde_id' => $gemeinde->id, 'plz' => $plz_name]);
|
||||
if(!$plz) {
|
||||
$plz = new ADBPlz();
|
||||
$plz->gemeinde_id = $gemeinde->id;
|
||||
$plz->plz = $plz_name;
|
||||
$plz->plzstring = $plz_name;
|
||||
$plz_id = $plz->save();
|
||||
if(!$plz) {
|
||||
die("Error creating Plz $plz_name!\n");
|
||||
}
|
||||
}
|
||||
|
||||
//var_dump($plz);exit;
|
||||
|
||||
$strasse = ADBStrasseModel::getFirst(['gemeinde_id' => $gemeinde->id, 'ortschaft_id' => $ort->id, 'name' => $strasse_name]);
|
||||
if(!$strasse) {
|
||||
$strasse = new ADBStrasse();
|
||||
$strasse->ortschaft_id = $ort->id;
|
||||
$strasse->gemeinde_id = $gemeinde->id;
|
||||
$strasse->name = $strasse_name;
|
||||
$strasse_id = $strasse->save();
|
||||
if(!$strasse_id) {
|
||||
die("error creating Strasse $strasse_name (gemeinde ".$gemeinde->id.", ort ".$ort->id.")");
|
||||
}
|
||||
}
|
||||
|
||||
//var_dump($strasse);exit;
|
||||
|
||||
$hausnummer = ADBHausnummerModel::getFirst(['strasse_id' => $strasse->id, 'hausnummer' => $hausnummer_name]);
|
||||
if(!$hausnummer) {
|
||||
$hausnummer = new ADBHausnummer();
|
||||
$hausnummer->strasse_id = $strasse->id;
|
||||
$hausnummer->hausnummer = $hausnummer_name;
|
||||
$hausnummer_id = $hausnummer->save();
|
||||
if(!$hausnummer_id) {
|
||||
die("error creating Hausnummer $strasse_name $hausnummer_name");
|
||||
}
|
||||
}
|
||||
//var_dump($hausnummer);exit;
|
||||
|
||||
$we_search = [
|
||||
'hausnummer_id' => $hausnummer->id,
|
||||
'num' => $we_num,
|
||||
'block' => $hausnummer_zusatz['block'],
|
||||
'stiege' => $hausnummer_zusatz['stiege'],
|
||||
'stock' => $hausnummer_zusatz['stock'],
|
||||
'tuer' => $hausnummer_zusatz['tuer'],
|
||||
'zusatz' => $hausnummer_zusatz['zusatz'],
|
||||
'nutzung' => $nutzung
|
||||
];
|
||||
|
||||
/*if($hausnummer_name == "12a") {
|
||||
var_dump($we_search);exit;
|
||||
}*/
|
||||
|
||||
$wohneinheit = ADBWohneinheitModel::getFirst($we_search);
|
||||
if(!$wohneinheit) {
|
||||
$wohneinheit = new ADBWohneinheit();
|
||||
$wohneinheit->hausnummer_id = $hausnummer->id;
|
||||
$wohneinheit->num = $we_num;
|
||||
$wohneinheit->block = ($hausnummer_zusatz['block']) ? $hausnummer_zusatz['block'] : null;
|
||||
$wohneinheit->stiege = ($hausnummer_zusatz['stiege']) ? $hausnummer_zusatz['stiege'] : null;
|
||||
$wohneinheit->stock = ($hausnummer_zusatz['stock']) ? $hausnummer_zusatz['stock'] : null;
|
||||
$wohneinheit->tuer = ($hausnummer_zusatz['tuer']) ? $hausnummer_zusatz['tuer'] : null;
|
||||
$wohneinheit->zusatz = ($hausnummer_zusatz['zusatz']) ? $hausnummer_zusatz['zusatz'] : null;
|
||||
$wohneinheit->nutzung = $nutzung;
|
||||
$wohneinheit_id = $wohneinheit->save();
|
||||
if(!$wohneinheit_id) {
|
||||
die("error creating Wohneinheit $strasse_name $hausnummer_name ".implode(", ", $hausnummer_zusatz));
|
||||
}
|
||||
} else {
|
||||
echo "XXXX wohneinheit gibts schon: $strasse_name $hausnummer_name ".implode(", ", $hausnummer_zusatz)."\n\n";
|
||||
}
|
||||
|
||||
|
||||
/*if($i > 10) {
|
||||
exit;
|
||||
}*/
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
120
application/Api/v1/AddressdbApicontroller.php
Normal file
120
application/Api/v1/AddressdbApicontroller.php
Normal file
@@ -0,0 +1,120 @@
|
||||
<?php
|
||||
|
||||
class AddressdbApicontroller extends mfBaseApicontroller {
|
||||
|
||||
protected function init() {
|
||||
$db = $this->db(ADDRESSDB_DBHOST, ADDRESSDB_DBUSER, ADDRESSDB_DBPASS, ADDRESSDB_DBNAME);
|
||||
|
||||
$this->addRoute("/addressdb/findAddress", "find", "POST");
|
||||
$this->addRoute("/addressdb/findStreet", "findStreet", "POST");
|
||||
$this->addRoute("/addressdb/findZip", "findZip", "POST");
|
||||
$this->addRoute("/addressdb/findCity", "findCity", "POST");
|
||||
}
|
||||
|
||||
protected function findCity() {
|
||||
$search = $this->db()->escape($this->post['search']);
|
||||
if(!$search) {
|
||||
return mfResponse::BadRequest(['message' => "Searchstring cannot be empty!"]);
|
||||
}
|
||||
|
||||
$results = ADBOrtschaftModel::search(['name%' => $search], ['count' => 20]);
|
||||
|
||||
|
||||
$cities = [];
|
||||
foreach($results as $result) {
|
||||
$cities[] = $result->name;
|
||||
}
|
||||
|
||||
$citiesv= array_unique($cities);
|
||||
return mfResponse::Ok(['cities' => $cities]);
|
||||
}
|
||||
|
||||
protected function findZip() {
|
||||
$search = $this->db()->escape($this->post['search']);
|
||||
if(!$search) {
|
||||
return mfResponse::BadRequest(['message' => "Searchstring cannot be empty!"]);
|
||||
}
|
||||
|
||||
$results = ADBPlzModel::search(['plzstring%' => $search], ['count' => 20]);
|
||||
|
||||
|
||||
$zips = [];
|
||||
foreach($results as $result) {
|
||||
$zips[] = $result->plz;
|
||||
}
|
||||
|
||||
$zips = array_unique($zips);
|
||||
return mfResponse::Ok(['zips' => $zips]);
|
||||
}
|
||||
|
||||
protected function findStreet() {
|
||||
$search = $this->db()->escape($this->post['search']);
|
||||
if(!$search) {
|
||||
return mfResponse::BadRequest(['message' => "Searchstring cannot be empty!"]);
|
||||
}
|
||||
|
||||
$results = ADBStrasseModel::search(['name%' => $search], ['count' => 20]);
|
||||
|
||||
|
||||
$streets = [];
|
||||
foreach($results as $result) {
|
||||
$streets[] = $result->name;
|
||||
}
|
||||
|
||||
$streets = array_unique($streets);
|
||||
return mfResponse::Ok(['streets' => $streets]);
|
||||
}
|
||||
|
||||
protected function find() {
|
||||
$search_street = $this->db()->escape($this->post['street']);
|
||||
$search_zip = $this->db()->escape($this->post['zip']);
|
||||
$search_city = $this->db()->escape($this->post['city']);
|
||||
$search_housenumber = $this->db()->escape($this->post['housenumber']);
|
||||
|
||||
|
||||
if(!$search_street) {
|
||||
return mfResponse::BadRequest(['message' => "Searchstring cannot be empty!"]);
|
||||
}
|
||||
|
||||
$addresses = [];
|
||||
|
||||
$where = "1 = 1";
|
||||
|
||||
if($search_zip) {
|
||||
$where .= " AND plz like '%$search_zip%'";
|
||||
}
|
||||
if($search_city) {
|
||||
$where .= " AND ortschaft like '%$search_city%'";
|
||||
}
|
||||
if($search_street) {
|
||||
$where .= " AND strasse like '%$search_street%'";
|
||||
}
|
||||
if($search_housenumber) {
|
||||
$where .= " AND hausnummer like '%$search_housenumber%'";
|
||||
}
|
||||
|
||||
//$res = $this->db()->select("view_wohneinheit_plz", "*", $where);
|
||||
$sql = "SELECT * FROM view_wohneinheit WHERE $where ORDER BY plz, ortschaft, strasse, LENGTH(hausnummer), hausnummer, block, stiege, stock, LENGTH(tuer), tuer LIMIT 20";
|
||||
//echo $sql;exit;
|
||||
$res = $this->db()->query($sql);
|
||||
|
||||
if($this->db()->num_rows($res)) {
|
||||
while($data = $this->db()->fetch_object($res)) {
|
||||
$addresses[] = [
|
||||
'zip' => $data->plz,
|
||||
'city' => $data->ortschaft,
|
||||
'street' => $data->strasse,
|
||||
'housenumber' => $data->hausnummer,
|
||||
'block' => $data->block,
|
||||
'stock' => $data->stock,
|
||||
'stiege' => $data->stiege,
|
||||
'tuer' => $data->tuer,
|
||||
'zusatz' => $data->zusatz
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
return mfResponse::Ok(['addresses' => $addresses]);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,71 +0,0 @@
|
||||
<?php
|
||||
|
||||
class OrtApicontroller extends mfBaseApicontroller {
|
||||
|
||||
protected function init() {
|
||||
//$this->addRoute("/home/getAll", "getHomes", "GET");
|
||||
$this->addRoute("/ort/find", "findOrt", "POST");
|
||||
//$this->addRoute("/home/:oanid/products", "getHomeProducts", "GET");
|
||||
}
|
||||
|
||||
protected function findOrt() {
|
||||
$search = $this->post['search'];
|
||||
|
||||
if(!$search) {
|
||||
return mfResponse::BadRequest(['message' => "Suchbegriff darf nicht leer sein!"]);
|
||||
}
|
||||
|
||||
$orte = [];
|
||||
|
||||
$ag = new ADBGemeinde();
|
||||
$results = $ag->find($search);
|
||||
//var_dump($results);exit;
|
||||
foreach($results as $result) {
|
||||
if(is_array($result->plz) && count($result->plz)) {
|
||||
foreach($result->plz as $plz) {
|
||||
$orte[] = ['plz' => $plz->plzstring, 'ort' => $result->name];
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return mfResponse::Ok(['orte' => $orte]);
|
||||
}
|
||||
|
||||
/*
|
||||
protected function getHomes() {
|
||||
$homes = [];
|
||||
|
||||
foreach(HomeModel::search(['operationalstate_id' => [5,3]]) as $home) {
|
||||
$homes[] = $home->getApiArray();
|
||||
}
|
||||
|
||||
return mfResponse::Ok(['homes' => $homes]);
|
||||
}*/
|
||||
/*
|
||||
protected function validateOan($oan_id) {
|
||||
$home = new Home();
|
||||
$home->loadByOan($oan_id);
|
||||
if(!$home->id) {
|
||||
return mfResponse::NotFound(['oan_d' => $oan_id, 'isValid' => false]);
|
||||
}
|
||||
|
||||
return mfResponse::Ok(['oan_d' => $oan_id, 'isValid' => true]);
|
||||
}*/
|
||||
/*
|
||||
protected function getHomeProducts($oanid) {
|
||||
$home = new Home();
|
||||
$home->loadByOan($oanid);
|
||||
if(!$home->id) {
|
||||
return mfResponse::NotFound(['message' => "Home not found"]);
|
||||
}
|
||||
|
||||
$products = [];
|
||||
foreach(ProductModel::search(['provider_id' => $this->me->provider_id]) as $product) {
|
||||
$products[] = $product->getApiArray();
|
||||
}
|
||||
|
||||
return mfResponse::Ok(["products" => $products]);
|
||||
|
||||
}*/
|
||||
}
|
||||
@@ -26,14 +26,22 @@ class FronkDB {
|
||||
|
||||
public static function singleton($host=false,$user=false,$pass=false,$db=false) {
|
||||
$instance_name = $host.$user.$db;
|
||||
if(!isset(self::$instances[$instance_name])) {
|
||||
if(!$instance_name) {
|
||||
$instance_name = "default";
|
||||
}
|
||||
|
||||
if(!isset(self::$instances[$instance_name])) {
|
||||
//echo "new FronkDB instance $instance_name\n";
|
||||
$c = __CLASS__;
|
||||
self::$instances[$instance_name] = new $c($host,$user,$pass,$db);
|
||||
}
|
||||
} else {
|
||||
//echo "existing FronkDB instance $instance_name\n";
|
||||
}
|
||||
return self::$instances[$instance_name];
|
||||
}
|
||||
|
||||
private function connect() {
|
||||
//echo "FronkDB connection to ".$this->host." (".$this->user.", ".$this->db.")\n";
|
||||
if(!$this->link) {
|
||||
$this->link=mysqli_connect($this->host,$this->user,$this->pass,$this->db) or die("Error connecting to database...".mysqli_error($this->link));
|
||||
}
|
||||
|
||||
@@ -347,16 +347,15 @@ class mfBaseApicontroller {
|
||||
$this->mfDBI=FronkDB::singleton();
|
||||
|
||||
}
|
||||
return $this->mfDBI;
|
||||
} else {
|
||||
// else return a new instance
|
||||
var_dump($args);
|
||||
$dbhost=$args[0];
|
||||
$dbuser=$args[1];
|
||||
$dbpass=$args[2];
|
||||
$dbname=$args[3];
|
||||
return $this->getNewDBInstance($dbhost,$dbuser,$dbpass,$dbname);
|
||||
$this->mfDBI = $this->getNewDBInstance($dbhost,$dbuser,$dbpass,$dbname);
|
||||
}
|
||||
return $this->mfDBI;
|
||||
|
||||
}
|
||||
|
||||
|
||||
56
scripts/addressdb_delete_multiple_streets.php
Normal file
56
scripts/addressdb_delete_multiple_streets.php
Normal file
@@ -0,0 +1,56 @@
|
||||
#!/usr/bin/php
|
||||
<?php
|
||||
|
||||
//require 'vendor/autoload.php';
|
||||
require("../config/config.php");
|
||||
|
||||
define('FRONKDB_SQLDEBUG',false);
|
||||
error_reporting(E_ALL & ~(E_NOTICE | E_STRICT | E_DEPRECATED));
|
||||
|
||||
require_once(LIBDIR."/mvcfronk/mfRouter/mfRouter.php");
|
||||
require_once(LIBDIR."/mvcfronk/mfBase/mfBaseModel.php");
|
||||
require_once(LIBDIR."/mvcfronk/mfBase/mfBaseController.php");
|
||||
|
||||
$me = new User(1);
|
||||
|
||||
$db = FronkDB::singleton(ADDRESSDB_DBHOST, ADDRESSDB_DBUSER, ADDRESSDB_DBPASS, ADDRESSDB_DBNAME);
|
||||
|
||||
$db->select("Strasse", "*");
|
||||
if(!$db->num_rows($res)) {
|
||||
die("Keine Strassen gefunden\n");
|
||||
}
|
||||
|
||||
//echo "!!num rows: ".$db->num_rows($res)."\n";
|
||||
|
||||
$streets = [];
|
||||
$toDelete = [];
|
||||
$i = 0;
|
||||
$c = 0;
|
||||
|
||||
while($data = $db->fetch_object($res)) {
|
||||
$idx = $data->name."--".$data->gemeinde_id;
|
||||
//echo "$idx\n";
|
||||
|
||||
if(array_key_exists($idx, $streets)) {
|
||||
$toDelete[] = $data->id;
|
||||
//echo "!!num rows: ".$db->num_rows($res)."\n";
|
||||
} else {
|
||||
$streets[$idx] = $data->id;
|
||||
}
|
||||
$i++;
|
||||
}
|
||||
|
||||
|
||||
|
||||
//var_dump(count($toDelete));exit;
|
||||
|
||||
foreach($toDelete as $id) {
|
||||
$s = new ADBStrasse($id);
|
||||
if($s->id === $id) {
|
||||
$s->delete();
|
||||
$c++;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
echo "Deleted $c duplicate streets ($i).\n";
|
||||
19
scripts/addressdb_import.php
Executable file
19
scripts/addressdb_import.php
Executable file
@@ -0,0 +1,19 @@
|
||||
#!/usr/bin/php
|
||||
<?php
|
||||
|
||||
//require 'vendor/autoload.php';
|
||||
require("../config/config.php");
|
||||
|
||||
define('FRONKDB_SQLDEBUG',false);
|
||||
error_reporting(E_ALL & ~(E_NOTICE | E_STRICT | E_DEPRECATED));
|
||||
|
||||
require_once(LIBDIR."/mvcfronk/mfRouter/mfRouter.php");
|
||||
require_once(LIBDIR."/mvcfronk/mfBase/mfBaseModel.php");
|
||||
require_once(LIBDIR."/mvcfronk/mfBase/mfBaseController.php");
|
||||
|
||||
$me = new User(1);
|
||||
|
||||
$filename = BASEDIR."/scripts/import/agwr_premstaetten_sample_v2.csv";
|
||||
|
||||
$adb = new AddressDB();
|
||||
$adb->import($filename);
|
||||
Reference in New Issue
Block a user