Index: trunk/info/info/alkis/alkisnamstruk.php
===================================================================
--- trunk/info/info/alkis/alkisnamstruk.php	(revision 376)
+++ trunk/info/info/alkis/alkisnamstruk.php	(revision 377)
@@ -6,6 +6,13 @@
 
 	Version:
-	2016-02-24 Version fuer norGIS-ALKIS-Import
-	2016-11-29 HTML5, Gemeinsam genutzte Datenbanken ermÃ¶glichen
+	2013-04-08 deprecated "import_request_variables" ersetzt
+	2013-11-22 Namensbestandteil ("von") in Kompakt-Adresse vor den Namen setzen
+	2014-02-06 Redundante Adressen kommen vor. Nur eine davon anzeigen.
+	2014-09-04 PostNAS 0.8: ohne Tab. "alkis_beziehungen", mehr "endet IS NULL", Spalten varchar statt integer
+	2014-09-10 Bei Relationen den Timestamp abschneiden
+	2014-09-30 RÃŒckbau substring(gml_id)
+	2015-12-09 Austausch .ico durch .png
+
+	ToDo: Sortierung der GrundbÃŒcher zum Namen
 */
 session_start();
@@ -16,12 +23,17 @@
 if ($auth == "mapbender") {require_once($mapbender);}
 include("alkisfkt.php");
+if ($id == "j") {	$idanzeige=true;} else {$idanzeige=false;}
 $keys = isset($_GET["showkey"]) ? $_GET["showkey"] : "n";
 if ($keys == "j") {$showkey=true;} else {$showkey=false;}
 
 ?>
-<!doctype html>
-<html lang="de">
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
 <head>
-	<meta charset="utf-8">
+	<meta name="author" content="b600352" >
+	<meta http-equiv="cache-control" content="no-cache">
+	<meta http-equiv="pragma" content="no-cache">
+	<meta http-equiv="expires" content="0">
+	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 	<title>ALKIS Person und Adresse</title>
 	<link rel="stylesheet" type="text/css" href="alkisauszug.css">
@@ -39,14 +51,13 @@
 
 <?php
-
+$con = pg_connect("host=".$dbhost." port=".$dbport." dbname=".$dbname." user=".$dbuser." password=".$dbpass);
 // Balken
-echo "<p class='nakennz'>ALKIS Name id=".$gmlid."&nbsp;</p>\n"
-."\n<h2><img src='ico/Eigentuemer.png' width='16' height='16' alt=''> Person</h2>\n";
-$con = pg_connect($dbconn." options='--application_name=ALKIS-Auskunft_alkisnamstruk.php'");
+echo "<p class='nakennz'>ALKIS Name id=".$gmlid."&nbsp;</p>\n";
+
+echo "\n<h2><img src='ico/Eigentuemer.png' width='16' height='16' alt=''> Person</h2>\n";
 if (!$con) "\n<p class='err'>Fehler beim Verbinden der DB</p>\n";
 
-$sql="SELECT p.nachnameoderfirma, p.anrede, p.vorname, p.geburtsname, p.geburtsdatum, p.namensbestandteil, p.akademischergrad, a.v AS anrv
-FROM ax_person p LEFT JOIN alkis_wertearten a ON cast(p.anrede AS character varying)=a.k AND a.element='ax_person' AND a.bezeichnung='anrede' 
-WHERE gml_id= $1;";
+$sql="SELECT nachnameoderfirma, anrede, vorname, geburtsname, geburtsdatum, namensbestandteil, akademischergrad ";
+$sql.="FROM ax_person WHERE gml_id= $1;";
 
 $v = array($gmlid);
@@ -54,28 +65,26 @@
 $res = pg_execute("", $v);
 
-if (!$res) {
-	echo "\n<p class='err'>Fehler bei Zugriff auf Namensnummer</p>\n";
-	if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";}
-}
+if (!$res) {echo "\n<p class='err'>Fehler bei Zugriff auf Namensnummer</p>\n";}
+if ($idanzeige) { linkgml($gkz, $gmlid, "Person", "ax_person"); }
 if ($row = pg_fetch_array($res)) {
 	$vor=htmlentities($row["vorname"], ENT_QUOTES, "UTF-8");
 	$nam=htmlentities($row["nachnameoderfirma"], ENT_QUOTES, "UTF-8");
 	$geb=htmlentities($row["geburtsname"], ENT_QUOTES, "UTF-8");
-	$anrk=$row["anrede"]; // Key
-	$anr=$row["anrv"]; // Value
+	$anrk=$row["anrede"];
+	$anr=anrede($anrk);
 	$nbest=$row["namensbestandteil"];
 	$aka=$row["akademischergrad"];
 
-	echo "<table>\n"
-		."\t<tr><td class='nhd'>Anrede:</td><td class='nam'>";
+	echo "<table>\n";
+		echo "\t<tr><td class='nhd'>Anrede:</td><td class='nam'>";
 		if ($showkey) {echo "<span class='key' title='Anredekennung'>(".$anrk.")</span> ";}
-		echo $anr."</td></tr>\n"
-		."\t<tr><td class='nhd'>Nachname oder Firma:</td><td class='nam'>".$nam."</td></tr>\n"
-		."\t<tr><td class='nhd'>Vorname:</td><td class='nam'>".$vor."&nbsp;</td></tr>\n"
-		."\t<tr><td class='nhd'>Geburtsname:</td><td class='nam'>".$geb."&nbsp;</td></tr>\n"
-		."\t<tr><td class='nhd'>Geburtsdatum:</td><td class='nam'>".$row["geburtsdatum"]."&nbsp;</td></tr>\n"
-		."\t<tr><td class='nhd'>Namensbestandteil:</td><td class='nam'>".$nbest."&nbsp;</td></tr>\n"
-		."\t<tr><td class='nhd'>akademischer Grad:</td><td class='nam'>".$aka."&nbsp;</td></tr>\n"
-	."\n</table>\n<hr>\n";
+		echo $anr."</td></tr>\n";
+		echo "\t<tr><td class='nhd'>Nachname oder Firma:</td><td class='nam'>".$nam."</td></tr>\n";
+		echo "\t<tr><td class='nhd'>Vorname:</td><td class='nam'>".$vor."&nbsp;</td></tr>\n";
+		echo "\t<tr><td class='nhd'>Geburtsname:</td><td class='nam'>".$geb."&nbsp;</td></tr>\n";
+		echo "\t<tr><td class='nhd'>Geburtsdatum:</td><td class='nam'>".$row["geburtsdatum"]."&nbsp;</td></tr>\n";
+		echo "\t<tr><td class='nhd'>Namensbestandteil:</td><td class='nam'>".$nbest."&nbsp;</td></tr>\n";
+		echo "\t<tr><td class='nhd'>akademischer Grad:</td><td class='nam'>".$aka."&nbsp;</td></tr>\n";
+	echo "\n</table>\n<hr>\n";
 
 	// A d r e s s e
@@ -91,5 +100,7 @@
 	if (!$resa) {
 		echo "\n<p class='err'>Fehler bei Adressen</p>\n";
-		if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sqla."<br>$1=gml(Person)= '".$gmlid."'</p>\n";}
+		if ($debug > 2) {	
+			echo "<p class='err'>SQL=<br>".$sqla."<br>$1=gml(Person)= '".$gmlid."'</p>\n";
+		}
 	}
 
@@ -105,17 +116,19 @@
 			$hsnr=$rowa["hausnummer"];
 			$land=htmlentities($rowa["bestimmungsland"], ENT_QUOTES, "UTF-8");
-			echo "<table>\n"
-				."\t<tr><td class='nhd'>PLZ:</td><td class='nam'>".$plz."</td></tr>\n"
-				."\t<tr><td class='nhd'>Ort:</td><td class='nam'>".$ort."</td></tr>\n"
-				."\t<tr><td class='nhd'>Strasse:</td><td class='nam'>".$str."</td></tr>\n"
-				."\t<tr><td class='nhd'>Hausnummer:</td><td class='nam'>".$hsnr."</td></tr>\n"
-				."\t<tr><td class='nhd'>Land:</td><td class='nam'>".$land."</td></tr>\n"
-			."\n</table>\n<br>\n";
+			if ($idanzeige) { linkgml($gkz, $gmla, "Adresse", "ax_adresse"); }
+
+			echo "<table>\n";
+				echo "\t<tr><td class='nhd'>PLZ:</td><td class='nam'>".$plz."</td></tr>\n";
+				echo "\t<tr><td class='nhd'>Ort:</td><td class='nam'>".$ort."</td></tr>\n";
+				echo "\t<tr><td class='nhd'>Strasse:</td><td class='nam'>".$str."</td></tr>\n";
+				echo "\t<tr><td class='nhd'>Hausnummer:</td><td class='nam'>".$hsnr."</td></tr>\n";
+				echo "\t<tr><td class='nhd'>Land:</td><td class='nam'>".$land."</td></tr>\n";
+			echo "\n</table>\n<br>\n";
 
 			// Name und Adresse Kompakt (im Rahmen) - Alles was man fuer ein Anschreiben braucht
-			echo "<img src='ico/Namen.png' width='16' height='16' alt='Brief' title='Anschrift'>"
-			."\n<div class='adr' title='Anschrift'>".$anr." ".$aka." ".$vor." ".$nbest." ".$nam."<br>"
-			."\n".$str." ".$hsnr."<br>"
-			."\n".$plz." ".$ort."</div>";
+			echo "<img src='ico/Namen.png' width='16' height='16' alt='Brief' title='Anschrift'>"; // Symbol "Brief"
+			echo "\n<div class='adr' title='Anschrift'>".$anr." ".$aka." ".$vor." ".$nbest." ".$nam."<br>";
+			echo "\n".$str." ".$hsnr."<br>";
+			echo "\n".$plz." ".$ort."</div>";
 		}
 	}
@@ -124,6 +137,7 @@
 		echo "\n<p class='err'>Keine Adressen.</p>\n";
 	} elseif ($j > 1) {
-		echo "\n\t\t<p class='nwlink noprint'>"
-		."\n\t\t\t<a href='".$_SERVER['PHP_SELF']. "?gkz=".$gkz."&amp;gmlid=".$gmlid;
+		echo "\n\t\t<p class='nwlink noprint'>";
+		echo "\n\t\t\t<a href='".$_SERVER['PHP_SELF']. "?gkz=".$gkz."&amp;gmlid=".$gmlid;
+		if ($idanzeige) {echo "&amp;id=j";}
 		if ($showkey) {echo "&amp;showkey=j";}
 		if ($multiadress == "j") {
@@ -132,6 +146,6 @@
 			echo "&amp;multiadress=j' title='Adressen ggf. mehrfach vorhanden'>alle Adressen ";
 		}
-		echo "\n\t\t\t</a>"
-		."\n\t\t</p>";
+		echo "\n\t\t\t</a>";
+		echo "\n\t\t</p>";
 	}
 
@@ -141,11 +155,8 @@
 	//                               >bestehtAusRechtsverhaeltnissenZu> namensnummer   (Nebenzweig/SonderfÃ€lle?)
 
-	$sqlg ="SELECT n.gml_id AS gml_n, n.laufendenummernachdin1421 AS lfd, n.zaehler, n.nenner, g.gml_id AS gml_g, g.bezirk, g.buchungsblattnummermitbuchstabenerweiterung as nr, g.blattart, wb.v AS blattartv, b.bezeichnung AS beznam 
-	FROM ax_person p JOIN ax_namensnummer n ON p.gml_id=n.benennt 
-	JOIN ax_buchungsblatt g ON g.gml_id=n.istbestandteilvon 
+	$sqlg ="SELECT n.gml_id AS gml_n, n.laufendenummernachdin1421 AS lfd, n.zaehler, n.nenner, g.gml_id AS gml_g, g.bezirk, g.buchungsblattnummermitbuchstabenerweiterung as nr, g.blattart, b.bezeichnung AS beznam 
+	FROM ax_person p JOIN ax_namensnummer n ON p.gml_id=n.benennt JOIN ax_buchungsblatt g ON g.gml_id=n.istbestandteilvon 
 	LEFT JOIN ax_buchungsblattbezirk b ON g.land=b.land AND g.bezirk=b.bezirk 
-	LEFT JOIN alkis_wertearten wb ON cast(g.blattart AS character varying)=wb.k AND wb.element='ax_buchungsblatt' AND wb.bezeichnung='blattart'
-	WHERE p.gml_id= $1
-	ORDER BY b.bezeichnung, g.buchungsblattnummermitbuchstabenerweiterung, n.laufendenummernachdin1421;";
+	WHERE p.gml_id= $1 ORDER BY g.bezirk, g.buchungsblattnummermitbuchstabenerweiterung;";
 	// buchungsblatt... mal mit und mal ohne fuehrende Nullen, bringt die Sortierung durcheinander
 
@@ -156,15 +167,17 @@
 	if (!$resg) {
 		echo "\n<p class='err'>Fehler bei Grundbuch</p>\n";
-		if ($debug > 2) {echo "\n<p class='err'>SQL=".$sqlg."</p>\n";}
-	}
-	echo "<table class='eig'>"
-	."\n<tr>"
-		."\n\t<td class='heads'>Bezirk<img src='ico/sort.png' width='10' height='10' alt='' title='Sortierung'></td>"
-		."\n\t<td class='head'>Blattart</td>"
-		."\n\t<td class='heads'>Blatt<img src='ico/sort.png' width='10' height='10' alt='' title='Sortierung'></td>"
-		."\n\t<td class='heads'>Namensnummer<img src='ico/sort.png' width='10' height='10' alt='' title='Sortierung'></td>"
-		."\n\t<td class='head'>Anteil</td>"
-		."\n\t<td class='head nwlink noprint' title='Link: weitere Auskunft'>weit. Auskunft</td>"
-	."\n</tr>";
+		if ($debug > 2) {
+			echo "\n<p class='err'>SQL=".$sqlg."</p>\n";
+		}
+	}
+	echo "<table class='eig'>";
+	echo "\n<tr>";
+		echo "\n\t<td class='head'>Bezirk</td>";
+		echo "\n\t<td class='head'>Blattart</td>";
+		echo "\n\t<td class='head'>Blatt</td>";
+		echo "\n\t<td class='head'>Namensnummer</td>";
+		echo "\n\t<td class='head'>Anteil</td>";
+		echo "\n\t<td class='head nwlink noprint' title='Link: weitere Auskunft'>weit. Auskunft</td>";
+	echo "\n</tr>";
 
 	$i=0;
@@ -174,21 +187,29 @@
 		$namnum=kurz_namnr($rowg["lfd"]);
 		$zae=$rowg["zaehler"];
-		$blattkey=$rowg["blattart"]; // Key
-		$blattart=$rowg["blattartv"]; // Value
-
-		echo "\n<tr>"
-			."\n\t<td class='gbl'>"; // GB-Bezirk"
-				if ($showkey) {echo "<span class='key'>".$rowg["bezirk"]."</span> ";}
-				echo $rowg["beznam"]
-			."</td>";
+		$blattkey=$rowg["blattart"];
+		$blattart=blattart($blattkey);
+
+		echo "\n<tr>";
+
+			echo "\n\t<td class='gbl'>"; // GB-Bezirk"
+				if ($showkey) {
+					echo "<span class='key'>".$rowg["bezirk"]."</span> ";
+				}
+				echo $rowg["beznam"];
+			echo "</td>";
 
 			echo "\n\t<td class='gbl'>"; // Blattart
-				if ($showkey) {echo "<span class='key'>".$blattkey."</span> ";}
-				echo $blattart
-			."</td>";
+				if ($showkey) {
+					echo "<span class='key'>".$blattkey."</span> ";
+				}
+				echo $blattart;
+			echo "</td>";
 
 			echo "\n\t<td class='gbl'>"; // Blatt
-				echo "<span class='wichtig'>".$rowg["nr"]."</span>"
-			."</td>";
+				echo "<span class='wichtig'>".$rowg["nr"]."</span>";
+				if ($idanzeige) {
+					linkgml($gkz, $gmlg, "Grundbuchblatt", "");
+				}
+			echo "</td>";
 
 			echo "\n\t<td class='gbl'>"; // Namensnummer
@@ -197,4 +218,7 @@
 				} else {
 					echo $namnum;
+				}
+				if ($idanzeige) {
+					linkgml($gkz, $gmln, "Namensnummer", "ax_namensnummer"); 
 				}
 			echo "</td>";
@@ -206,14 +230,18 @@
 					echo $zae."/".$rowg["nenner"]." Anteil";
 				} 
-			echo "</td>"
-			."\n\t<td class='gbl'>"
-				."\n\t\t<p class='nwlink noprint'>"
-					."\n\t\t\t<a href='alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$gmlg;
-						if ($showkey) {echo "&amp;showkey=j";}
-						echo "' title='Bestandsnachweis'>".$blattart
-					."\n\t\t\t<img src='ico/GBBlatt_link.png' width='16' height='16' alt=''></a>"
-				."\n\t\t</p>"
-			."\n\t</td>"
-		."\n</tr>";
+			echo "</td>";
+
+			echo "\n\t<td class='gbl'>";
+				echo "\n\t\t<p class='nwlink noprint'>";
+					echo "\n\t\t\t<a href='alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$gmlg;
+						if ($idanzeige) {echo "&amp;id=j";}
+						if ($showkey)   {echo "&amp;showkey=j";}
+						echo "' title='Bestandsnachweis'>";
+						echo $blattart;
+					echo "\n\t\t\t<img src='ico/GBBlatt_link.png' width='16' height='16' alt=''></a>";
+				echo "\n\t\t</p>";
+			echo "\n\t</td>";
+
+		echo "\n</tr>";
 		// +++ >bestehtAusRechtsverhaeltnissenZu> namensnummer ?
 		// z.B. eine Namennummer "Erbengemeinschaft" zeigt auf Namensnummern mit EigentÃŒmern
@@ -228,10 +256,12 @@
 ?>
 
-<div class='buttonbereich noprint'>
-<hr>
-	<a title="zur&uuml;ck" href='javascript:history.back()'><img src="ico/zurueck.png" width="16" height="16" alt="zur&uuml;ck"></a>&nbsp;
-	<a title="Drucken" href='javascript:window.print()'><img src="ico/print.png" width="16" height="16" alt="Drucken"></a>&nbsp;
-	<a title="Export als CSV" href='javascript:ALKISexport()'><img src="ico/download.png" width="16" height="16" alt="Export"></a>&nbsp;
-</div>
+<form action=''>
+	<div class='buttonbereich noprint'>
+	<hr>
+		<a title="zur&uuml;ck" href='javascript:history.back()'><img src="ico/zurueck.png" width="16" height="16" alt="zur&uuml;ck"></a>&nbsp;
+		<a title="Drucken" href='javascript:window.print()'><img src="ico/print.png" width="16" height="16" alt="Drucken"></a>&nbsp;
+		<a title="Export als CSV" href='javascript:ALKISexport()'><img src="ico/download.png" width="32" height="16" alt="Export"></a>&nbsp;
+	</div>
+</form>
 
 <?php footer($gmlid, $_SERVER['PHP_SELF']."?", ""); ?>
