Index: /trunk/var/www/info/alkis/alkisbestnw.php
===================================================================
--- /trunk/var/www/info/alkis/alkisbestnw.php	(revision 197)
+++ /trunk/var/www/info/alkis/alkisbestnw.php	(revision 198)
@@ -9,4 +9,5 @@
 	22.11.2011  Feldname land in ax_buchungsblattbezirk geÃ€ndert
 	30.11.2011  import_request_variables
+	24.07.2012  Export CSV
 
 	ToDo:
@@ -26,5 +27,5 @@
 <html>
 <head>
-	<meta name="author" content="F. Jaeger krz" >
+	<meta name="author" content="b600352" >
 	<meta http-equiv="cache-control" content="no-cache">
 	<meta http-equiv="pragma" content="no-cache">
@@ -34,4 +35,8 @@
 	<link rel="stylesheet" type="text/css" href="alkisauszug.css">
 	<link rel="shortcut icon" type="image/x-icon" href="ico/Grundbuch.ico">
+	<script type="text/javascript">
+	function ALKISexportGB() {window.open(<?php echo "'alkisgbexp.php?gkz=".$gkz."&gmlid=".$gmlid."'"; ?>);}
+	function ALKISexportFS() {window.open(<?php echo "'alkisgbfsexp.php?gkz=".$gkz."&gmlid=".$gmlid."'"; ?>);}
+	</script>
 	<style type='text/css' media='print'>
 		.noprint {visibility: hidden;}
@@ -470,7 +475,9 @@
 	<div class='buttonbereich noprint'>
 	<hr>
-		<input type='button' name='back'  value='&lt;&lt;' title='Zur&uuml;ck'             onClick='javascript:history.back()'>&nbsp;
-		<input type='button' name='print' value='Druck'    title='Seite Drucken'           onClick='window.print()'>&nbsp;
-		<input type='button' name='close' value='X'        title='Fenster schlie&szlig;en' onClick='window.close()'>
+		<a title="zur&uuml;ck" href='javascript:history.back()'><img src="ico/zurueck.ico" width="16" height="16" alt="zur&uuml;ck" /></a>&nbsp;
+		<a title="Drucken" href='javascript:window.print()'><img src="ico/print.ico" width="16" height="16" alt="Drucken" /></a>&nbsp;
+<!-- 	<a title="Export Flurst&uuml;cksdaten als CSV" href='javascript:ALKISexportFS()'><img src="ico/download_fs.ico" width="32" height="16" alt="Export" /></a>&nbsp; -->
+		<a title="Export Grundbuchdaten als CSV" href='javascript:ALKISexportGB()'><img src="ico/download_gb.ico" width="32" height="16" alt="Export" /></a>&nbsp;
+<!--	<a title="Seite schlie&szlig;en" href="javascript:window.close()"><img src="ico/close.ico" width="16" height="16" alt="Ende" /></a>	-->
 	</div>
 </form>
Index: /trunk/var/www/info/alkis/alkisnamstruk.php
===================================================================
--- /trunk/var/www/info/alkis/alkisnamstruk.php	(revision 197)
+++ /trunk/var/www/info/alkis/alkisnamstruk.php	(revision 198)
@@ -26,5 +26,5 @@
 <html>
 <head>
-	<meta name="author" content="F. Jaeger krz" >
+	<meta name="author" content="b600352" >
 	<meta http-equiv="cache-control" content="no-cache">
 	<meta http-equiv="pragma" content="no-cache">
@@ -233,8 +233,10 @@
 
 <form action=''>
-	<div class='buttonbereich noprint'><hr>
-		<input type='button' name='back'  value='&lt;&lt;' title='Zur&uuml;ck'  onClick='javascript:history.back()'>&nbsp;
-		<input type='button' name='print' value='Druck' title='Seite Drucken' onClick='window.print()'>&nbsp;
-		<input type='button' name='close' value='X' title='Fenster schlie&szlig;en' onClick='window.close()'>
+	<div class='buttonbereich noprint'>
+	<hr>
+		<a title="zur&uuml;ck" href='javascript:history.back()'><img src="ico/zurueck.ico" width="16" height="16" alt="zur&uuml;ck" /></a>&nbsp;
+		<a title="Drucken" href='javascript:window.print()'><img src="ico/print.ico" width="16" height="16" alt="Drucken" /></a>&nbsp;
+<!--	<a title="Export als CSV" href='javascript:ALKISexport()'><img src="ico/download.ico" width="16" height="16" alt="Export" /></a>&nbsp;
+		<a title="Seite schlie&szlig;en" href="javascript:window.close()"><img src="ico/close.ico" width="16" height="16" alt="Ende" /></a>	-->
 	</div>
 </form>
Index: /trunk/var/www/info/alkis/alkisgbexp.php
===================================================================
--- /trunk/var/www/info/alkis/alkisgbexp.php	(revision 198)
+++ /trunk/var/www/info/alkis/alkisgbexp.php	(revision 198)
@@ -0,0 +1,41 @@
+<?php
+/*	Modul alkisgbexp.php
+	CSV-Export von Grundbuch-Daten (Blatt)
+	2012-07-24 krz f.j.
+*/
+import_request_variables("G"); // gmlid
+header('Content-type: application/octet-stream');
+header('Content-Disposition: attachment; filename="alkis_grundbuch_'.$gmlid.'.csv"');
+require_once("alkis_conf_location.php");
+
+// DB-Verbindung
+$con = pg_connect("host=".$dbhost." port=" .$dbport." dbname=".$dbname." user=".$dbuser." password=".$dbpass);
+if (!$con) {exit("Fehler beim Verbinden der DB");}
+pg_set_client_encoding($con, LATIN1); 
+
+// GB-Blatt, Bestand
+$sql ="SELECT g.buchungsblattnummermitbuchstabenerweiterung AS nr, g.blattart, "; // GB-Blatt
+$sql.=" b.bezirk, b.bezeichnung AS beznam, a.land, a.bezeichnung "; 
+$sql.="FROM ax_buchungsblatt g ";
+$sql.="LEFT JOIN ax_buchungsblattbezirk b ON g.land=b.land AND g.bezirk=b.bezirk ";  // BBZ
+$sql.="LEFT JOIN ax_dienststelle a ON b.land = a.land AND b.stelle = a.stelle ";
+$sql.="WHERE g.gml_id= $1 AND a.stellenart=1000;"; // Amtsgericht
+$v = array($gmlid);
+$res = pg_prepare("", $sql);
+$res = pg_execute("", $v);
+if (!$res) {exit("Fehler bei Grundbuchdaten");}
+if ($row = pg_fetch_array($res)) {
+	$agland=$row["land"]; // Amtsgericht	
+	$agbez=$row["bezeichnung"];
+	$bezirk=$row["bezirk"]; // Bezirk
+	$beznam=$row["beznam"];
+	$blattnr=$row["nr"]; // Blatt
+	$blattart=$row["blattart"];
+} else {exit("Kein Treffer fuer gml_id=".$gmlid);}
+//if ($blattkey == 5000) { // fikt. Blatt Keine Angaben zum Eigentum
+
+// CSV-Ausgabe
+echo "Land;Amtsgericht;Bezirk;Bezirksname;Blatt;Blattart";
+echo "\n".$agland.";".$agbez.";".$bezirk.";".$beznam.";".$blattnr.";".$blattart;
+exit();
+?>
Index: /trunk/var/www/info/alkis/alkisgebaeudenw.php
===================================================================
--- /trunk/var/www/info/alkis/alkisgebaeudenw.php	(revision 197)
+++ /trunk/var/www/info/alkis/alkisgebaeudenw.php	(revision 198)
@@ -21,5 +21,5 @@
 <html>
 <head>
-	<meta name="author" content="F. Jaeger krz" >
+	<meta name="author" content="b600352" >
 	<meta http-equiv="cache-control" content="no-cache">
 	<meta http-equiv="pragma" content="no-cache">
@@ -280,10 +280,12 @@
 
 ?>
+
 <form action=''>
 	<div class='buttonbereich noprint'>
 	<hr>
-		<input type='button' name='back'  value='&lt;&lt;' title='Zur&uuml;ck'  onClick='javascript:history.back()'>&nbsp;
-		<input type='button' name='print' value='Druck' title='Seite Drucken' onClick='window.print()'>&nbsp;
-		<input type='button' name='close' value='X' title='Fenster schlie&szlig;en' onClick='window.close()'>
+		<a title="zur&uuml;ck" href='javascript:history.back()'><img src="ico/zurueck.ico" width="16" height="16" alt="zur&uuml;ck" /></a>&nbsp;
+		<a title="Drucken" href='javascript:window.print()'><img src="ico/print.ico" width="16" height="16" alt="Drucken" /></a>&nbsp;
+<!--	<a title="Export als CSV" href='javascript:ALKISexport()'><img src="ico/download.ico" width="16" height="16" alt="Export" /></a>&nbsp;
+		<a title="Seite schlie&szlig;en" href="javascript:window.close()"><img src="ico/close.ico" width="16" height="16" alt="Ende" /></a>	-->
 	</div>
 </form>
Index: /trunk/var/www/info/alkis/alkislage.php
===================================================================
--- /trunk/var/www/info/alkis/alkislage.php	(revision 197)
+++ /trunk/var/www/info/alkis/alkislage.php	(revision 198)
@@ -41,5 +41,5 @@
 <html>
 <head>
-	<meta name="author" content="F. Jaeger krz" >
+	<meta name="author" content="b600352" >
 	<meta http-equiv="cache-control" content="no-cache">
 	<meta http-equiv="pragma" content="no-cache">
@@ -169,9 +169,16 @@
 				}
 			echo $gnam."&nbsp;</td>";
+
 			echo "\n\t\t<td title='Stra&szlig;e'>";
 				if ($showkey) {
 					echo "<span class='key'>".$lage."</span><br>";
 				}
-			echo $snam."&nbsp;</td>";
+			if ($ltyp == "o") {
+				echo "<span class='wichtig'>".$snam."</div>";
+			} else {
+				echo $snam;
+			}	
+			echo "&nbsp;</td>";
+
 			switch ($ltyp) {
 				case "m":
@@ -397,7 +404,8 @@
 	<div class='buttonbereich noprint'>
 	<hr>
-		<input type='button' name='back'  value='&lt;&lt;' title='Zur&uuml;ck'  onClick='javascript:history.back()'>&nbsp;
-		<input type='button' name='print' value='Druck' title='Seite Drucken' onClick='window.print()'>&nbsp;
-		<input type='button' name='close' value='X' title='Fenster schlie&szlig;en' onClick='window.close()'>
+		<a title="zur&uuml;ck" href='javascript:history.back()'><img src="ico/zurueck.ico" width="16" height="16" alt="zur&uuml;ck" /></a>&nbsp;
+		<a title="Drucken" href='javascript:window.print()'><img src="ico/print.ico" width="16" height="16" alt="Drucken" /></a>&nbsp;
+<!--	<a title="Export als CSV" href='javascript:ALKISexport()'><img src="ico/download.ico" width="16" height="16" alt="Export" /></a>&nbsp;
+		<a title="Seite schlie&szlig;en" href="javascript:window.close()"><img src="ico/close.ico" width="16" height="16" alt="Ende" /></a>	-->
 	</div>
 </form>
Index: /trunk/var/www/info/alkis/alkisfsnw.php
===================================================================
--- /trunk/var/www/info/alkis/alkisfsnw.php	(revision 197)
+++ /trunk/var/www/info/alkis/alkisfsnw.php	(revision 198)
@@ -6,10 +6,14 @@
 
 	Version:
-	16.11.2011  Neuer Style class='dbg', Link Historie
-	17.11.2011  Parameter der Functions geÃ€ndert
-	30.11.2011  import_request_variables, $dbvers PostNAS 0.5 entfernt
-	01.12.2011  Summe der AbschnittsflÃ€chen (NUA) an amtl. BuchflÃ€che des FS angleichen 
-	
+	2011-11-16 Neuer Style class='dbg', Link Historie
+	2011-11-17 Parameter der Functions geÃ€ndert
+	2011-11-30 import_request_variables, $dbvers PostNAS 0.5 entfernt
+	2011-12-01 Summe der AbschnittsflÃ€chen (NUA) an amtl. BuchflÃ€che des FS angleichen 
+	2011-12-16 Zeilenumbruch in Nutzungsart, Spaltenbreite Link
+	2012-07-24 Export als CSV, pg_free_result(), pg_close()
+	2012-11-27 split deprecated, besser: explode
+
 	ToDo:
+	- BodenschÃ€tzung anzeigen
 	- EntschlÃŒsseln "Bahnkategorie" bei Bahnverkehr, "OberflÃ€chenmaterial" bei Unland
 	  Dazu evtl. diese Felder ins Classfld verschieben (Meta-Tabellen!)
@@ -28,5 +32,5 @@
 <html>
 <head>
-	<meta name="author" content="F. Jaeger krz" >
+	<meta name="author" content="b600352" >
 	<meta http-equiv="cache-control" content="no-cache">
 	<meta http-equiv="pragma" content="no-cache">
@@ -39,4 +43,8 @@
 		.noprint {visibility: hidden;}
 	</style>
+	<script type="text/javascript">
+	function ALKISexportFS() {window.open(<?php echo "'alkisfsexp.php?gkz=".$gkz."&gmlid=".$gmlid."'"; ?>);}
+	function ALKISexportGB() {window.open(<?php echo "'alkisfsgbexp.php?gkz=".$gkz."&gmlid=".$gmlid."'"; ?>);}
+	</script>
 </head>
 <body>
@@ -75,9 +83,11 @@
 	$entsteh=$row["zeitpunktderentstehung"];
 	$name=$row["name"]; // Fortfuehrungsnummer(n)
-	$arrn = split(",", trim($name, "{}") ); // PHP-Array
+	//$arrn = split(",", trim($name, "{}") ); // deprecated
+	$arrn = explode(",", trim($name, "{}") ); // PHP-Array
 } else {
 	echo "<p class='err'>Fehler! Kein Treffer fuer gml_id=".$gmlid."</p>";
 	if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";}
 }
+pg_free_result($res);
 // Balken
 if ($eig=="j") {
@@ -145,5 +155,5 @@
 	echo "<span class='key'>(".$gemeinde.")</span> ";
 }
-echo $gnam."</td><td>";
+echo $gnam."</td><td width='80'>";  // Mindest-Breite der Spalte fuer die Links 
 	// Link zur FlurstÃŒcks-Historie (passt nicht ganz in die Zeile "Gemeinde", aber gut unter "weitere Auskunft")
 	echo "\n<p class='nwlink noprint'>";
@@ -156,4 +166,5 @@
 	echo "\n</p>";
 echo "</td></tr>";
+pg_free_result($res);
 
 // K r e i s
@@ -173,4 +184,5 @@
 }
 echo $knam."</td><td>&nbsp;</td></tr>";
+pg_free_result($res);
 
 // R e g - B e z
@@ -190,4 +202,5 @@
 }
 echo $bnam."</td><td>&nbsp;</td></tr>";
+pg_free_result($res);
 // ENDE G e b i e t s z u g e h o e r i g k e i t
 
@@ -239,4 +252,5 @@
 	$j++;
 }
+pg_free_result($res);
 // Verbesserung: mehrere HsNr zur gleichen StraÃe als Liste?
 
@@ -295,4 +309,5 @@
 	$j++;
 }
+pg_free_result($res);
 // ENDE  L a g e b e z e i c h n u n g
 
@@ -301,5 +316,4 @@
 $sql ="SELECT m.title, m.fldclass, m.fldinfo, n.gml_id, c.class, n.info, n.zustand, n.name, n.bezeichnung, m.gruppe, ";
 // Gemeinsame FlÃ€che von NUA und FS
-//$sql.="round(st_area(st_intersection(n.wkb_geometry,f.wkb_geometry))::numeric,1) AS schnittflae, ";
 $sql.="st_area(st_intersection(n.wkb_geometry,f.wkb_geometry)) AS schnittflae, ";
 $sql.="c.label, c.blabla ";
@@ -335,4 +349,5 @@
 	$bez=$row["bezeichnung"]; // weiterer Name (unverschl.)
 	$blabla=htmlentities($row["blabla"], ENT_QUOTES, "UTF-8");
+	$label=str_replace("/", "<br>", $label); // Ersetzen "/" durch Zeilenwechsel?
 
 	echo "\n<tr>\n\t";
@@ -404,8 +419,9 @@
 	$j++;
 }
+pg_free_result($res);
 // ENDE  N U T Z U N G
 
 echo "\n<tr>"; // Summenzeile
-	echo "\n\t<td class='ll' title='amtliche Fl&auml;che (Buchfl&auml;che))'>Fl&auml;che:</td>";
+	echo "\n\t<td class='ll' title='amtliche Fl&auml;che (Buchfl&auml;che)'>Fl&auml;che:</td>";
 	echo "\n\t<td class='fla'>";
 	echo "<span title='geometrisch berechnete Fl&auml;che = ".$fsgeomflaed."' class='flae'>".$fsbuchflaed."</span></td>";
@@ -683,12 +699,15 @@
 			$n = eigentuemer($con, $rowan["g_gml"], false, ""); // ohne Adresse
 		}
-		$an++;
+		$an++;	
 	}
+	pg_free_result($resan);
 	$bs++;
 }
+pg_free_result($resg);
 if ($bs == 0) {
 	echo "\n<p class='err'>Keine Buchungstelle gefunden.</p>";
 	linkgml($gkz, $gmlid, "Flurst&uuml;ck");
 }
+pg_close($con);
 ?>
 
@@ -696,7 +715,9 @@
 	<div class='buttonbereich noprint'>
 	<hr>
-		<input type='button' name='back'  value='&lt;&lt;' title='Zur&uuml;ck'  onClick='javascript:history.back()'>&nbsp;
-		<input type='button' name='print' value='Druck' title='Seite Drucken' onClick='window.print()'>&nbsp;
-		<input type='button' name='close' value='X' title='Fenster schlie&szlig;en' onClick='window.close()'>
+		<a title="zur&uuml;ck" href='javascript:history.back()'><img src="ico/zurueck.ico" width="16" height="16" alt="zur&uuml;ck" /></a>&nbsp;
+		<a title="Drucken" href='javascript:window.print()'><img src="ico/print.ico" width="16" height="16" alt="Drucken" /></a>&nbsp;
+		<a title="Export Flurst&uuml;cksdaten als CSV" href='javascript:ALKISexportFS()'><img src="ico/download_fs.ico" width="32" height="16" alt="Export" /></a>&nbsp;
+<!-- 	<a title="Export Grundbuchdaten als CSV" href='javascript:ALKISexportGB()'><img src="ico/download_gb.ico" width="32" height="16" alt="Export" /></a>&nbsp; -->
+<!--	<a title="Seite schlie&szlig;en" href="javascript:window.close()"><img src="ico/close.ico" width="16" height="16" alt="Ende" /></a>	-->
 	</div>
 </form>
Index: /trunk/var/www/info/alkis/alkisfsexp.php
===================================================================
--- /trunk/var/www/info/alkis/alkisfsexp.php	(revision 198)
+++ /trunk/var/www/info/alkis/alkisfsexp.php	(revision 198)
@@ -0,0 +1,144 @@
+<?php
+/*	Modul alkisfsexp.php
+	CSV-Export von Flurstuecks-Daten
+	2012-07-23 krz f.j.
+*/
+import_request_variables("G"); // gmlid
+header('Content-type: application/octet-stream');
+header('Content-Disposition: attachment; filename="alkis_flurstueck_'.$gmlid.'.csv"');
+require_once("alkis_conf_location.php");
+
+// CSV-Ausgabe
+echo "Gemarkung;FS-Kennzeichen;Flaeche;Adressen;Buchungsart;GB-Bezirk;GB-Blatt;LfdNr;Anteil";
+
+// Datenbank-Verbindung
+$con = pg_connect("host=".$dbhost." port=" .$dbport." dbname=".$dbname." user=".$dbuser." password=".$dbpass);
+if (!$con) {exit("Fehler beim Verbinden der DB");}
+pg_set_client_encoding($con, LATIN1); 
+
+// FlurstÃŒcksdaten
+$sql ="SELECT f.flurnummer, f.zaehler, f.nenner, f.gemeinde, f.amtlicheflaeche, g.gemarkungsnummer, g.bezeichnung ";
+$sql.="FROM ax_flurstueck f LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer ";
+$sql.="WHERE f.gml_id= $1";
+$v = array($gmlid);
+$res = pg_prepare("", $sql);
+$res = pg_execute("", $v);
+if (!$res) {exit("Fehler bei Flurstuecksdaten");}
+if ($row = pg_fetch_array($res)) {
+	$gemkname=$row["bezeichnung"];
+	$gmkgnr=$row["gemarkungsnummer"];
+	$flurnummer=$row["flurnummer"];
+	$flstnummer=$row["zaehler"];
+	$nenner=$row["nenner"];
+	if ($nenner > 0) {$flstnummer.="/".$nenner;} // BruchNr
+	$fsbuchflae=$row["amtlicheflaeche"]; // amtliche Fl. aus DB-Feld
+} else {exit ("Kein Treffer fuer gml_id=".$gmlid);}
+pg_free_result($res);
+
+// Lagebezeichnung Mit Hausnummer
+// Mehrere Lagebezeichnungen kommen in eine Zelle der Tabelle
+$sql ="SELECT DISTINCT s.bezeichnung, l.hausnummer FROM alkis_beziehungen v ";
+$sql.="JOIN ax_lagebezeichnungmithausnummer l ON v.beziehung_zu=l.gml_id ";
+$sql.="JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage = s.lage ";
+$sql.="WHERE v.beziehung_von= $1 AND v.beziehungsart='weistAuf' ";
+$sql.="ORDER BY s.bezeichnung, l.hausnummer;";
+$v=array($gmlid);
+$res=pg_prepare("", $sql);
+$res=pg_execute("", $v);
+if (!$res) {
+	echo "Fehler bei Lagebezeichnung mit Hausnummer\n";
+	echo $sql."\n";
+}
+$j=0;
+$lagehsnr=""; // mehrere ggf. in ein Feld
+while($row = pg_fetch_array($res)) {
+	if ($j > 0) {$lagehsnr.=", ";}
+	$sneu=$row["bezeichnung"];
+	if ($sneu == $salt) {
+		$lagehsnr.=$row["hausnummer"];
+	} else {
+		$lagehsnr.=$sneu." ".$row["hausnummer"];
+	}
+	$salt=$sneu;
+	$j++;
+}
+pg_free_result($res);
+
+$fskennz='"'.$gmkgnr.'-'.$flurnummer.'-'.$flstnummer.'"'; // in "" einschlieÃen, Excel macht sonst Datum daraus
+$csvfs="\n".$gemkname.";".$fskennz.";".$fsbuchflae.";".$lagehsnr.";"; // Buchung anhÃ€ngen
+// Ende linearer Teil (eine Zeile je FlurstÃŒck))
+
+// BUCHUNGSSTELLEN zum FS
+//  jede Buchung zu einem FS erzeugt eine neue FS-Zeile !!
+$sql ="SELECT s.gml_id, s.buchungsart, s.laufendenummer as lfd, s.zaehler, s.nenner, b.bezeichner AS bart ";
+$sql.="FROM alkis_beziehungen v "; // Bez Flurst.- Stelle.
+$sql.="JOIN ax_buchungsstelle s ON v.beziehung_zu=s.gml_id ";
+$sql.="LEFT JOIN ax_buchungsstelle_buchungsart b ON s.buchungsart = b.wert ";
+$sql.="WHERE v.beziehung_von= $1 AND v.beziehungsart= $2 ORDER BY s.laufendenummer;";
+$v = array($gmlid,'istGebucht');
+$ress = pg_prepare("", $sql);
+$ress = pg_execute("", $v);
+if (!$ress) {echo "\nKeine Buchungsstelle";}
+$bs=0; // Z.Buchungsstelle
+while($rows = pg_fetch_array($ress)) {
+	$gmls=$rows["gml_id"]; // gml b-Stelle	
+	$lfd=$rows["lfd"]; // BVNR
+
+	// BUCHUNGSBLATT zur Buchungsstelle
+	$sql ="SELECT b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung as blatt, b.blattart, z.bezeichnung ";
+	$sql.="FROM alkis_beziehungen v "; // Bez. Stelle - Blatt
+	$sql.="JOIN ax_buchungsblatt b ON v.beziehung_zu=b.gml_id ";
+	$sql.="LEFT JOIN ax_buchungsblattbezirk z ON z.land=b.land AND z.bezirk=b.bezirk ";
+	$sql.="WHERE v.beziehung_von= $1 AND v.beziehungsart= $2 ";
+	$sql.="ORDER BY b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung ;";
+	$v=array($gmls,'istBestandteilVon');
+	$resg=pg_prepare("", $sql);
+	$resg=pg_execute("", $v);
+	if (!$resg) {echo "\nKein Buchungsblatt";}
+	$bl=0;
+	while($rowg = pg_fetch_array($resg)) {
+		echo $csvfs.$rows["bart"].";".$rowg["bezeichnung"].";".$rowg["blatt"].";".$rows["lfd"].";";
+		if ($rowg["zaehler"] == "") {echo "1";}
+		else {
+			$zah=str_replace(".",",",$rowg["zaehler"]);
+			$nen=str_replace(".",",",$rowg["nenner"]);		
+			echo "=".$zah."/".$nen;
+		}	
+		$bl++;
+	}
+	pg_free_result($resg);
+	if ($bl == 0) {echo "\nKein Buchungsblatt gefunden.";}
+
+	// RECHT Stelle an Stelle - Kommentare siehe alkisfsnw.php
+	$sql ="SELECT s.laufendenummer as lfd, s.zaehler, s.nenner, ";
+	$sql.=" b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung as blatt, z.bezeichnung, a.bezeichner AS bart ";
+	$sql.="FROM alkis_beziehungen an ";
+	$sql.="JOIN ax_buchungsstelle s ON an.beziehung_von = s.gml_id ";
+	$sql.="JOIN alkis_beziehungen v ON s.gml_id = v.beziehung_von ";
+	$sql.="JOIN ax_buchungsblatt  b ON v.beziehung_zu = b.gml_id ";
+	$sql.="LEFT JOIN ax_buchungsblattbezirk z ON z.land = b.land AND z.bezirk = b.bezirk ";
+	$sql.="LEFT JOIN ax_buchungsstelle_buchungsart a ON s.buchungsart = a.wert ";
+	$sql.="WHERE an.beziehung_zu = $1 ";
+	$sql.="AND an.beziehungsart = 'an' ";
+	$sql.="AND v.beziehungsart = 'istBestandteilVon' ";
+	$sql.="ORDER BY b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung;";
+	$v = array($gmls);
+	$resan = pg_prepare("", $sql);
+	$resan = pg_execute("", $v);
+	if (!$resan) {echo "\nFehler bei weiteren Buchungsstellen";}
+	while($rowan = pg_fetch_array($resan)) {
+		echo $csvfs.$rowan["bart"].";".$rowan["bezeichnung"].";".$rowan["blatt"].";".$rowan["lfd"].";";
+		if ($rowan["zaehler"] == "") {echo "1";}
+		else {
+			$zah=str_replace(".",",",$rowan["zaehler"]);
+			$nen=str_replace(".",",",$rowan["nenner"]);		
+			echo "=".$zah."/".$nen;
+		}
+	}
+	pg_free_result($resan);
+	$bs++;
+}
+if ($bs == 0) {echo "\nKeine Buchungstelle gefunden.";}
+pg_close($con);
+exit(0);
+?>
Index: /trunk/var/www/info/alkis/alkisfsgbexp.php
===================================================================
--- /trunk/var/www/info/alkis/alkisfsgbexp.php	(revision 198)
+++ /trunk/var/www/info/alkis/alkisfsgbexp.php	(revision 198)
@@ -0,0 +1,150 @@
+<?php
+/*	Modul alkisfsgbexp.php
+	CSV-Export von Grundbuch-Daten zum Flurstueck
+	Es wird die GML-ID eines FlurstÃŒcks ÃŒbergeben (analog alkisfsexp.php)
+	Dazu sollen alle verbundenen GrundbÃŒcher gesucht werden.
+	Zu diesen sollen die EigentÃŒmerdaten exportiert werden (analog alkisbestexp.php)
+
++++ IN ARBEIT ++++  ZunÃ€chst Kopie von alkisfsexp.php
+	
+	2012-07-24 krz f.j.
+*/
+import_request_variables("G"); // gmlid
+header('Content-type: application/octet-stream');
+header('Content-Disposition: attachment; filename="alkis_flurstueck_'.$gmlid.'.csv"');
+require_once("alkis_conf_location.php");
+
+// CSV-Ausgabe
+echo "Gemarkung;FS-Kennzeichen;Flaeche;Adressen;Buchungsart;GB-Bezirk;GB-Blatt;LfdNr;Anteil";
+
+// Datenbank-Verbindung
+$con = pg_connect("host=".$dbhost." port=" .$dbport." dbname=".$dbname." user=".$dbuser." password=".$dbpass);
+if (!$con) {exit("Fehler beim Verbinden der DB");}
+pg_set_client_encoding($con, LATIN1); 
+
+// FlurstÃŒcksdaten
+$sql ="SELECT f.flurnummer, f.zaehler, f.nenner, f.gemeinde, f.amtlicheflaeche, g.gemarkungsnummer, g.bezeichnung ";
+$sql.="FROM ax_flurstueck f LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer ";
+$sql.="WHERE f.gml_id= $1";
+$v = array($gmlid);
+$res = pg_prepare("", $sql);
+$res = pg_execute("", $v);
+if (!$res) {exit("Fehler bei Flurstuecksdaten");}
+if ($row = pg_fetch_array($res)) {
+	$gemkname=$row["bezeichnung"];
+	$gmkgnr=$row["gemarkungsnummer"];
+	$flurnummer=$row["flurnummer"];
+	$flstnummer=$row["zaehler"];
+	$nenner=$row["nenner"];
+	if ($nenner > 0) {$flstnummer.="/".$nenner;} // BruchNr
+	$fsbuchflae=$row["amtlicheflaeche"]; // amtliche Fl. aus DB-Feld
+} else {exit ("Kein Treffer fuer gml_id=".$gmlid);}
+pg_free_result($res);
+
+// Lagebezeichnung Mit Hausnummer
+// Mehrere Lagebezeichnungen kommen in eine Zelle der Tabelle
+$sql ="SELECT DISTINCT s.bezeichnung, l.hausnummer FROM alkis_beziehungen v ";
+$sql.="JOIN ax_lagebezeichnungmithausnummer l ON v.beziehung_zu=l.gml_id ";
+$sql.="JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage = s.lage ";
+$sql.="WHERE v.beziehung_von= $1 AND v.beziehungsart='weistAuf' ";
+$sql.="ORDER BY s.bezeichnung, l.hausnummer;";
+$v=array($gmlid);
+$res=pg_prepare("", $sql);
+$res=pg_execute("", $v);
+if (!$res) {
+	echo "Fehler bei Lagebezeichnung mit Hausnummer\n";
+	echo $sql."\n";
+}
+$j=0;
+$lagehsnr=""; // mehrere ggf. in ein Feld
+while($row = pg_fetch_array($res)) {
+	if ($j > 0) {$lagehsnr.=", ";}
+	$sneu=$row["bezeichnung"];
+	if ($sneu == $salt) {
+		$lagehsnr.=$row["hausnummer"];
+	} else {
+		$lagehsnr.=$sneu." ".$row["hausnummer"];
+	}
+	$salt=$sneu;
+	$j++;
+}
+pg_free_result($res);
+
+$fskennz='"'.$gmkgnr.'-'.$flurnummer.'-'.$flstnummer.'"'; // in "" einschlieÃen, Excel macht sonst Datum daraus
+$csvfs="\n".$gemkname.";".$fskennz.";".$fsbuchflae.";".$lagehsnr.";"; // Buchung anhÃ€ngen
+// Ende linearer Teil (eine Zeile je FlurstÃŒck))
+
+// BUCHUNGSSTELLEN zum FS
+//  jede Buchung zu einem FS erzeugt eine neue FS-Zeile !!
+$sql ="SELECT s.gml_id, s.buchungsart, s.laufendenummer as lfd, s.zaehler, s.nenner, b.bezeichner AS bart ";
+$sql.="FROM alkis_beziehungen v "; // Bez Flurst.- Stelle.
+$sql.="JOIN ax_buchungsstelle s ON v.beziehung_zu=s.gml_id ";
+$sql.="LEFT JOIN ax_buchungsstelle_buchungsart b ON s.buchungsart = b.wert ";
+$sql.="WHERE v.beziehung_von= $1 AND v.beziehungsart= $2 ORDER BY s.laufendenummer;";
+$v = array($gmlid,'istGebucht');
+$ress = pg_prepare("", $sql);
+$ress = pg_execute("", $v);
+if (!$ress) {echo "\nKeine Buchungsstelle";}
+$bs=0; // Z.Buchungsstelle
+while($rows = pg_fetch_array($ress)) {
+	$gmls=$rows["gml_id"]; // gml b-Stelle	
+	$lfd=$rows["lfd"]; // BVNR
+
+	// BUCHUNGSBLATT zur Buchungsstelle
+	$sql ="SELECT b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung as blatt, b.blattart, z.bezeichnung ";
+	$sql.="FROM alkis_beziehungen v "; // Bez. Stelle - Blatt
+	$sql.="JOIN ax_buchungsblatt b ON v.beziehung_zu=b.gml_id ";
+	$sql.="LEFT JOIN ax_buchungsblattbezirk z ON z.land=b.land AND z.bezirk=b.bezirk ";
+	$sql.="WHERE v.beziehung_von= $1 AND v.beziehungsart= $2 ";
+	$sql.="ORDER BY b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung ;";
+	$v=array($gmls,'istBestandteilVon');
+	$resg=pg_prepare("", $sql);
+	$resg=pg_execute("", $v);
+	if (!$resg) {echo "\nKein Buchungsblatt";}
+	$bl=0;
+	while($rowg = pg_fetch_array($resg)) {
+		echo $csvfs.$rows["bart"].";".$rowg["bezeichnung"].";".$rowg["blatt"].";".$rows["lfd"].";";
+		if ($rowg["zaehler"] == "") {echo "1";}
+		else {
+			$zah=str_replace(".",",",$rowg["zaehler"]);
+			$nen=str_replace(".",",",$rowg["nenner"]);		
+			echo "=".$zah."/".$nen;
+		}	
+		$bl++;
+	}
+	pg_free_result($resg);
+	if ($bl == 0) {echo "\nKein Buchungsblatt gefunden.";}
+
+	// RECHT Stelle an Stelle - Kommentare siehe alkisfsnw.php
+	$sql ="SELECT s.laufendenummer as lfd, s.zaehler, s.nenner, ";
+	$sql.=" b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung as blatt, z.bezeichnung, a.bezeichner AS bart ";
+	$sql.="FROM alkis_beziehungen an ";
+	$sql.="JOIN ax_buchungsstelle s ON an.beziehung_von = s.gml_id ";
+	$sql.="JOIN alkis_beziehungen v ON s.gml_id = v.beziehung_von ";
+	$sql.="JOIN ax_buchungsblatt  b ON v.beziehung_zu = b.gml_id ";
+	$sql.="LEFT JOIN ax_buchungsblattbezirk z ON z.land = b.land AND z.bezirk = b.bezirk ";
+	$sql.="LEFT JOIN ax_buchungsstelle_buchungsart a ON s.buchungsart = a.wert ";
+	$sql.="WHERE an.beziehung_zu = $1 ";
+	$sql.="AND an.beziehungsart = 'an' ";
+	$sql.="AND v.beziehungsart = 'istBestandteilVon' ";
+	$sql.="ORDER BY b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung;";
+	$v = array($gmls);
+	$resan = pg_prepare("", $sql);
+	$resan = pg_execute("", $v);
+	if (!$resan) {echo "\nFehler bei weiteren Buchungsstellen";}
+	while($rowan = pg_fetch_array($resan)) {
+		echo $csvfs.$rowan["bart"].";".$rowan["bezeichnung"].";".$rowan["blatt"].";".$rowan["lfd"].";";
+		if ($rowan["zaehler"] == "") {echo "1";}
+		else {
+			$zah=str_replace(".",",",$rowan["zaehler"]);
+			$nen=str_replace(".",",",$rowan["nenner"]);		
+			echo "=".$zah."/".$nen;
+		}
+	}
+	pg_free_result($resan);
+	$bs++;
+}
+if ($bs == 0) {echo "\nKeine Buchungstelle gefunden.";}
+pg_close($con);
+exit(0);
+?>
Index: /trunk/var/www/info/alkis/alkisgbfsexp.php
===================================================================
--- /trunk/var/www/info/alkis/alkisgbfsexp.php	(revision 198)
+++ /trunk/var/www/info/alkis/alkisgbfsexp.php	(revision 198)
@@ -0,0 +1,55 @@
+<?php
+/*	Modul alkisfsexp.php
+	CSV-Export von Flurstücksdaten zu einem Grundbuch-Blatt
+	2012-07-24 krz f.j.
+	
+++++ IN ARBEIT ++++   Zunächst Kopie von alkisgbexp.php
+
+	Es wird die gml_id eines Bestandes übergeben (analog alkisgbexp.php).
+	Dazu alle darauf gebuchten FS ermitteln.
+	Dazu dann alle FS-DFaten ausgeben (analog alkisfsexp.php).	
+
+*/
+
+
+import_request_variables("G"); // gmlid
+
+header('Content-type: application/octet-stream');
+header('Content-Disposition: attachment; filename="alkis_grundbuch_'.$gmlid.'.csv"');
+
+require_once("alkis_conf_location.php");
+
+// Datenbank-Verbindung
+$con = pg_connect("host=".$dbhost." port=" .$dbport." dbname=".$dbname." user=".$dbuser." password=".$dbpass);
+if (!$con) {exit("Fehler beim Verbinden der DB");}
+pg_set_client_encoding($con, LATIN1); 
+
+// Brundbuch-Blatt
+$sql ="SELECT g.buchungsblattnummermitbuchstabenerweiterung AS nr, g.blattart, "; // GB-Blatt
+$sql.=" b.bezirk, b.bezeichnung AS beznam, "; // Bezirk
+$sql.=" a.land, a.bezeichnung "; // Amtsgericht
+$sql.="FROM ax_buchungsblatt g ";
+$sql.="LEFT JOIN ax_buchungsblattbezirk b ON g.land=b.land AND g.bezirk=b.bezirk ";  // BBZ
+$sql.="LEFT JOIN ax_dienststelle a ON b.land = a.land AND b.stelle = a.stelle ";
+$sql.="WHERE g.gml_id= $1 AND a.stellenart=1000;"; // Amtsgericht
+$v = array($gmlid);
+$res = pg_prepare("", $sql);
+$res = pg_execute("", $v);
+if (!$res) {exit("Fehler bei Grundbuchdaten");}
+if ($row = pg_fetch_array($res)) {
+	$agland=$row["land"]; // Amtsgericht	
+	$agbez=$row["bezeichnung"];
+	$bezirk=$row["bezirk"]; // Bezirk
+	$beznam=$row["beznam"];
+	$blattnr=$row["nr"]; // Blatt
+	$blattart=$row["blattart"];
+} else {
+	exit("Kein Treffer fuer gml_id=".$gmlid);
+}
+//if ($blattkey == 5000) { // fikt. Blatt Keine Angaben zum Eigentum
+
+// CSV-Ausgabe
+echo "Land;Amtsgericht;Bezirk;Bezirksname;Blatt;Blattart";
+echo "\n".$agland.";".$agbez.";".$bezirk.";".$beznam.";".$blattnr.";".$blattart;
+exit();
+?>
Index: /trunk/var/www/info/alkis/alkisfshist.php
===================================================================
--- /trunk/var/www/info/alkis/alkisfshist.php	(revision 197)
+++ /trunk/var/www/info/alkis/alkisfshist.php	(revision 198)
@@ -4,9 +4,9 @@
 	ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo).
 	FlurstÃŒcks-Historie fuer ein FlurstÃŒckskennzeichen aus ALKIS PostNAS
-
 	Version:
 	2011-11-16 Zum aktuellen FS die VorgÃ€nger suchen
 	2011-11-17 Parameter der Functions geÃ€ndert
 	2011-11-30 import_request_variables
+	2012-11-27 Function split deprecated: explode
 */
 
@@ -33,5 +33,6 @@
 	} else {
 		$stri=trim($dbarr, "{}");
-		$arr = split(",",$stri);
+		//$arr = split(",",$stri);
+		$arr = explode(",",$stri);
 		foreach($arr AS $val){
 		   echo "Flurst&uuml;ck <a title=' zur Flurst&uuml;ck Historie' href='".$_SERVER['PHP_SELF']."?gkz=".$gkz."&amp;fskennz=".$val;
@@ -118,5 +119,5 @@
 <html>
 <head>
-	<meta name="author" content="F. Jaeger krz" >
+	<meta name="author" content="b600352" >
 	<meta http-equiv="cache-control" content="no-cache">
 	<meta http-equiv="pragma" content="no-cache">
@@ -181,5 +182,6 @@
 		$flae=number_format($rowu["amtlicheflaeche"],0,",",".") . " m&#178;";
 		$name=$rowu["name"]; // in DB ein Array
-		$arrn = split(",", trim($name, "{}") ); // PHP-Array
+	//	$arrn=split(",", trim($name, "{}") ); // split ist deprecated!
+		$arrn=explode(",", trim($name, "{}") ); // PHP-Array 
 		$gemkname= gemkg_name($gmkgnr);
 		$entsteh=$rowu["zeitpunktderentstehung"];
@@ -310,7 +312,8 @@
 	<div class='buttonbereich noprint'>
 	<hr>
-		<input type='button' name='back'  value='&lt;&lt;' title='Zur&uuml;ck'  onClick='javascript:history.back()'>&nbsp;
-		<input type='button' name='print' value='Druck' title='Seite Drucken' onClick='window.print()'>&nbsp;
-		<input type='button' name='close' value='X' title='Fenster schlie&szlig;en' onClick='window.close()'>
+		<a title="zur&uuml;ck" href='javascript:history.back()'><img src="ico/zurueck.ico" width="16" height="16" alt="zur&uuml;ck" /></a>&nbsp;
+		<a title="Drucken" href='javascript:window.print()'><img src="ico/print.ico" width="16" height="16" alt="Drucken" /></a>&nbsp;
+<!--	<a title="Export als CSV" href='javascript:ALKISexport()'><img src="ico/download.ico" width="16" height="16" alt="Export" /></a>&nbsp;
+		<a title="Seite schlie&szlig;en" href="javascript:window.close()"><img src="ico/close.ico" width="16" height="16" alt="Ende" /></a>	-->
 	</div>
 </form>
Index: /trunk/var/www/info/alkis/alkishaus.php
===================================================================
--- /trunk/var/www/info/alkis/alkishaus.php	(revision 197)
+++ /trunk/var/www/info/alkis/alkishaus.php	(revision 198)
@@ -28,5 +28,5 @@
 <html>
 <head>
-	<meta name="author" content="F. Jaeger krz" >
+	<meta name="author" content="b600352" >
 	<meta http-equiv="cache-control" content="no-cache">
 	<meta http-equiv="pragma" content="no-cache">
@@ -350,7 +350,8 @@
 	<div class='buttonbereich noprint'>
 	<hr>
-		<input type='button' name='back'  value='&lt;&lt;' title='Zur&uuml;ck'  onClick='javascript:history.back()'>&nbsp;
-		<input type='button' name='print' value='Druck' title='Seite Drucken' onClick='window.print()'>&nbsp;
-		<input type='button' name='close' value='X' title='Fenster schlie&szlig;en' onClick='window.close()'>
+		<a title="zur&uuml;ck" href='javascript:history.back()'><img src="ico/zurueck.ico" width="16" height="16" alt="zur&uuml;ck" /></a>&nbsp;
+		<a title="Drucken" href='javascript:window.print()'><img src="ico/print.ico" width="16" height="16" alt="Drucken" /></a>&nbsp;
+<!--	<a title="Export als CSV" href='javascript:ALKISexport()'><img src="ico/download.ico" width="16" height="16" alt="Export" /></a>&nbsp;
+		<a title="Seite schlie&szlig;en" href="javascript:window.close()"><img src="ico/close.ico" width="16" height="16" alt="Ende" /></a>	-->
 	</div>
 </form>
