new loadcvs script

This commit is contained in:
stubbfel
2013-09-11 15:22:30 +02:00
parent 89a613f5ff
commit 381f07c987
3 changed files with 1217 additions and 61 deletions

View File

@@ -1,68 +1,136 @@
<?php
/**
* this script create from a csv the insertstatements
* @author stubbfel
* @since 01.07.2013
*/
if (($handle = fopen(utf8_decode("../../map/campus-cottbus-mitte-gebäude.csv"), "r")) !== FALSE) {
$firstRow = true;
$iidName = 3;
$iidTyp = 4;
$iidSName = 5;
$domain = array(1);
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$sidPlaceNews = 1;
$campusDomain = 1;
$buildingsDomain = 2;
$roomDomain = 3;
$iidName = 1;
$iidTyp = 2;
$iidSName = 3;
$iidSDesc = 4;
if ($firstRow) {
$firstRow = FALSE;
continue;
}
$plan = $data[0];
$id = $data[1];
$name = $data[2];
$typ = $data[3];
$parent = $data[4];
LoadDomain();
LoadInfo();
LoadService();
LoadPlace("../../map/campusse.csv", 0, 1, 4, array(1, 5), array($campusDomain), array($iidName => 2, $iidTyp => 3, $iidSName => 5, $iidSDesc => 6));
LoadPlace("../../map/campus-cottbus-mitte-gebäude.csv", 0, 1, 4, array(1, 5), array($buildingsDomain), array($iidName => 2, $iidTyp => 3, $iidSName => 5, $iidSDesc => 6));
LoadPlace("../../map/campus-cottbus-nord-gebäude.csv", 0, 1, 4, array(1, 5), array($buildingsDomain), array($iidName => 2, $iidTyp => 3, $iidSName => 5, $iidSDesc => 6));
LoadPlace("../../map/campus-cottbus-süd-gebäude.csv", 0, 1, 4, array(1, 5), array($buildingsDomain), array($iidName => 2, $iidTyp => 3, $iidSName => 5, $iidSDesc => 6));
LoadPlace("../../map/campus-senftenberg-gebäude.csv", 0, 1, 4, array(1, 5), array($buildingsDomain), array($iidName => 2, $iidTyp => 3, $iidSName => 5, $iidSDesc => 6));
if (!$parent) {
$parent = "NULL";
}
function LoadDomain() {
global $campusDomain, $buildingsDomain, $roomDomain;
$shortName = $data[5];
$insetPlace = "INSERT INTO `place`(`id`, `plan`,parent) VALUES ($id,GeomFromText('$plan'),$parent);\n";
$insertAlias = "INSERT INTO `placealias`(`pid`, `alias`) VALUES ($id,'$id');\n";
foreach ($domain as $i => $value) {
$insertDomain .= "INSERT INTO `placedomain`(`pid`, `did`) VALUES ($id,$value);\n";
}
$insertName = "";
$insertTyp = "";
$insertShortName = "";
$insertShortNameAlias = "";
if ($name) {
$insertName = "INSERT INTO `placeinformation`(`pid`, `iid`, `value`) VALUES ($id,$iidName,'$name');\n";
}
if ($typ) {
$insertTyp = "INSERT INTO `placeinformation`(`pid`, `iid`, `value`) VALUES ($id,$iidTyp,'$typ');\n";
}
if ($shortName) {
$insertShortName = "INSERT INTO `placeinformation`(`pid`, `iid`, `value`) VALUES ($id,$iidSName,'$shortName');\n";
$sAlias = trim($shortName);
$sAliasClean = str_replace(" ", "", $sAlias);
$insertShortNameAlias = "INSERT INTO `placealias`(`pid`, `alias`) VALUES ($id,$sAliasClean);\n";
}
echo $insetPlace;
echo $insertAlias;
echo $insertDomain;
echo $insertName;
echo $insertTyp;
echo $insertShortName;
echo $$insertShortNameAlias;
}
fclose($handle);
echo "INSERT INTO `domain`(`id`, `name`) VALUES ($campusDomain, 'CampusEbene');\n";
echo "INSERT INTO `domain`(`id`, `name`) VALUES ($buildingsDomain, 'GebaeudeEbene');\n";
echo "INSERT INTO `domain`(`id`, `name`) VALUES ($roomDomain, 'RaumEbene');\n";
}
function LoadInfo() {
global $iidName, $iidTyp, $iidSName, $iidSDesc;
echo "INSERT INTO `information`(`id`, `name`) VALUES ($iidName, 'Name');\n";
echo "INSERT INTO `information`(`id`, `name`) VALUES ($iidTyp, 'Typ');\n";
echo "INSERT INTO `information`(`id`, `name`) VALUES ($iidSName, 'Kurzname');\n";
echo "INSERT INTO `information`(`id`, `name`) VALUES ($iidSDesc, 'Kurzbeschreibung');\n";
}
function LoadService() {
global $sidPlaceNews;
echo "INSERT INTO `service`(`id`, `name`, `sap`) VALUES ($sidPlaceNews,'PlaceNews','http://141.43.76.140:8080');\n";
}
function LoadPlace($path, $planIndex = -1, $idIndex = -1, $parentIndex = -1, $alias = array(), $domain = array(), $infos = array(), $service = array(), $newsFlag = true) {
$sidPlaceNews = 1;
if (($handle = fopen(utf8_decode($path), "r")) !== FALSE) {
$firstRow = true;
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
if ($firstRow) {
$firstRow = FALSE;
continue;
}
$insertAlias = "";
$insertInfos = "";
$insertDomain = "";
$insertService = "";
$insertPlace = "";
if ($planIndex == -1) {
$plan = "NULL";
} else {
$plan = trim($data[$planIndex]);
if (!$plan) {
$plan = "NULL";
}
}
if ($idIndex == -1) {
$id = "NULL";
} else {
$id = trim($data[$idIndex]);
if (!$id) {
$id = "NULL";
}
}
if ($parentIndex == -1) {
$parent = "NULL";
} else {
$parent = trim($data[$parentIndex]);
if (!$parent) {
$parent = "NULL";
}
}
$insertPlace .= "INSERT INTO `place`(`id`, `plan`,parent) VALUES ($id,GeomFromText('$plan'),$parent);\n";
foreach ($alias as $dataIndex) {
$tmpVal = $data[$dataIndex];
if ($tmpVal) {
$tmpValTrim = str_replace(" ", "", trim($tmpVal));
$insertAlias .= "INSERT INTO `placealias`(`pid`, `alias`) VALUES ($id,'$tmpValTrim');\n";
}
}
foreach ($domain as $i => $did) {
$tmpVal = $did;
if ($tmpVal) {
$tmpValTrim = trim($tmpVal);
$insertDomain .= "INSERT INTO `placedomain`(`pid`, `did`) VALUES ($id,$tmpValTrim);\n";
}
}
foreach ($infos as $iid => $dataIndex) {
$tmpVal = $data[$dataIndex];
if ($tmpVal) {
$tmpValTrim = trim($tmpVal);
$insertInfos .= "INSERT INTO `placeinformation`(`pid`, `iid`, `value`) VALUES ($id,$iid,'$tmpValTrim');\n";
}
}
foreach ($service as $sid => $tmpVal) {
if ($tmpVal) {
$tmpValTrim = trim($tmpVal);
$insertService .= "INSERT INTO `placeservice`(`pid`, `sid`, `request`) VALUES ($id,$sid,'$tmpValTrim');\n";
}
}
echo $insertPlace;
echo $insertAlias;
echo $insertDomain;
echo $insertInfos;
echo $insertService;
if ($newsFlag == true) {
echo "INSERT INTO `placeservice`(`pid`, `sid`, `request`) VALUES ($id,$sidPlaceNews,'/p/$id');\n";
}
}
fclose($handle);
}
}
?>