Changeset 387 for trunk


Ignore:
Timestamp:
06/08/17 16:15:04 (7 years ago)
Author:
frank.jaeger
Message:

Überarbeitung der Buchauskunft: FS-Nachweis enthält optional die berechtigten Buchungen, Input-Validation, Styling, kleinere Korrekturen, HTML-Profilierung

Location:
trunk/info/info/alkisn
Files:
15 edited

Legend:

Unmodified
Added
Removed
  • trunk/info/info/alkisn/alkisausk.php

    r377 r387  
    1212        2016-02-24 Version fuer norGIS-ALKIS-Import 
    1313        2016-11-29 HTML5, Gemeinsam genutzte Datenbanken ermöglichen (Berechtigung fÃŒr Gemeinde prÃŒfen) 
    14         Hinweis: Dies Modul wird beim Entwickler nicht mehr produktiv eingesetzt. 
    15                 Statt dessen wird "alkisinlayauk.php" verwendet um von einer WMS-FeatureInfo in ein Fenster ÃŒberzuleiten. 
     14 
     15        H i n w e i s :  Dies Modul wird beim Entwickler nicht mehr produktiv eingesetzt. 
     16                Statt dessen wird "alkisinlayausk.php" verwendet um von einer WMS-FeatureInfo in ein Fenster ÃŒberzuleiten. 
    1617                Mangels Praxis bleiben Fehler möglicherweise unerkannt. 
    1718*/ 
    1819session_start(); 
    1920$cntget = extract($_GET); 
     21 
    2022require_once("alkis_conf_location.php"); 
    2123if ($auth == "mapbender") {require_once($mapbender);} 
     
    3133        <link rel="shortcut icon" type="image/x-icon" href="ico/Flurstueck.ico"> 
    3234        <title>ALKIS-Auskunft</title> 
    33         <style type='text/css' media='print'> 
    34                 .noprint { visibility: hidden;} 
    35         </style> 
    3635</head> 
    3736<body> 
     
    4948$res = pg_execute("", $v); 
    5049if (!$res) { 
    51         echo "\n<p class='err'>Fehler bei Flurstuecksdaten.</p>\n"; 
    52         if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";} 
     50        echo "\n<p class='err'>Fehler bei Flurstuecksdaten.</p>"; 
     51        if ($debug > 2) {echo "\n<p class='err'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";} 
    5352} 
    5453 
     
    6665        $fsgem=$row["gemeinde"]; 
    6766} else { 
    68         echo "<p class='err'>Kein Treffer fuer gml_id=".$gmlid."</p>"; 
     67        echo "\n<p class='err'>Kein Treffer fuer gml_id=".$gmlid."</p>"; 
    6968} 
    7069 
     
    7776        // Einer der gesetzten Filter passt nicht 
    7877        if ($debug > 2) { 
    79                 echo "<p class='err'>Filter Kreis='".$filtkreis."', Gemeinde='".$filtgem."'</p>"; 
    80                 echo "<p class='err'>Flstk. Kreis='".$fskrs."', Gemeinde='".$fsgem."'</p>"; 
     78                echo "\n<p class='err'>Filter Kreis='".$filtkreis."', Gemeinde='".$filtgem."'</p>"; 
     79                echo "\n<p class='err'>Flstk. Kreis='".$fskrs."', Gemeinde='".$fsgem."'</p>"; 
    8180        } 
    8281        echo "\n<br><p class='stop1'>Zugriff nicht erlaubt</p> 
     
    146145$res = pg_execute("", $v); 
    147146if (!$res) { 
    148         echo "<p class='err'>Fehler bei Lagebezeichnung mit Hausnummer.</p>"; 
    149         if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";} 
     147        echo "\n<p class='err'>Fehler bei Lagebezeichnung mit Hausnummer.</p>"; 
     148        if ($debug > 2) {echo "\n<p class='err'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";} 
    150149} 
    151150$j=0; 
     
    163162        $j++; 
    164163} 
    165 echo "\n</tr>\n</table>\n"; 
     164echo "\n</tr>\n</table>"; 
    166165 
    167166// Flurstuecksflaeche 
    168 echo "\n<p class='fsd'>Flurst&uuml;cksfl&auml;che: <b>".$flae."</b></p>\n"; 
     167echo "\n<p class='fsd'>Flurst&uuml;cksfl&auml;che: <b>".$flae."</b></p>"; 
    169168 
    170169// *** G R U N D B U C H *** 
     
    186185$resg = pg_execute("", $v); 
    187186if (!$resg) { 
    188         echo "\n<p class='err'>Keine Buchungen.</p>\n"; 
    189         if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";} 
     187        echo "\n<p class='err'>Keine Buchungen.</p>"; 
     188        if ($debug > 2) {echo "\n<p class='err'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";} 
    190189} 
    191190 
     
    235234        if ($blattkey == 5000) { // SchlÃŒssel Blatt-Art 
    236235                echo "\n<p>Keine Angaben zum Eigentum bei fiktivem Blatt</p>\n" 
    237                 ."\n<p>Siehe weitere Grundbuchbl&auml;tter mit Rechten an dem fiktiven Blatt.</p>\n"; 
     236                ."\n<p>Siehe weitere Grundbuchbl&auml;tter mit Rechten an dem fiktiven Blatt.</p>"; 
    238237        } else { // kein Eigent. bei fiktiv. Blatt 
    239                 echo "\n<h3><img src='ico/Eigentuemer_2.png' width='16' height='16' alt=''> Angaben zum Eigentum</h3>\n"; 
     238                echo "\n<h3><img src='ico/Eigentuemer_2.png' width='16' height='16' alt=''> Angaben zum Eigentum</h3>"; 
    240239 
    241240                // Ausgabe Name in Function 
    242                 $n = eigentuemer($con, $rowg["gml_id"], false, "imFenster"); // ohne Adressen 
     241                $n = eigentuemer($rowg["gml_id"], false, "imFenster"); // ohne Adressen 
    243242 
    244243                if ($n == 0) { // keine NamNum, kein Eigent. 
  • trunk/info/info/alkisn/alkisauszug.css

    r377 r387  
    1515        2016-02-24      Umstellung norBIT-Struktur 
    1616        2016-12-01      Stop-Meldung bei BerechtigungsprÃŒfung, Sortierspalten 
     17        2017-06-08      Tab-Zeilen-Farbe wechseln, Spaltenbreite td.flag, media screen 
    1718*/ 
    18 body    {background-color: #FDFFFD;} 
     19body    {background-color: #FEFFFE;} 
    1920p, body {font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; 
    2021        font-size: 10pt; color: #000033; margin-top: 2pt; margin-bottom: 2pt;} 
    2122 
    22 /* ** Banner im Kopf (farbiger Balken), Farbcode fuer Nachweis-Art ** */ 
    23 p.fsausk,p.fskennz,p.fsei,p.fshis,p.gbkennz,p.nakennz,p.geb,p.lage,p.strasse,p.recht {text-align: right;} 
     23/* Banner im Kopf (farbiger Balken), Farbcode fuer Nachweis-Art (gleiche Farbe wie Rahmen um das Kennzeichen) */ 
     24p.fsausk,p.fskennz,p.fsei,p.fshis,p.gbkennz,p.nakennz,p.geb,p.lage,p.strasse,p.recht {text-align: right; padding-top: 4px; padding-bottom: 4px; padding-right: 24px;} 
     25 
    2426p.fsausk        {background-color: teal; color: silver;}        /* Uebersichts-Seite Flurstuecks-Auskunft */ 
    25 p.fskennz,p.fsei{background-color: navy; color: silver;}        /* Flurstuecks-Nachweis */ 
     27p.fskennz,p.fsei{background-color: navy; color: silver;} /* Flurstuecks-Nachweis */ 
    2628p.fshis         {background-color: gray; color: white;}         /* Flurstuecks-Historie */ 
    2729p.gbkennz       {background-color: green; color: silver;}       /* Bestandsnachweis */ 
     
    5456a:hover         {color: rgb(255,40,40);} 
    5557 
    56 /* Globaler Identifikator gml_id - Link fuer Entwicklung */ 
    57 a.gmlid         {text-decoration: none; color: silver; font-style: italic; font-size: 7pt; text-align: right;} 
    58 span.gmlid      {font-style: italic; font-size: 7pt; text-align: right;} 
     58/* Konfiguration */ 
     59a.keyswitch {text-decoration: none; color: grey; font-style: italic; font-size: 7pt; text-align: right;} 
    5960 
    6061/* komplette Adresse im Rahmen */ 
     
    9394 
    9495td.fla  {width: 110px; padding-right: 4px; text-align: right;} /* Flaechen rechtsbuendig (stellengerecht) */ 
     96td.flag {min-width: 110px; padding-right: 4px; text-align: right;} /* .. im GB-Bestandsnachweis erweiterbar */ 
    9597td.fsnr {padding-right: 4px; text-align: right;} /* Flst.-Nr. rechtsbuendig */ 
    9698td.key  {width:  35px; padding-right: 4px; padding-left: 4px;} 
     
    115117td.nhd  {width: 150px;}                 /* Namen - linke / rechte Spalte */ 
    116118td.nam  {font-weight: bold;} 
    117 td.gbl  {border-bottom: 1px dotted green;}      /* Name: GB-Liste */ 
     119/* td.gbl       {border-bottom: 1px dotted green;}      Name: GB-Liste */ 
    118120/* Inlay analog WMS-Feature-Info Template: linke Tabellenspalte - Feldname */ 
    119121td.li, td.gr {color:gray; padding-left: 8px; padding-right:8px; border-bottom: 0px; vertical-align:top;} 
     
    126128td.gtl {color: rgb(140,140,100);}       /* GebÀude teilweise auf FS */ 
    127129td.gan {color: rgb(210,170,170);}       /* GebÀude angrenzend an FS*/ 
     130 
     131/* Farbwechsel je Zeile pair/unpair */ 
     132tr.paa {background-color: rgb(248,245,245);} 
     133tr.unp {background-color: rgb(252,255,252);} 
    128134 
    129135/* Ueberschriften */ 
     
    147153/* Seitenfuss */ 
    148154.buttonbereich  {font-size: 7pt; text-align: right;} 
    149 .confbereich    {font-size: 7pt; background-color: #EFFDFF; width: 88%; position: relative; left: 40px;} 
     155.confbereich    {font-size: 7pt; background-color: #F2F2F2; width: 65%; position: relative; left: 50px; border-radius: 12px; padding-right: 26px; margin-top: 20px;} 
    150156 
    151 /* abweichender Druck */ 
     157/* Nur am Bildschirm: */ 
     158@media screen { 
     159        /* gefÃŒllten farbiger Balken abrunden */ 
     160        p.fsausk,p.fskennz,p.fsei,p.fshis,p.gbkennz,p.nakennz,p.geb,p.lage,p.strasse,p.recht { border-radius: 8px; } 
     161        .onlyprint {visibility: hidden;} 
     162} 
     163 
     164/* Abweichende Darstellung im Druck. 
     165Generell keine "Bedienelemente" mit drucken, also Links zu anderen Nachweisen oder optionale Umschalter fÃŒr den Umfang der Anzeige. 
     166Dies wird durch class='noprint' gesteuert.  
     167Große farbige FlÀchen vermeiden, z.B. durch Rahmen ersetzen. */ 
    152168@media print { 
    153         body {width: 98%; background-color:white;} 
     169        body    {background-color: white;} /* width: 98%; */ 
     170        .noprint {visibility: hidden;} 
    154171 
    155         /* Balken im Druck */ 
    156         p.fskennz,p.fsei,p.fshis,p.gbkennz,p.nakennz,p.geb,p.lage,p.strasse,p.recht{text-align: right; color: black;} 
     172        /* Balken im Druck (auf weißem Hintergrund) mit schwarzer Schrift */ 
     173        p.fskennz,p.fsei,p.fshis,p.gbkennz,p.nakennz,p.geb,p.lage,p.strasse,p.recht{color: black;} 
     174 
    157175        p.fskennz,p.fsei{border-bottom: 2px solid navy; border-top: 2px solid navy;} 
    158176        p.fshis         {border-bottom: 2px solid gray; border-top: 2px solid gray;} 
  • trunk/info/info/alkisn/alkisbaurecht.php

    r377 r387  
    66        2016-02-24 Version fuer norGIS-ALKIS-Import 
    77        2016-11-29 HTML5, Gemeinsam genutzte Datenbanken ermöglichen 
     8        2017-06-08 Validierung Eingabeparameter, Feinkorrekturen 
    89*/ 
    910session_start(); 
    10 $cntget = extract($_GET); 
     11 
     12$showkey="n"; // Var. aus Parameter initalisieren 
     13$cntget = extract($_GET); // Parameter in Variable umwandeln 
     14 
     15// strikte Validierung aller Parameter 
     16if (!isset($gmlid) or !preg_match('#^[0-9A-Za-z]{16}$#', $gmlid)) {die("Eingabefehler gmlid");} 
     17if (!isset($gkz) or !preg_match('#^[0-9]{3}$#', $gkz)) {die("Eingabefehler gkz");} 
     18if (!preg_match('#^[j|n]{0,1}$#', $showkey)) {die ("Eingabefehler showkey");} 
     19if ($showkey == "j") {$showkey=true;} else {$showkey=false;} 
     20 
    1121require_once("alkis_conf_location.php"); 
    1222if ($auth == "mapbender") {require_once($mapbender);} 
    1323include("alkisfkt.php"); // f. Footer 
    14 $keys = isset($_GET["showkey"]) ? $_GET["showkey"] : "n"; 
    15 if ($keys == "j") {$showkey=true;} else {$showkey=false;} 
    1624echo <<<END 
    1725<!doctype html> 
     
    1927<head> 
    2028        <meta charset="utf-8"> 
     29        <meta name="viewport" content="width=device-width, initial-scale=1.0"> 
    2130        <title>ALKIS Bau-, Raum- oder Bodenordnungsrecht</title> 
    2231        <link rel="stylesheet" type="text/css" href="alkisauszug.css"> 
     
    2837 
    2938$con = pg_connect($dbconn." options='--application_name=ALKIS-Auskunft_alkisbaurecht.php'"); 
    30 if (!$con) echo "<p class='err'>Fehler beim Verbinden der DB</p>\n"; 
     39if (!$con) echo "\n<p class='err'>Fehler beim Verbinden der DB</p>"; 
    3140 
    3241// Spalte "a.d" ist immer leer 
     
    4352$res = pg_execute("", $v); 
    4453if (!$res) { 
    45         echo "\n<p class='err'>Fehler bei Baurecht.</p>\n"; 
    46         if ($debug > 2) {echo "\n<p class='err'>SQL=<br>".$sql."<br>$1 = ".$gmlid."</p>\n";} 
     54        echo "\n<p class='err'>Fehler bei Baurecht.</p>"; 
     55        if ($debug > 2) {echo "\n<p class='err'>SQL=<br>".htmlentities($sql, ENT_QUOTES, "UTF-8")."<br>$1 = ".$gmlid."</p>";} 
    4756} 
    4857if ($row = pg_fetch_array($res)) { 
     
    5463 
    5564        // Balken 
    56         echo "<p class='recht'>ALKIS Bau-, Raum- oder Bodenordnungsrecht ".$artfest."-".$verfnr."&nbsp;</p>\n"; 
     65        echo "<p class='recht'>ALKIS Bau-, Raum- oder Bodenordnungsrecht ".$artfest."-".$verfnr."&nbsp;</p>"; 
    5766 
    58         echo "\n<h2><img src='ico/Gericht.png' width='16' height='16' alt=''> Bau-, Raum- oder Bodenordnungsrecht</h2>\n"; 
     67        echo "\n<h2><img src='ico/Gericht.png' width='16' height='16' alt=''> Bau-, Raum- oder Bodenordnungsrecht</h2>"; 
    5968 
    6069        echo "\n<table>" 
     
    125134$res=pg_execute("", $v); 
    126135if (!$res) { 
    127         echo "\n<p class='err'>Keine Flurst&uuml;cke ermittelt.<br>\nSQL=<br></p>\n"; 
    128 //      if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = ".$gmlid."</p>\n";} 
     136        echo "\n<p class='err'>Keine Flurst&uuml;cke ermittelt.<br>\nSQL=<br></p>"; 
     137//      if ($debug > 2) {echo "\n<p class='err'>SQL=<br>".htmlentities($sql, ENT_QUOTES, "UTF-8")."<br>$1 = ".$gmlid."</p>";} 
    129138} 
    130139 
     
    159168if ($fscnt == 0) { // nicht gefunden 
    160169        if ($filtgem == '' ) { // ungefiltert 
    161                 echo "<p class='err'>Kein Flurst&uuml;ck gefunden.</p>"; 
     170                echo "\n<p class='err'>Kein Flurst&uuml;ck gefunden.</p>"; 
    162171        } else { // Wahrscheinliche Ursache = Filter 
    163                 echo "<p class='err'>Kein Flurst&uuml;ck im berechtigten Bereich.</p>"; 
    164         //      if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = ".$gmlid." $2 = ".$filtkreis." $3 = ".$filtgem."</p>\n";} 
     172                echo "\n<p class='err'>Kein Flurst&uuml;ck im berechtigten Bereich.</p>"; 
     173        //      if ($debug > 2) {echo "\n<p class='err'>SQL=<br>".htmlentities($sql, ENT_QUOTES, "UTF-8")."<br>$1 = ".$gmlid." $2 = ".$filtkreis." $3 = ".$filtgem."</p>";} 
    165174        } 
    166175} elseif ($fscnt == 50) { 
  • trunk/info/info/alkisn/alkisbestnw.php

    r377 r387  
    88        2016-02-24 Version fuer norGIS-ALKIS-Import 
    99        2016-11-29 HTML5, Gemeinsam genutzte Datenbanken ermöglichen, Markierung der Sortierung 
     10        2017-06-01 Function "eigentuemer" ohne Parameter $con 
     11        2017-06-08 Validierung Eingabeparameter, Farbwechsel der Tabelle je GrundstÃŒck, Feinschliff und HTML-Profilierung 
    1012*/ 
    1113session_start(); 
    12 $id="n"; 
    13 $cntget = extract($_GET); 
     14 
     15$showkey="n"; // Var. initalisieren 
     16$cntget = extract($_GET); // Parameter in Variable umwandeln 
     17 
     18// strikte Validierung aller Parameter 
     19if (!isset($gmlid) or !preg_match('#^[0-9A-Za-z]{16}$#', $gmlid)) {die("Eingabefehler gmlid");} 
     20if (!isset($gkz) or !preg_match('#^[0-9]{3}$#', $gkz)) {die("Eingabefehler gkz");} 
     21if (!preg_match('#^[j|n]{0,1}$#', $showkey)) {die ("Eingabefehler showkey");} 
     22if ($showkey == "j") {$showkey=true;} else {$showkey=false;} 
     23 
    1424require_once("alkis_conf_location.php"); 
    1525if ($auth == "mapbender") {require_once($mapbender);} 
    1626include("alkisfkt.php"); 
    17 $keys = isset($_GET["showkey"]) ? $_GET["showkey"] : "n"; 
    18 if ($keys == "j") {$showkey=true;} else {$showkey=false;} 
    1927?> 
    2028<!doctype html> 
     
    2230<head> 
    2331        <meta charset="utf-8"> 
     32        <meta name="viewport" content="width=device-width, initial-scale=1.0"> 
    2433        <title>ALKIS Bestandsnachweis</title> 
    2534        <link rel="stylesheet" type="text/css" href="alkisauszug.css"> 
     
    3039                } 
    3140        </script> 
    32         <style type='text/css' media='print'> 
    33                 .noprint {visibility: hidden;} 
    34         </style> 
    3541</head> 
    3642<body> 
    3743<?php 
    3844$con = pg_connect($dbconn." options='--application_name=ALKIS-Auskunft_alkisbestnw.php'"); 
    39 if (!$con) echo "<p class='err'>Fehler beim Verbinden der DB</p>\n"; 
     45if (!$con) echo "\n<p class='err'>Fehler beim Verbinden der DB</p>"; 
    4046 
    4147// G R U N D B U C H 
     
    5460$res = pg_execute("", $v); 
    5561if (!$res) { 
    56         echo "<p class='err'>Fehler bei Grundbuchdaten.</p>"; 
    57         if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";} 
     62        echo "\n<p class='err'>Fehler bei Grundbuchdaten.</p>"; 
     63        if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".htmlentities($sql, ENT_QUOTES, "UTF-8")."<br>$1 = gml_id = '".$gmlid."'</p>";} 
    5864} 
    5965if ($row = pg_fetch_array($res)) { 
     
    6167        $blattart=$row["blattartv"]; 
    6268 
    63         echo "<p class='gbkennz'>ALKIS Bestand ".$row["bezirk"]." - ".$row["nr"]."&nbsp;</p>\n"; // Balken 
     69        echo "<p class='gbkennz'>ALKIS Bestand ".$row["bezirk"]." - ".$row["nr"]."&nbsp;</p>"; // Balken 
    6470        echo "\n<h2><img src='ico/Grundbuch.png' width='16' height='16' alt=''> Grundbuch</h2>" 
    6571        ."\n<table class='outer'>\n<tr>\n\t<td>"; // Kennz. im Rahmen 
    6672                if ($blattkey == 1000) { 
    67                         echo "\n\t<table class='kennzgb' title='Bestandskennzeichen'>"; 
     73                        echo "\n\t\t<table class='kennzgb' title='Bestandskennzeichen'>"; 
    6874                } else { 
    69                         echo "\n\t<table class='kennzgbf' title='Bestandskennzeichen'>"; // dotted 
     75                        echo "\n\t\t<table class='kennzgbf' title='Bestandskennzeichen'>"; // dotted 
    7076                } 
    71                         echo "\n\t<tr>" 
    72                                 ."\n\t\t<td class='head'>"; // .d nicht gefÃŒllt 
     77                        echo "\n\t\t<tr>" 
     78                                ."\n\t\t\t<td class='head'>"; // .d nicht gefÃŒllt 
    7379                                if ($showkey) {echo "<span class='key'>".$row["stellenart"]."&nbsp;</span>";} 
    7480                                echo $row["stellev"]."</td>"; 
    75                                 echo "\n\t\t<td class='head'>Bezirk</td>" 
    76                                 ."\n\t\t<td class='head' title='".htmlentities($row["blattartd"], ENT_QUOTES, "UTF-8")."'>"; 
     81                                echo "\n\t\t\t<td class='head'>Bezirk</td>" 
     82                                ."\n\t\t\t<td class='head' title='".htmlentities($row["blattartd"], ENT_QUOTES, "UTF-8")."'>"; 
    7783                                if ($showkey) {echo "<span class='key'>".$blattkey."&nbsp;</span>";} 
    7884                                echo $blattart."</td>" 
    79                         ."\n\t</tr>\n\t<tr>" 
    80                                 ."\n\t\t<td title='Amtsgerichtsbezirk'>"; 
     85                        ."\n\t\t</tr>\n\t\t<tr>" 
     86                                ."\n\t\t\t<td title='Amtsgerichtsbezirk'>"; 
    8187                                if ($showkey) {echo "<span class='key'>".$row["stelle"]."</span><br>";} 
    8288                                echo htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8")."</td>" 
    83                                 ."\n\t\t<td title='Grundbuchbezirk'>"; 
     89                                ."\n\t\t\t<td title='Grundbuchbezirk'>"; 
    8490                                if ($showkey) {echo "<span class='key'>".$row["bezirk"]."</span><br>";} 
    8591                                echo htmlentities($row["beznam"], ENT_QUOTES, "UTF-8")."</td>" 
    86                                 ."\n\t\t<td title='Grundbuch-Blatt'><span class='wichtig'>".$row["nr"]."</span></td>" 
    87                         ."\n\t</tr>" 
    88                 ."\n\t</table>" 
    89                 ."\n\n\t</td>\n\t<td>" 
     92                                ."\n\t\t\t<td title='Grundbuch-Blatt'><span class='wichtig'>".$row["nr"]."</span></td>" 
     93                        ."\n\t\t</tr>" 
     94                ."\n\t\t</table>" 
     95                ."\n\t</td>\n\t<td>&nbsp;" 
    9096        ."\n\t</td>\n</tr>\n</table>"; 
    9197} 
    9298 
    9399if ($blattkey == 5000) { // fikt. Blatt 
    94         echo "\n<p>Keine Angaben zum Eigentum bei fiktivem Blatt.</p>\n"; 
     100        echo "\n<p>Keine Angaben zum Eigentum bei fiktivem Blatt.</p>"; 
    95101} else { 
    96102        // E I G E N T U E M E R 
    97         echo "\n\n<h3><img src='ico/Eigentuemer_2.png' width='16' height='16' alt=''> Angaben zum Eigentum</h3>"; 
    98         $n = eigentuemer($con, $gmlid, true, ""); // MIT Adressen. 
     103        $n = eigentuemer($gmlid, true, ""); // MIT Adressen. 
    99104        if ($n == 0) { // keine NamensNr, kein Eigentuemer 
    100105                echo "\n<p class='err'>Keine Namensnummer gefunden.</p>" 
     
    104109 
    105110// Vorab pruefen, ob der Fall "Rechte an .." vorliegt. 
    106 if ($blattkey == 1000) { // GB-Blatt  <istBestandteilVon<  sh=herrschend  >an>  sd=dienend 
    107         $sql="SELECT count(sd.laufendenummer) AS anzahl 
    108         FROM ax_buchungsstelle sh JOIN ax_buchungsstelle sd ON (sd.gml_id=ANY(sh.an) OR sd.gml_id=ANY(sh.zu))  
    109         WHERE sh.istbestandteilvon= $1 AND sd.endet IS NULL AND sh.endet IS NULL;"; 
     111if ($blattkey == 1000) { // GB-Blatt  <istBestandteilVon<  sh=herrschend  >an/zu>  sd=dienend 
     112        $sql="SELECT count(sd.laufendenummer) AS anzahl " 
     113        ."FROM ax_buchungsstelle sh JOIN ax_buchungsstelle sd ON (sd.gml_id=ANY(sh.an) OR sd.gml_id=ANY(sh.zu)) " 
     114        ."WHERE sh.istbestandteilvon= $1 AND sd.endet IS NULL AND sh.endet IS NULL;"; 
    110115 
    111116        $v=array($gmlid); // GB-Blatt 
    112117        $res=pg_prepare("", $sql); 
    113118        $res=pg_execute("", $v); 
    114         if (!$res) echo "<p class='err'>Fehler bei Suche nach Buchungen.</p>\n"; 
     119        if (!$res) echo "\n<p class='err'>Fehler bei Suche nach Buchungen.</p>"; 
    115120        $row=pg_fetch_array($res); 
    116121        $anz=$row["anzahl"]; 
    117         //echo "<p>Zeilen : ".$anz." zu Blattart ".$blattkey."</p>"; 
    118122} else { // 2000: Katasterblatt, 3000: Pseudoblatt, 5000: Fiktives Blatt 
    119123        $anz=0; 
    120124} 
    121 if ($anz > 0) { 
     125if ($anz > 0) { // auch Rechte: dann erweiterter Tabellen-Kopf 
    122126        echo "\n<hr>\n\n<h3><img src='ico/Flurstueck.png' width='16' height='16' alt=''> Rechte und Flurst&uuml;cke</h3>" 
    123127        ."\n<table class='fs'>" 
     
    125129                ."\n\t<td>&nbsp;</td>" 
    126130                ."\n\t<td class='dien' title='herrschendes Grundst&uuml;ck'>herrschende Buchungsart</td>" 
    127                 ."\n\t<td>&nbsp;</td>" 
     131                ."\n\t<td class='dien'>Anteil</td>" 
    128132                ."\n\t<td class='dien'>Bezirk</td>" 
    129133                ."\n\t<td class='dien'>Blatt</td>" 
     
    132136                ."\n\t<td>&nbsp;</td>" 
    133137        ."\n</tr>"; 
    134 } else { 
     138} else { // nur FlurstÃŒcke, keine Rechte an/zu anderen Buchungen 
    135139        echo "\n<hr>\n\n<h3><img src='ico/Flurstueck.png' width='16' height='16' alt=''> Flurst&uuml;cke</h3>" 
    136140        ."\n<table class='fs'>"; 
     
    139143        ."\n\t<td class='heads' title='laufende Nummer Bestandsverzeichnis (BVNR) = Grundst&uuml;ck'><span class='wichtig'>BVNR</span><img src='ico/sort.png' width='10' height='10' alt='' title='prim&auml;re Sortierung'></td>" 
    140144        ."\n\t<td class='head'>Buchungsart</td>" 
    141         ."\n\t<td class='head'>Anteil</td>" 
     145        ."\n\t<td class='head'>&nbsp;</td>" 
    142146        ."\n\t<td class='heads'>Gemarkung</td>" 
    143147        ."\n\t<td class='heads'>Flur</td>" 
    144148        ."\n\t<td class='heads fsnr' title='Flurst&uuml;cksnummer (Z&auml;hler / Nenner)'><span class='wichtig'>Flurst.</span></td>" 
    145         ."\n\t<td class='head fla'>Fl&auml;che</td>" 
    146         ."\n\t<td class='head nwlink noprint' title='Link: weitere Auskunft'>weit. Auskunft</td>" 
     149        ."\n\t<td class='head flag'>Fl&auml;che</td>" 
     150        ."\n\t<td class='head nwlink noprint' title='Verlinkung zu anderen Nachweis-Arten und verbundenen Objekten'>weitere Auskunft</td>" 
    147151."\n</tr>"; 
    148152 
     
    158162 
    159163if (!$res) { 
    160         echo "<p class='err'>Fehler bei Buchung.</p>\n"; 
    161         if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '". $gmlid."'</p>";} 
     164        echo "\n<p class='err'>Fehler bei Buchung.</p>"; 
     165        if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".htmlentities($sql, ENT_QUOTES, "UTF-8")."<br>$1 = gml_id = '". $gmlid."'</p>";} 
    162166} 
    163167$i=0; 
    164168$fscnt=0; 
     169$zpaar=false; 
    165170while($row = pg_fetch_array($res)) { // Loop Buchungsstelle (GrundstÃŒck) 
    166171        $lfdnr=$row["lfd"]; 
    167172        $bvnr=str_pad($lfdnr, 4, "0", STR_PAD_LEFT); 
    168         $gml_bs= $row["gml_id"]; // id der buchungsstelle 
     173        $gml_bs=$row["gml_id"]; // id der buchungsstelle 
    169174        $bartkey=$row["buchungsart"]; // SchlÃŒsselwert 
    170175        $bart=$row["bart"]; // BuchungsART Text dazu 
     
    176181                $anteil = $row["zaehler"]."/".$row["nenner"]; 
    177182        } 
     183 
     184        if ($zpaar) {$trclass='paa';} else {$trclass='unp';} // Farbwechsel je GrundstÃŒck 
     185        $zpaar=!$zpaar; 
     186 
    178187        // F l u r s t u e c k s d a t e n  zur direkten Buchungsstelle 
    179188        $j = bnw_fsdaten($con, $lfdnr, $gml_bs, $bart, $anteil, true, $bartkey, $bartstory); // return=Anzahl der FS 
     
    184193                //  Buchungsstelle >an/zu> (andere)Buchungsstelle >istBestandTeilVon> "FiktivesBlatt (ohne) Eigentuemer" 
    185194 
    186                 // andere Buchungsstellen 
     195                // dann andere "dienende" Buchungsstellen 
     196                //  sh=herrschend          sd=dienend 
    187197                //  ax_buchungsstelle >zu> ax_buchungsstelle (des gleichen Blattes) 
    188198                //  ax_buchungsstelle >an> ax_buchungsstelle (anderes Blatt, z.B Erbbaurecht an) 
    189                 //  sh=herrschend          sd=dienend 
    190                 $sql ="SELECT sd.gml_id, sd.buchungsart, sd.laufendenummer AS lfd, sd.beschreibungdesumfangsderbuchung AS udb, sd.nummerimaufteilungsplan AS nrap, sd.beschreibungdessondereigentums AS sond, wb.v AS bart " 
     199 
     200/* alte Version  
     201                $sql="SELECT sd.gml_id, sd.buchungsart, sd.laufendenummer AS lfd, sd.beschreibungdesumfangsderbuchung AS udb, sd.nummerimaufteilungsplan AS nrap, sd.beschreibungdessondereigentums AS sond, wb.v AS bart " 
    191202                ."FROM ax_buchungsstelle sh JOIN ax_buchungsstelle sd ON (sd.gml_id=ANY(sh.an) OR sd.gml_id=ANY(sh.zu)) " 
    192203                ."LEFT JOIN alkis_wertearten wb ON cast(sd.buchungsart AS character varying)=wb.k AND wb.element='ax_buchungsstelle' AND wb.bezeichnung='buchungsart' " 
    193                 ."WHERE sh.gml_id= $1 AND sh.endet IS NULL AND sd.endet IS NULL ORDER BY sd.laufendenummer;"; 
    194  
    195                 $v=array($gml_bs); 
    196                 $resan=pg_prepare("", $sql); 
     204                ."WHERE sh.gml_id= $1 AND sh.endet IS NULL AND sd.endet IS NULL ORDER BY sd.laufendenummer;"; */ 
     205 
     206                // Mit "UNION" um die FÀlle mit JOIN ÃŒber die Arrays "an" und "zu" unterscheiden zu können 
     207                $sql="SELECT uni.*, wb.v AS bart FROM " 
     208                ."(SELECT sda.gml_id, sda.buchungsart, sda.laufendenummer AS lfd, sda.beschreibungdesumfangsderbuchung AS udb, sda.nummerimaufteilungsplan AS nrap, sda.beschreibungdessondereigentums AS sond, 'an' as anzu " 
     209                ."FROM ax_buchungsstelle sha JOIN ax_buchungsstelle sda ON sda.gml_id=ANY(sha.an) " 
     210                ."WHERE sha.gml_id= $1 AND sha.endet IS NULL AND sda.endet IS NULL " 
     211                ."UNION SELECT sdz.gml_id, sdz.buchungsart, sdz.laufendenummer AS lfd, sdz.beschreibungdesumfangsderbuchung AS udb, sdz.nummerimaufteilungsplan AS nrap, sdz.beschreibungdessondereigentums AS sond, 'zu' as anzu " 
     212                ."FROM ax_buchungsstelle shz JOIN ax_buchungsstelle sdz ON sdz.gml_id=ANY(shz.zu) " 
     213                ."WHERE shz.gml_id= $1 AND shz.endet IS NULL AND sdz.endet IS NULL " 
     214                .") AS uni LEFT JOIN alkis_wertearten wb ON cast(uni.buchungsart AS character varying)=wb.k AND wb.element='ax_buchungsstelle' AND wb.bezeichnung='buchungsart' " 
     215                ."ORDER BY uni.lfd;"; 
     216        //      Testfall suchen: SELECT gml_id, zu, durch FROM ax_buchungsstelle WHERE NOT zu IS NULL OR NOT durch IS NULL; 
     217        //      Die Relationen "an" und "durch" kommen in der Praxis nicht vor. 
     218 
     219                $v=array($gml_bs); // gml_id der "herrschenden" Buchungs-Stelle 
     220                $resan=pg_prepare("", $sql); // Suche nach "dienender" Buchungsstelle 
    197221                $resan=pg_execute("", $v); 
    198222                if (!$resan) { 
    199                         echo "<p class='err'>Fehler bei 'andere Buchungsstelle'.</p>\n"; 
    200                         //if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";} 
     223                        echo "\n<p class='err'>Fehler bei 'andere Buchungsstelle'.</p>"; 
     224                        if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".htmlentities($sql, ENT_QUOTES, "UTF-8")."<br>$1 = '".$gml_bs."'</p>";} 
    201225                } 
     226 
    202227                $a=0; // count 
    203228                $altbvnr=""; // Gruppenwechsel 
    204229                while($rowan= pg_fetch_array($resan)) { 
    205                         $lfdnran=$rowan["lfd"];         // BVNR an 
     230                        $lfdnran=$rowan["lfd"]; // BVNR an 
    206231                        $gml_bsan=$rowan["gml_id"];     // id der buchungsstelle an 
    207                         $baan=$rowan["bart"];           // Buchungsart an, entschluesselt 
     232                        $baan=$rowan["bart"];   // Buchungsart an, entschluesselt 
     233                        $anzu=$rowan["anzu"];   // Welche Relation? Recht an oder Recht zu ? 
    208234 
    209235                        // a n d e r e s   B l a t t  (an dem das aktuelle Blatt Rechte hat) 
     
    218244                        $fbres=pg_execute("", $v); 
    219245                        if (!$fbres) { 
    220                                 echo "<p class='err'>Fehler bei fiktivem Blatt.</p>\n"; 
    221                                 if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";}                      
     246                                echo "\n<p class='err'>Fehler bei fiktivem Blatt.</p>"; 
     247                                if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".htmlentities($sql, ENT_QUOTES, "UTF-8")."<br>$1 = gml_id = '".$gmlid."'</p>";}                         
    222248                        } 
    223249                        $b=0; 
     
    227253                                $fbbez=$fbrow["bezirk"]; 
    228254                                $beznam=$fbrow["beznam"]; 
    229                                 $fbblatt=$fbrow["blatt"]; // Key 
    230                                 $fbbart=$fbrow["blattartv"]; // Value 
     255                                $fbblatt=$fbrow["blatt"]; 
     256                                $fbbartkey=$fbrow["blattart"]; // Key 
     257                                $fbbart=$fbrow["blattartv"];  // Value 
    231258                                $b++; 
    232259                        } 
    233260                        if ($b != 1) { // Überwachen: genau 1? 
    234                                 echo "<p class='err'>Anzahl fiktive Bl&auml;tter zu anderer Buchungstelle = ".$b."</p>"; 
     261                                echo "\n<p class='err'>Anzahl fiktive Bl&auml;tter zu anderer Buchungstelle = ".$b."</p>"; 
    235262                        } 
    236263 
    237264                        // G r u n d b u c h d a t e n  zur  a n d e r e n  Buchungsstelle 
    238                         echo "\n<tr>" 
    239                                 ."\n\t<td>"; // Sp.1 Erbbau BVNR 
     265                        echo "\n<tr class='".$trclass."'>" 
     266                                ."\n\t<td id='bvnr".$lfdnr."'>"; // Sp.1 Erbbau BVNR, Sprungmarke 
    240267                                        if($bvnr == $altbvnr) { // gleiches Grundstueck 
    241268                                                echo "&nbsp;"; // dann Anzeige unterdruecken 
    242269                                        } else { 
    243                                                 echo "<a id='bvnr".$lfdnr."'></a>" // Sprungmarke 
    244                                                 ."<span class='wichtig'>".$bvnr."</span>";  
     270                                        //      echo "<a id='bvnr".$lfdnr."'></a>" // Sprungmarke 
     271                                                echo "<span class='wichtig'>".$bvnr."</span>";  
    245272                                                $altbvnr = $bvnr; // Gruppenwechsel merken 
    246273                                        } 
     
    249276                                        if ($showkey) {echo "<span class='key'>".$row["buchungsart"]."</span> ";} 
    250277                                echo $bart." an</td>" 
    251                                 ."\n\t<td>".$anteil."</td>" // Sp.3 Anteil 
    252                                 ."\n\t<td class='dien'>"; // Sp.4 Gemarkg., hier Bezirk 
     278                                ."\n\t<td class='dien'>".$anteil."</td>" // Sp.3 Anteil 
     279                                ."\n\t<td class='dien' title='Grundbuch-Bezirk'>"; // Sp.4 Gemarkg., hier Bezirk 
    253280                                        if ($showkey) {echo "<span class='key'>".$fbbez."</span> ";} 
    254                                         echo $beznam 
     281                                        echo htmlentities($beznam, ENT_QUOTES, "UTF-8") 
    255282                                ."</td>"; 
    256                                 echo "\n\t<td class='dien'>".$fbblatt."</td>" // Sp. 5 Blatt 
    257                                         ."\n\t<td class='dien'>".str_pad($lfdnran, 4, "0", STR_PAD_LEFT)."</td>" // Sp.6 BVNR 
    258                                         ."\n\t<td class='dien'>"; // Sp.7 Buchungsart 
     283                                echo "\n\t<td class='dien' title='".$fbbart."'>".$fbblatt."</td>" // Sp. 5 Blatt 
     284                                        ."\n\t<td class='dien' title='Bestandsverzeichnis-Nummer'>".str_pad($lfdnran, 4, "0", STR_PAD_LEFT)."</td>" // Sp.6 BVNR 
     285                                        ."\n\t<td class='dien' title='Buchungsart'>"; // Sp.7 Buchungsart 
    259286                                        if ($showkey) {echo "<span class='key'>".$rowan["buchungsart"]."</span> ";} 
    260287                                        echo $baan." " 
    261288                                ."</td>" 
    262289                                ."\n\t<td>" // Sp.8 Link ("an" oder "zu"?) 
    263                                         ."<p class='nwlink noprint'>an/zu" 
    264                                         ." <a href='alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$fbgml; 
     290                                        ."\n\t\t<p class='nwlink noprint'>".$anzu; // Recht "an" oder "zu" 
     291                                        if ($showkey) {echo " <span class='key'>".$fbbartkey."</span>";} // Blatt-Art SchlÃŒssel 
     292                                        echo "\n\t\t\t<a href='alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$fbgml; 
    265293                                                if ($showkey) {echo "&amp;showkey=j";} 
    266294                                                echo "#bvnr".$lfdnran // Sprungmarke auf der Seite 
    267295                                                ."' title='Zum Grundbuchnachweis des dienenden Blattes'>"; 
    268                                                 if ($showkey) {echo "<span class='key'>".$rowan["blattart"]."</span> ";} 
    269                                                 echo $fbbart 
    270                                         ." <img src='ico/GBBlatt_link.png' width='16' height='16' alt=''></a></p>" 
    271                                 ."</td>" 
     296                                                echo $fbbart // Blatt-Art entschlÃŒsselt 
     297                                        ." <img src='ico/GBBlatt_link.png' width='16' height='16' alt=''></a>\n\t\t</p>" 
     298                                ."\n\t</td>" 
    272299                        ."\n</tr>";  
    273300 
    274301                        // F l u r s t u e c k s d a t e n  zur  a n d e r e n  Buchungsstelle 
    275302                        // Buchungsart wird nur in erster Zeile ausgegeben, hier leer 
     303 
    276304                        $aj = bnw_fsdaten($con, $lfdnran, $gml_bsan, "", $anteil, false, "", ""); // return=Anz.FS 
    277305                        $fscnt=$fscnt + $aj; 
     
    284312                        if ($rowan["sond"] != "") { 
    285313                                echo "\n<tr>" 
    286                                         ."\n\t<td class='sond' colspan=8>Verbunden mit dem Sondereigentum an: ".$rowan["sond"]."</td>" 
     314                                        ."\n\t<td class='sond' colspan=8>Verbunden mit dem Sondereigentum an: ".htmlentities($rowan["sond"], ENT_QUOTES, "UTF-8")."</td>" 
    287315                                ."\n</tr>"; 
    288316                        } 
     
    290318                } 
    291319                if ($a == 0) { 
    292                         echo "\n<tr>" 
     320                        echo "\n<tr class='".$trclass."'>" 
    293321                                ."\n\t<td><span class='wichtig'>".$bvnr."</span></td>" 
    294                                 ."\n\t<td colspan=7>" 
    295                                         ."<p class='warn'>Keine Flurst&uuml;cke zu Buchung ".$bvnr." im berechtigten Bereich.</p>" 
    296                                 ."</td>" 
     322                                ."\n\t<td colspan=7><p class='warn'>Keine Flurst&uuml;cke zu Buchung ".$bvnr." im berechtigten Bereich.</p></td>" 
    297323                        ."\n</tr>"; 
    298324                } 
     
    313339 
    314340if ($i == 0) { 
    315         echo "\n<p class='err'>Keine Buchung gefunden.</p>\n"; 
     341        echo "\n<p class='err'>Keine Buchung gefunden.</p>"; 
    316342} else { 
    317343        if ($i > 5 and $fscnt > 5) { // nur wenn nicht auf einen Blick zu erkennen 
    318                 echo "\n<p class='cnt'>".$i." Buchungen mit ".$fscnt." Flurst&uuml;cken</p>\n"; 
     344                echo "\n<p class='cnt'>".$i." Buchungen mit ".$fscnt." Flurst&uuml;cken</p>"; 
    319345        } 
    320346} 
     
    341367$resb = pg_execute("", $v); 
    342368if (!$resb) { 
    343         echo "<p class='err'>Fehler bei 'Berechtigte Bl&auml;tter.</p>\n"; 
    344         if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";} 
     369        echo "\n<p class='err'>Fehler bei 'Berechtigte Bl&auml;tter.</p>"; 
     370        if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".htmlentities($sql, ENT_QUOTES, "UTF-8")."<br>$1 = gml_id = '".$gmlid."'</p>";} 
    345371} 
    346372$b=0; // count: Buchungen / BlÀtter 
     373$zpaar=false; 
    347374while($rowb = pg_fetch_array($resb)) { 
    348375        if ($b == 0) { // Ueberschrift und Tabelle nur ausgeben, wenn etwas gefunden wurde 
    349                 echo "\n<h3><img src='ico/Grundbuch_zu.png' width='16' height='16' alt=''> Berechtigte Grundb&uuml;cher</h3>\n" 
     376                echo "\n\n<h3><img src='ico/Grundbuch_zu.png' width='16' height='16' alt=''> Berechtigte Grundb&uuml;cher</h3>" 
    350377                ."\n<table class='outer'>" 
    351378                ."\n<tr>" 
    352379                        ."\n\t<td class='heads' title='lfd. Nr. auf diesem Blatt, wie im Teil Flurst&uuml;cke'><span class='wichtig'>an BVNR</span><img src='ico/sort.png' width='10' height='10' alt='' title='prim&auml;re Sortierung'></td>" 
    353                 //      ."\n\t<td class='heads'>Land</td>" 
    354380                        ."\n\t<td class='head'>Dienststelle</td>" 
    355381                        ."\n\t<td class='heads'>Bezirk</td>" 
     
    372398        $bvnr=str_pad($lfdnr, 4, "0", STR_PAD_LEFT); 
    373399 
    374         echo "\n<tr>"; // Der Teil "berechtigte GrundbÃŒcher" ist sortiert wie oberer Teil "FlurstÃŒcke" 
    375                 echo "\n\t<td><span class='wichtig'>".$anlfdnr0."</span>"; 
    376  
    377                 echo "</td>" 
    378                 //."\n\t<td>".$rowb["land"]."</td>" 
     400        if ($zpaar) {$trclass='paa';} else {$trclass='unp';} // Farbwechsel je Zeile = GrundstÃŒck 
     401        $zpaar=!$zpaar; 
     402 
     403        echo "\n<tr class='".$trclass."'>"; // Der Teil "berechtigte GrundbÃŒcher" ist sortiert wie oberer Teil "FlurstÃŒcke" 
     404                echo "\n\t<td><span class='wichtig'>".$anlfdnr0."</span></td>" 
    379405                ."\n\t<td>"; // Amtsgericht,Grundbuchamt 
    380                         echo $rowb["stellev"]." "; 
     406                        echo htmlentities($rowb["stellev"], ENT_QUOTES, "UTF-8")." "; 
    381407                        if ($showkey) {echo "<span class='key'>".$rowb["stelle"]."</span> ";} 
    382                         echo $rowb["bezeichnung"] 
     408                        echo htmlentities($rowb["bezeichnung"], ENT_QUOTES, "UTF-8") 
    383409                ."</td>" 
    384410                ."\n\t<td>"; 
    385411                        if ($showkey) {echo "<span class='key'>".$rowb["bezirk"]."</span> ";} 
    386                         echo $rowb["beznam"] 
     412                        echo htmlentities($rowb["beznam"], ENT_QUOTES, "UTF-8") 
    387413                ."</td>" 
    388414                ."\n\t<td><span class='wichtig'>".$rowb["blatt"]."</span></td>" 
     
    393419                ."</td>" 
    394420                ."\n\t<td>" 
    395                         ."\n\t\t<p class='nwlink noprint'>" 
    396                         ."\n\t\t\t<a href='alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$gml_b."#bvnr".$lfdnr; 
     421                        ."\n\t\t<p class='nwlink noprint'>"; 
     422// +++ SchlÃŒssel der Blatt-Art wenn showkey +++ 
     423                        echo "\n\t\t\t<a href='alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$gml_b; 
    397424                                if ($showkey) {echo "&amp;showkey=j";} 
    398                                 echo "' title='Nachweis des berechtigten Blattes an ".$blattart."'>".$rowb["blattartv"]; // oder "zu" statt "an" 
     425                                echo "#bvnr".$lfdnr."' title='Nachweis des berechtigten Blattes an einer Buchung auf ".$blattart."'>".$rowb["blattartv"]; // "an" ggf. durch "zu" ersetzen? 
    399426                                echo " \n\t\t\t<img src='ico/GBBlatt_link.png' width='16' height='16' alt=''></a>" 
    400427                        ."\n\t\t</p>" 
     
    405432if ($b == 0) { 
    406433        if ($blattkey > 2000 ) { // Warnung nicht bei Grundbuchblatt 1000 und Katasterblatt 2000 
    407                 echo "<p class='err'>Keine berechtigten Bl&auml;tter zu ".$blattart." (".$blattkey.") gefunden.</p>"; 
     434                echo "\n<p class='err'>Keine berechtigten Bl&auml;tter zu ".$blattart." (".$blattkey.") gefunden.</p>"; 
    408435        } 
    409436} else { 
    410437        echo "\n</table>"; 
    411438        if ($i > 1) { 
    412                 echo "\n<p class='cnt'>Rechte anderer Buchungsstellen an ".$b." der ".$i." Buchungen</p>\n"; 
     439                echo "\n<p class='cnt'>Rechte anderer Buchungsstellen an ".$b." der ".$i." Buchungen</p>"; 
    413440        } 
    414441} 
     
    416443 
    417444<div class='buttonbereich noprint'> 
    418 <hr> 
     445        <hr> 
    419446        <a title="zur&uuml;ck" href='javascript:history.back()'><img src="ico/zurueck.png" width="16" height="16" alt="zur&uuml;ck"></a>&nbsp; 
    420447        <a title="Drucken" href='javascript:window.print()'><img src="ico/print.png" width="16" height="16" alt="Drucken"></a>&nbsp; 
  • trunk/info/info/alkisn/alkisexport.php

    r378 r387  
    2626                                Siehe Datei "x_classic2norgis.sql" in /OSGeo4W64/apps/alkis-import/postcreate.d/ 
    2727                                Sonderfall: Auch Export zu *allen* Straßen der Stadt ohne Filter "gmlid". 
     28        2017-06-08 Validierung Eingabeparameter 
     29 
     30ToDo: 
     31        - In Dateiname Straßenname statt gmlid verwenden? 
     32        - in alkislage.php fÃŒr den Typ "ohne Haunummer" den Export mit strasse und haus=o verlinken 
    2833*/ 
    2934 
     
    3237        // dass ggf. mehrere Lagebezeichnungen in eine Zelle der Tabelle passen. 
    3338        // FS >westAuf> Lage >> Katalog 
    34         $sql ="SELECT DISTINCT s.bezeichnung, l.hausnummer  
    35         FROM ax_flurstueck f JOIN ax_lagebezeichnungmithausnummer l ON l.gml_id=ANY(f.weistauf) 
    36         JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage  
    37         WHERE f.gml_id= $1 ORDER BY s.bezeichnung, l.hausnummer;"; 
     39        $sql ="SELECT DISTINCT s.bezeichnung, l.hausnummer " 
     40        ."FROM ax_flurstueck f JOIN ax_lagebezeichnungmithausnummer l ON l.gml_id=ANY(f.weistauf) " 
     41        ."JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage " 
     42        ."WHERE f.gml_id= $1 ORDER BY s.bezeichnung, l.hausnummer;"; 
    3843 
    3944        $v=array($gmlid); 
     
    6166// HIER START // 
    6267 
    63 $gkz=''; $tabtyp = ''; $gemarkung=''; $gmlid=''; $haus=''; // mögliche Parameter initialisieren 
    64 $cntget = extract($_GET); // aktuelle Parameter aus URL auslesen 
     68$tabtyp='';  $haus=''; // mögliche Parameter initialisieren 
     69$cntget = extract($_GET); // Parameter in Variable umwandeln 
     70 
     71// strikte Validierung aller Parameter 
     72if (!isset($gmlid) or !preg_match('#^[0-9A-Za-z]{16}$#', $gmlid)) {die("Eingabefehler gmlid");} 
     73if (!isset($gkz) or !preg_match('#^[0-9]{3}$#', $gkz)) {die("Eingabefehler gkz");} 
     74if (isset($gemarkung)) { 
     75        if (!preg_match('#^[0-9]{4}$#', $gemarkung)) {die("Eingabefehler gemarkung");} 
     76} else { 
     77        $gemarkung=''; 
     78} 
     79if (!preg_match('#^[m|o]{0,1}$#', $haus)) {die("Eingabefehler haus");} 
     80if (!preg_match('#^[a-z]{0,10}$#', $tabtyp)) {die("Eingabefehler tabtyp");} 
     81 
    6582require_once("alkis_conf_location.php"); // Konfiguration laden 
    6683include("alkisfkt.php"); // Funktionen der ALKIS-Auskunft laden 
     
    7087                $tabtyp = 'gemarkung'; 
    7188        } else {  // Bei "gmlid" MUSS man zwingend die Tabelle dazu nennen 
    72                 $err="Fehler: Art des Suchfilters nicht angeben."; 
    73                 echo "\n".$err; exit ($err); 
     89                $err="\nFehler: Art des Suchfilters nicht angeben."; 
     90                exit ($err); 
    7491        } 
    7592} elseif ($tabtyp == 'gemarkung') { 
    7693        if ($gemarkung == '') { 
    77                 $err="Fehler: Gemarkungsnummer nicht angeben."; 
    78                 echo "\n".$err; exit ($err); 
     94                $err="\nFehler: Gemarkungsnummer nicht angeben."; 
     95                exit ($err); 
    7996        } 
    8097} 
     
    101118        } elseif ($haus == 'm' or $haus == 'o') { // Sonderfall 2 - alle mit/ohne Hausnummer, nur ÃŒber View "exp_csv_str" möglich 
    102119                if ($tabtyp != 'strasse') { 
    103                         $err="Fehler: Falsche Kombination Parameter tabtyp='".$tabtyp."' mit Wert fuer Haus."; 
    104                         echo "\n".$err; exit ($err); 
     120                        $err="\nFehler: Falsche Kombination Parameter tabtyp='".$tabtyp."' mit Wert fuer Haus."; 
     121                        exit ($err); 
    105122                } 
    106123                if ($haus == 'm') { // den Zusatzfilter m/o im Dateinamen dokumentieren 
     
    111128*/ 
    112129        } else { 
    113                 $err= "Fehler: Kein passender Wert fuer die Suche angegeben."; 
    114                 echo "\n".$err; exit ($err); 
     130                $err="\nFehler: Kein passender Wert fuer die Suche angegeben."; 
     131                exit ($err); 
    115132        } 
    116133} 
     
    129146        echo "\n".$err; exit($err); 
    130147} 
    131 pg_set_client_encoding($con, 'LATIN1'); // FÃŒr Excel kein UTF8 ausgeben 
    132  
    133 $viewname="exp_csv"; // Standard-View, ist in der Datenbank gespeichert 
     148pg_set_client_encoding($con, 'LATIN1'); // FÃŒr Excel kein UTF8 
     149 
     150$viewname="exp_csv"; // Standard-View, in der DB gespeichert 
    134151$v=array($gmlid); // Standard-Filter-Feld 
    135152 
     
    154171                break; 
    155172        default: 
    156                 $err= "Falscher Parameter '".$tabtyp."'"; 
    157                 echo "\n".$err; exit($err); 
     173                $err="\nFalscher Parameter '".$tabtyp."'"; 
     174                exit($err); 
    158175                break; 
    159176} 
     
    162179$sql="SELECT * FROM ".$viewname." WHERE ".$filter." = $1 "; 
    163180 
    164 if ($haus != '') { // nur FS mit/ohne verschlÃŒsselter Lagebezeichnung 
     181if ($haus == 'm' or $haus == 'o') { // nur FS mit/ohne verschl. Lagebez. 
    165182        if ($gmlid == '') { // m/o-Filter als einziger Filter 
    166183                $sql="SELECT * FROM ".$viewname." WHERE fall='".$haus."' "; // Ersetzen 
     
    169186                // - Sonst Ausgabe von Rand-FlurstÃŒcken (bei geometrischer Filterung des NBA-Verfahrens) 
    170187                // - Sonst ggf. Ausgabe Kreisgebiet 
    171         } else { // als zusÀtzlicher Filter  
     188        } else { // als zusÀtzlicher Filter AND 
    172189                $sql.="AND fall='".$haus."' "; // m/o-Filter AnhÀngen 
    173190        } 
     
    177194$res=pg_execute("", $v); 
    178195if (!$res) { 
    179         $err= "Fehler bei Datenbankabfrage"; 
    180         echo "\n".$err; exit($err); 
     196        $err="\nFehler bei Datenbankabfrage"; 
     197        exit($err); 
    181198} 
    182199$i=1; // Kopfzeile zÀhlt mit 
     
    254271        } else {  
    255272                $adresse=$row["strasse"]." ".$row["hausnummer"].", ".$row["plz"]." ".$ort; 
    256                 $land=$row["land"]; // nur andere LÀnder anzeigen 
     273                $land=$row["land"]; // nur andere Laender anzeigen 
    257274                if (($land != "DEUTSCHLAND") and ($land != "")) { 
    258275                        $adresse.=" (".$land.")"; 
     
    286303pg_free_result($res); 
    287304if ($i == 1) { // nur Kopf 
    288         $err= "Kein Treffer fuer gml_id='".$gmlid."'"; 
    289         echo "\n".$err; exit ($err); 
     305        $err="\nKein Treffer fuer gml_id='".$gmlid."'"; 
     306        exit ($err); 
    290307} 
    291308pg_close($con); 
  • trunk/info/info/alkisn/alkisfkt.php

    r377 r387  
    1010        2016-03-14 Kleine Korrekturen 
    1111        2016-11-29 Gemeinsam genutzte Datenbanken ermöglichen (Filter Gemeinde) 
     12        2017-06-08 gestreifte Tabelle, Feinkorrekturen 
    1213*/ 
    1314 
     
    1920        global $gkz, $showkey, $hilfeurl, $auth; 
    2021 
     22        // S c r e e n - Foot 
    2123        echo "\n<div class='confbereich noprint'>" 
    22         ."\n<table class='outer'>\n<tr>"; 
     24        ."\n\t<table class='outer'>\n\t<tr>"; 
    2325 
    2426        // Spalte 1: Info Benutzerkennung 
    2527        if ($auth == "mapbender") { 
    2628                $customer=$_SESSION["mb_user_name"]; 
    27                 echo "\n\t<td title='Info'><i>Benutzer:&nbsp;".$customer."</i></td>"; 
     29                echo "\n\t\t<td title='Info'><i>Benutzer:&nbsp;".$customer."</i></td>"; 
    2830        } else { 
    29                 echo "\n\t<td>&nbsp;</td>"; 
     31                echo "\n\t\t<td>&nbsp;</td>"; 
    3032        } 
    3133 
    3234        // Spalte 2: Umschalter 
    33         echo "\n\t<td title='Konfiguration'>"; 
    34                 $mylink ="\n\t\t<a class='gmlid' href='".$link."gkz=".$gkz."&amp;gmlid=".$gmlid.$append; 
     35        echo "\n\t\t<td title='Konfiguration'>"; 
     36                $mylink ="\n\t\t\t<a class='keyswitch' href='".$link."gkz=".$gkz."&amp;gmlid=".$gmlid.$append; 
    3537 
    3638                if ($showkey) { // Umschalten SchlÃŒssel ein/aus 
     
    3941                        echo $mylink."&amp;showkey=j' title='Verschl&uuml;sselungen anzeigen'>Schl&uuml;ssel ein</a>"; 
    4042                } 
    41         echo "\n\t</td>"; 
     43        echo "\n\t\t</td>"; 
    4244 
    4345        // Spalte 3 
    44         echo "\n\t<td title='Hilfe'>" 
    45         ."\n\t\t<p class='nwlink'>\n\t\t\t<a target='_blank' href='".$hilfeurl."' title='Dokumentation'>Hilfe zur ALKIS-Auskunft</a>\n\t\t</p>\n\t</td>" 
    46         ."\n</tr>\n</table>\n</div>\n"; 
     46        echo "\n\t\t<td title='Hilfe'>" 
     47                ."\n\t\t\t<p class='nwlink'>\n\t\t\t\t<a target='_blank' href='".$hilfeurl."' title='Dokumentation'>Hilfe zur ALKIS-Auskunft</a>\n\t\t\t</p>\n\t\t</td>" 
     48                ."\n\t</tr>\n\t</table>" 
     49        ."\n</div>\n"; 
     50 
     51        // P r i n t - Foot 
     52        if ($auth == "mapbender") { 
     53        //      $customer=$_SESSION["mb_user_name"]; 
     54                echo "\n<p class='onlyprint'><i>Mapbender-Benutzer:&nbsp;".$customer."</i></p>"; 
     55        } 
     56 
    4757        return 0; 
    4858} 
    4959 
    50 function ber_bs_hinw($gmls) { 
    51         // Unter einem Grundbuch-Link den Hinweis auf "berechtigte Buchungssstellen" anzeigen 
    52         // In FS-Nachweis wird nur der EigentÃŒmer des direkt gebuchten GrundstÃŒcks angezeigt. 
    53         // Den Erbbauberechtigten sieht man erst in der Grundbuch-Auskunft. 
    54         global $debug, $showkey; 
    55  
    56         // Buchungstelle dien. >an> Buchungstelle herr. 
     60function ber_bs_hinw($gmls, $gmlf) { 
     61        // Berechtigte Buchungs-Stellen - Hinweis. 
     62        // Unter dem Grundbuch-Link den Hinweis auf "berechtigte Buchungssstellen" anzeigen und einen Umschalter. 
     63        global $gkz, $debug, $showkey, $berbu, $eig; 
     64 
     65        // Buchungstelle dienend <(Recht)an< Buchungstelle herrschend 
    5766        $sql ="SELECT count(sh.gml_id) AS anz, sh.buchungsart, a.v " 
    5867        ."FROM ax_buchungsstelle sd JOIN ax_buchungsstelle sh ON sd.gml_id=ANY(sh.an) "  
     
    6170        ."GROUP BY sh.buchungsart, a.v;"; 
    6271 
    63         $v = array($gmls); // id dienende BS 
     72        $v = array($gmls); // GML dienende Buchungs-Stelle 
    6473        $resan = pg_prepare("", $sql); 
    6574        $resan = pg_execute("", $v); 
    6675        if (!$resan) { 
    67                 echo "\n<p class='err'>Fehler bei 'berechtigte Buchungsstellen'.</p>\n"; 
    68                 if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmls."'</p>";} 
    69         } 
     76                echo "\n<p class='err'>Fehler bei 'berechtigte Buchungsstellen'.</p>"; 
     77                if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".htmlentities($sql, ENT_QUOTES, "UTF-8")."<br>$1 = gml_id = '".$gmls."'</p>";} 
     78        } 
     79        $zeile=0; // Vesrchiedene Arten 
     80        $cnt=0; // Summe der Buchugen 
     81        while($rowan = pg_fetch_array($resan)) { 
     82                $anz=$rowan["anz"]; 
     83 
     84                // Einleitung 
     85                if ($zeile == 0) { // vor. 1. Zeile 
     86                        // Diese Hinweise sollen mit gedruckt werden. Also KEIN "noprint"! 
     87                        echo "\n\t\t<br>\n\t\t<p class='nwlink' title='Andere Grundst&uuml;cke mit Rechten an diesem.'>\n\t\t\tBerechtigte Buchungen "; 
     88                        if ($berbu=="j") { // wechselndes Symbol 
     89                                echo "<img src='ico/Grundbuch_zu.png' width='16' height='16' alt=''>"; 
     90                        } else { 
     91                                echo "<img src='ico/Grundbuch.png' width='16' height='16' alt=''>"; 
     92                        } 
     93                        echo "\n\t\t\t<b>"; 
     94                } 
     95 
     96                // Eine Zeile je Buchungs-Typ 
     97                echo "<br>".$anz." ".htmlentities($rowan["v"], ENT_QUOTES, "UTF-8"); 
     98                if ($showkey) {echo " <span class='key'>(".$rowan["buchungsart"].")</span>";} 
     99                $zeile++; 
     100                $cnt = $cnt + $anz; 
     101        } // Ende Result 
     102        pg_free_result($resan); 
     103 
     104        // Ergebnis 
     105        if ($zeile == 0) { // kein Schleifen-Durchlauf 
     106                echo "\n\t<p class='nwlink' title='Kein anderes Grundst&uuml;ck hat ein Recht an diesem.'>Keine berechtigte Buchung</p>"; 
     107        } else { // Schleife wurde durchlaufen, 
     108                echo "</b>\n\t\t</p>"; 
     109 
     110                // Umschalter nicht drucken 
     111                echo "\n\t\t<p class='nwlink noprint'>" 
     112                ."\n\t\t\t<a href='".$_SERVER['PHP_SELF']."?gkz=".$gkz."&amp;gmlid=".$gmlf."&eig=".$eig; // GML FlurstÃŒck 
     113                if ($showkey) {echo "&amp;showkey=j";} 
     114                // Der FS-Nachweis ruft sich selbst mit geaendertem Parameter auf. 
     115                if ($berbu=="j") { 
     116                        echo "&amp;berbu=n' title='ohne berechtigte Buchungen'>nicht Anzeigen"; // Position: Top 
     117                } else { 
     118                        echo "&amp;berbu=j#berbu' title='mit berechtigten Buchungen'>Anzeigen"; // Positionierung auf Marke #berbu 
     119                } 
     120                echo "</a>\n\t\t</p>"; 
     121        } 
     122        return $cnt; // Funktionswert = Anzahl der berechtigten Buchungen 
     123} 
     124 
     125function ber_bs_anz($gmls, $eig) { 
     126        // Berechtigte Buchungsstellen (+ BlÀtter, EigentÃŒmer) anzeigen innerhalb eines FS-Nachw. 
     127        // Im FS-Nachweis werden auch die berechtigten GrundbÃŒcher mit ihren EigentÃŒmern angezeigt. 
     128        // Also z.B. zu einem "fiktiven Blatt" auch die GrundbuÃŒcher mit dem "Wohnungs-/Teileigentum" 
     129        global $gkz, $debug, $showkey, $idanzeige; 
     130 
     131        // Herrschende (berechtigte) Buchungsstellen ausgeben - Beginn 
     132        // sd=Buchungstelle herrschend >(Recht)an> sd=Buchungstelle dienend >istBestandteilVon> BLATT -> Bezirk 
     133        $sql="SELECT sd.gml_id AS s_gml, "  // Buchungs-Stelle dienend 
     134        ."sh.buchungsart, sh.laufendenummer as lfd, sh.zaehler, sh.nenner, sh.nummerimaufteilungsplan as nrpl, sh.beschreibungdessondereigentums as sond, " // Buchungs-Stelle herrschend 
     135        ."b.gml_id AS g_gml, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung as blatt, b.blattart, z.bezeichnung, a.v AS bart, w.v AS blattartv " 
     136        ."FROM ax_buchungsstelle sd " 
     137        ."JOIN ax_buchungsstelle sh ON sd.gml_id=ANY(sh.an) " 
     138        ."JOIN ax_buchungsblatt b ON b.gml_id=sh.istbestandteilvon " 
     139        ."LEFT JOIN ax_buchungsblattbezirk z ON z.land=b.land AND z.bezirk=b.bezirk " 
     140        ."LEFT JOIN alkis_wertearten a ON sh.buchungsart=cast(a.k AS integer) AND a.element='ax_buchungsstelle' and a.bezeichnung='buchungsart' " // entschlÃŒsseln Buchungsart 
     141        ."LEFT JOIN alkis_wertearten w ON b.blattart=w.k AND w.element='ax_buchungsblatt' and w.bezeichnung='blattart' " // entschlÃŒsseln Blatt-Art 
     142        ."WHERE sd.gml_id= $1 AND sd.endet IS NULL AND sh.endet IS NULL AND b.endet IS NULL AND z.endet IS NULL " 
     143        ."ORDER BY b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung;"; 
     144 
     145        $v = array($gmls); // id dienende Buchungsstelle 
     146        $resber = pg_prepare("", $sql); 
     147        $resber = pg_execute("", $v); 
     148        if (!$resber) { 
     149                echo "\n<p class='err'>Fehler bei 'berechtigte Buchungsstellen'.</p>"; 
     150                if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".htmlentities($sql, ENT_QUOTES, "UTF-8")."<br>$1 = gml_id = '".$gmls."'</p>";} 
     151        } 
     152 
    70153        $an=0; 
    71         while($rowan = pg_fetch_array($resan)) { 
    72                 $an++; 
    73                 if ($an == 1) {echo "\n\t<br>\n\t<p class='nwlink' title='Andere Grundst&uuml;cke mit Rechten an diesem.'>Berechtigte Buchungen:<br><b>";} 
    74                 if ($an > 1) {echo",<br>";} // kann es gemischste Buchungsarten geben? 
    75                 echo $rowan["anz"]." ".htmlentities($rowan["v"], ENT_QUOTES, "UTF-8"); 
    76                 if ($showkey) {echo " <span class='key'>(".$rowan["buchungsart"].")</span>";} 
    77         } 
    78         if ($an == 0) { 
    79                 echo "<br><p class='nwlink' title='Kein anderes Grundst&uuml;ck hat ein Recht an diesem.'>Keine berechtigte Buchung</p>"; 
    80         } else { 
    81                 echo "</b></p>"; 
    82         } 
    83         pg_free_result($resan); 
     154        while($rowan = pg_fetch_array($resber)) { 
     155                $beznam=$rowan["bezeichnung"]; 
     156                $bart=$rowan["bart"]; // Buchungsart 
     157                $blattkeyber=$rowan["blattart"];  // Schluessel von Blatt-Art des berechtigten GB 
     158                $blattartber=$rowan["blattartv"]; // Wert von Blatt-Art des berechtigten GB 
     159                $nrpl=$rowan["nrpl"]; // Nummer im Aufteilungsplan 
     160                $sond=$rowan["sond"]; // Beschreibung des Sondereigentums 
     161 
     162                echo "\n<table class='outer'>" // \n<hr> 
     163                ."\n<tr>" // 1 row only 
     164                        ."\n<td>"; // outer linke Spalte - Daten 
     165                                // Rahmen mit Kennzeichen GB 
     166                                if ($blattkeyber == 1000) { 
     167                                        echo "\n\t<table class='kennzgb' title='Bestandskennzeichen'>"; 
     168                                } else { 
     169                                        echo "\n\t<table class='kennzgbf' title='Bestandskennzeichen'>"; // dotted 
     170                                } 
     171                                echo "\n\t<tr>" 
     172                                        ."\n\t\t<td class='head'>Bezirk</td>" 
     173                                        ."\n\t\t<td class='head'>".$blattartber."</td>" 
     174                                        ."\n\t\t<td class='head'>Lfd-Nr,</td>" 
     175                                        ."\n\t\t<td class='head'>Buchungsart</td>" 
     176                                ."\n\t</tr>"; 
     177                                echo "\n\t<tr>" 
     178                                        ."\n\t\t<td title='Grundbuchbezirk'>"; 
     179                                        if ($showkey) {echo "<span class='key'>".$rowan["bezirk"]."</span><br>";} 
     180                                        echo $beznam."</td>" 
     181                                        ."\n\t\t<td title='Grundbuch-Blatt'><span class='wichtig'>".$rowan["blatt"]."</span></td>" 
     182                                        ."\n\t\t<td title='Bestandsverzeichnis-Nummer (BVNR, Grundst&uuml;ck)'>".$rowan["lfd"]."</td>" 
     183                                        ."\n\t\t<td title='Buchungsart'>"; 
     184                                                if ($showkey) {echo "<span class='key'>".$rowan["buchungsart"]."</span><br>";} 
     185                                                echo $rowan["bart"] 
     186                                        ."</td>" 
     187                                ."\n\t</tr>" 
     188                                ."\n\t</table>"; 
     189                                if ($rowan["zaehler"] <> "") { 
     190                                        echo "\n\t<p class='ant'>".$rowan["zaehler"]."/".$rowan["nenner"]."&nbsp;Anteil am Flurst&uuml;ck</p>"; 
     191                                } 
     192                        echo "\n</td>"; 
     193 
     194                        echo "\n<td>"; // outer rechte Spalte 
     195                                if ($idanzeige) { 
     196                                        linkgml($gkz, $rowan["s_gml"], "Buchungsstelle", "ax_buchungsstelle"); 
     197                                        echo "<br>"; 
     198                                        linkgml($gkz, $rowan["g_gml"], "Buchungsblatt", ""); 
     199                                } 
     200                                echo "\n\t<br>" 
     201                                ."\n\t<p class='nwlink noprint'>"; 
     202                                        if ($showkey) {echo "<span class='key'>".$blattkeyber."</span> ";} 
     203                                        echo "\n\t\t<a href='alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$rowan["g_gml"]; 
     204                                                if ($idanzeige) {echo "&amp;id=j";} 
     205                                                if ($showkey)   {echo "&amp;showkey=j";} 
     206                                                echo "' title='Grundbuchnachweis mit Eigent&uuml;merangabe'>".$blattartber 
     207                                                ." <img src='ico/GBBlatt_link.png' width='16' height='16' alt=''>" 
     208                                        ."</a>"; 
     209                                echo "\n\t</p>" 
     210                        ."\n\t</td>" 
     211                ."\n</tr>" 
     212                ."\n</table>"; 
     213 
     214                if ($blattkeyber != 1000) { 
     215                        echo "\n<p>Blattart: ".$blattartber." (".$blattkeyber.").<br>";  
     216                } 
     217 
     218                if ($nrpl != "") { 
     219                        echo "\n<p class='nrap' title='Nummer im Aufteilungsplan'>Nummer <span class='wichtig'>".$nrpl."</span> im Aufteilungsplan.</p>"; 
     220                } 
     221 
     222                if ($sond != "") { 
     223                        echo "\n<p class='sond' title='Sondereigentum'>Verbunden mit dem Sondereigentum<br>".$sond."</p>"; 
     224                } 
     225 
     226                if ($eig == "j") { 
     227                        $n = eigentuemer($rowan["g_gml"], true, ""); // mit Adresse 
     228                } 
     229                $an++;   
     230        } 
     231        pg_free_result($resber); 
     232        return; 
    84233} 
     234 
    85235 
    86236function kurz_namnr($lang) { 
     
    101251        Weiterere Aufrufe ggf. bei Erbbaurecht fÃŒr die mit "an" verknuepften Buchungsstellen. 
    102252        Table-Tag und Tabellenkopf werden im aufrufenden Programm ausgegeben. */ 
    103         global $debug, $gkz, $showkey, $filtkreis, $filtgem; 
     253        global $debug, $gkz, $showkey, $filtkreis, $filtgem, $trclass; // $zpaar 
    104254 
    105255        // F L U R S T U E C K 
     
    117267        $resf = pg_prepare("", $sql); 
    118268        $resf = pg_execute("", $v); 
    119         if (!$resf) {echo "<p class='err'>Fehler bei Flurst&uuml;ck</p>\n";} 
     269        if (!$resf) {echo "\n<p class='err'>Fehler bei Flurst&uuml;ck</p>";} 
    120270 
    121271        if($bvnraus) { // nur bei direkten Buchungen die lfdNr ausgeben 
     
    124274                $bvnr=""; 
    125275        } 
    126         $altlfdnr=""; 
     276        $altbvnr=""; 
    127277        $j=0; 
    128278        while($rowf = pg_fetch_array($resf)) { 
    129279                $flur=str_pad($rowf["flurnummer"], 3, "0", STR_PAD_LEFT); 
    130                 // ohne fuehrende Nullen? 
    131280                $fskenn=$rowf["zaehler"]; 
    132                 if ($rowf["nenner"] != "") { // Bruchnummer 
     281                if ($rowf["nenner"] != "") { // Bruch 
    133282                        $fskenn.="/".$rowf["nenner"]; 
    134283                } 
    135284                $flae=number_format($rowf["amtlicheflaeche"],0,",",".") . " m&#178;"; 
    136285 
    137                 echo "\n<tr>"; // eine Zeile je Flurstueck 
     286                echo "\n<tr class='".$trclass."'>"; // eine Zeile je Flurstueck 
    138287                        // Sp. 1-3 der Tab. aus Buchungsstelle, nicht aus FS 
    139                         if($lfdnr == $altlfdnr) { // gleiches Grundstueck 
     288                        if($bvnr == $altbvnr) { // gleiches Grundstueck, leer lassen 
    140289                                echo "\n\t<td>&nbsp;</td>" 
    141290                                ."\n\t<td>&nbsp;</td>" 
    142291                                ."\n\t<td>&nbsp;</td>"; 
    143292                        } else { // Sprungmarke, BVNR 
    144                                 echo "\n\t<td>" 
    145                                         ."<a id='bvnr".$lfdnr."'></a><span class='wichtig'>".$bvnr."</span>" /// ++++ FEHLER?? $bvnr 
    146                                 ."</td>"; 
     293                                echo "\n\t<td id='bvnr".$bvnr."'>"; // Sprungmarke 
     294                                //      echo "\n\t\t<a id='bvnr".$bvnr."'></a>"; 
     295                                        echo "<span class='wichtig'>".$bvnr."</span>" 
     296                                ."\n\t</td>"; 
    147297 
    148298                                echo "\n\t<td title ='".$bartstory."'>"; // Buchungsart  
     
    151301                                echo "</td>" 
    152302                                ."\n\t<td>&nbsp;</td>"; // Anteil 
    153                                 $altlfdnr=$lfdnr; 
    154                         } 
    155                         //Sp. 4-7 aus Flurstueck 
     303                                $altbvnr=$bvnr; 
     304                        } 
     305 
     306                        // Sp. 4-7 aus Flurstueck 
    156307                        echo "\n\t<td>"; 
    157308                        if ($showkey) {echo "<span class='key'>".$rowf["gemarkungsnummer"]."</span> ";} 
     
    160311                        ."\n\t<td class='fsnr'><span class='wichtig'>".$fskenn."</span>" 
    161312                        ."</td>" 
    162                         ."\n\t<td class='fla'>".$flae."</td>"; 
    163  
    164                         echo "\n\t<td><p class='nwlink noprint'>" 
    165                                 ."<a href='alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$rowf["gml_id"]."&amp;eig=n"; 
     313                        ."\n\t<td class='flag'>".$flae."</td>"; // "width" hier (flaG) erweiterbar, weil in andere Zeile die Buchungsart steht  
     314 
     315                        echo "\n\t<td>\n\t\t<p class='nwlink noprint'>" 
     316                                ."\n\t\t\t<a href='alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$rowf["gml_id"]."&amp;eig=n"; 
    166317                                        if ($showkey)   {echo "&amp;showkey=j";} 
    167318                                        echo "' title='Flurst&uuml;cksnachweis'>Flurst&uuml;ck " 
    168319                                        ."<img src='ico/Flurstueck_Link.png' width='16' height='16' alt=''>" 
    169320                                ."</a>" 
    170                         ."</p></td>" 
     321                        ."\n\t\t</p>" 
     322                ."\n\t</td>" 
    171323                ."\n</tr>"; 
    172324 
    173325                $j++; 
    174         } // Ende Flurstueck 
    175  
    176 /*      if ($j == 0 ) { // nur Entw. 
    177                 if ($debug > 1) {echo "<p class='dbg'>Keine FS gefunden</p>";} 
    178                 if ($debug > 2) {echo "<p class='dbg'>SQL='".$sql."'<br>$1 = '".$gml_bs."'</p>";} 
    179         } */ 
     326        } // Ende Loop Flurstueck 
    180327        pg_free_result($resf); 
    181328        return $j; 
    182329} 
    183330 
    184 function eigentuemer($con, $gmlid, $mitadresse, $lnkclass) { 
     331function eigentuemer($gmlid, $mitadresse, $lnkclass) { 
    185332        // Tabelle mit Eigentuemerdaten zu einem Grundbuchblatt ausgeben 
    186333        // Sp.1 = Namennummer, Sp. 2 = Name / Adresse, Sp. 3 = Link 
     
    203350        } // Beispiel-Link href='javascript:imFenster(\"alkislage.php?gkz= ... ."\")'>xxx "; 
    204351 
    205         $sqln="SELECT n.gml_id, n.laufendenummernachdin1421 AS lfd, n.zaehler, n.nenner, n.artderrechtsgemeinschaft AS adr, n.beschriebderrechtsgemeinschaft as beschr, n.eigentuemerart, n.anlass, n.benennt, wn.v AS adrv, we.v AS eiartv 
    206 FROM ax_namensnummer n  
    207 LEFT JOIN alkis_wertearten wn ON cast(n.artderrechtsgemeinschaft AS character varying)=wn.k AND wn.element='ax_namensnummer' AND wn.bezeichnung='artderrechtsgemeinschaft'  
    208 LEFT JOIN alkis_wertearten we ON cast(n.eigentuemerart AS character varying)=we.k AND we.element='ax_namensnummer' AND we.bezeichnung='eigentuemerart' 
    209 WHERE n.istbestandteilvon= $1 AND n.endet IS NULL ORDER BY n.laufendenummernachdin1421;"; 
     352        $sqln="SELECT n.gml_id, n.laufendenummernachdin1421 AS lfd, n.zaehler, n.nenner, n.artderrechtsgemeinschaft AS adr, n.beschriebderrechtsgemeinschaft as beschr, n.eigentuemerart, n.anlass, n.benennt, wn.v AS adrv, we.v AS eiartv " 
     353        ."FROM ax_namensnummer n " 
     354        ."LEFT JOIN alkis_wertearten wn ON cast(n.artderrechtsgemeinschaft AS character varying)=wn.k AND wn.element='ax_namensnummer' AND wn.bezeichnung='artderrechtsgemeinschaft' " 
     355        ."LEFT JOIN alkis_wertearten we ON cast(n.eigentuemerart AS character varying)=we.k AND we.element='ax_namensnummer' AND we.bezeichnung='eigentuemerart' " 
     356        ."WHERE n.istbestandteilvon= $1 AND n.endet IS NULL ORDER BY n.laufendenummernachdin1421;"; 
    210357 
    211358        $v = array($gmlid); // 16 Stellen bei Relationen 
     
    214361 
    215362        if (!$resn) { 
    216                 echo "\n<p class='err'>Fehler bei Eigent&uuml;mer</p>\n"; 
    217                 if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sqln."<br>$1=gml= '".$gmlid."'</p>";} 
    218         } 
    219  
    220         echo "\n<table class='eig'>"; 
     363                echo "\n<p class='err'>Fehler bei Eigent&uuml;mer</p>"; 
     364                // kein Fehler bei Blattarten > 1000 
     365                //if ($debug > 2) {echo "\n<p class='err'>SQL=<br>".$sqln."<br>$1=gml= '".$gmlid."'</p>";} 
     366        } 
     367 
    221368        $n=0; // Z.NamNum. 
    222  
    223369        while($rown = pg_fetch_array($resn)) { 
     370                if($n == 0) { // Die Überschrift nur, wenn auch ein Inhalt folgt 
     371                        echo "\n\n<h3><img src='ico/Eigentuemer_2.png' width='16' height='16' alt=''> Angaben zum Eigentum</h3>" 
     372                        ."\n<table class='eig'>"; 
     373                } 
    224374                $gmlnn=$rown["gml_id"]; 
    225375                $namnum=kurz_namnr($rown["lfd"]); 
     
    249399                // Schleife 2: P e r s o n 
    250400                // Beziehung: ax_person  <benennt<  ax_namensnummer 
    251  
    252         //      $sqlp="SELECT p.gml_id, p.nachnameoderfirma, p.vorname, p.geburtsname, p.geburtsdatum, p.namensbestandteil, p.akademischergrad " 
    253         //      ."FROM ax_person p JOIN ax_namensnummer nn ON nn.benennt=p.gml_id WHERE nn.gml_id= $1 AND p.endet IS NULL AND nn.endet IS NULL;"; 
    254         //      $v = array($gmlnn); 
    255  
    256         // 03.03.16: 
    257401                $sqlp="SELECT gml_id, nachnameoderfirma, vorname, geburtsname, geburtsdatum, namensbestandteil, akademischergrad " 
    258402                ."FROM ax_person WHERE gml_id= $1 AND endet IS NULL;"; 
     
    262406                $resp = pg_execute("", $v); 
    263407                if (!$resp) { 
    264                         echo "\n\t<p class='err'>Fehler bei Person</p>\n"; 
    265                         if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sqlp."<br>$1=gml= '".$gmlpers."'</p>";} 
     408                        echo "\n\t<p class='err'>Fehler bei Person</p>"; 
     409                        if ($debug > 2) {echo "\n<p class='err'>SQL=<br>".$sqlp."<br>$1=gml= '".$gmlpers."'</p>";} 
    266410                } 
    267411 
     
    288432                        echo "\n\t<td>\n\t\t<p class='nwlink noprint'>"; 
    289433                                if ($showkey AND $eiartkey != '') { // oft leer 
    290                                                 echo "<span class='key'>(".$eiartkey.")</span> "; 
    291                                 } 
    292                                 echo "\n\t\t<a href='".$lnkvor."alkisnamstruk.php?gkz=".$gkz."&amp;gmlid=".$rowp[0]; 
    293                                 if ($showkey)   {echo "&amp;showkey=j";} 
     434                                        echo "<span class='key' title='Eigent&uuml;merart'>".$eiartkey."</span> "; 
     435                                } 
     436                                echo "\n\t\t\t<a href='".$lnkvor."alkisnamstruk.php?gkz=".$gkz."&amp;gmlid=".$rowp[0]; 
     437                                if ($showkey) {echo "&amp;showkey=j";} 
    294438                                echo $lnknach."' title='vollst&auml;ndiger Name und Adresse eines Eigent&uuml;mers'>".$eiart 
    295439                                ." <img src='ico/Eigentuemer.png' width='16' height='16' alt=''></a>\n\t\t</p>" 
     
    306450 
    307451                                if (!$resa) { 
    308                                         echo "\n\t<p class='err'>Fehler bei Adressen</p>\n"; 
    309                                         if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sqla."<br>$1=gml= '".$gmlp."'</p>";} 
     452                                        echo "\n\t<p class='err'>Fehler bei Adressen</p>"; 
     453                                        if ($debug > 2) {echo "\n<p class='err'>SQL=<br>".$sqla."<br>$1=gml= '".$gmlp."'</p>";} 
    310454                                } 
    311455                                $j=0; 
     
    339483                        } 
    340484                        // 'keine Adresse' kann vorkommen, z.B. "Deutsche Telekom AG" 
    341  
    342485                        $i++; // cnt Person 
    343486 
     
    353496                        } 
    354497                } // End Loop Person 
    355                 if ($i == 0) { // Kine Parson. Kommt vor hinter Zeile "Erbengemeinschaft", ist dann KEIN Fehler 
     498                if ($i == 0) { // Keine Person. Das kommt vor hinter der Zeile "Erbengemeinschaft" und ist dann KEIN Fehler 
    356499                        if ($rechtsg != 9999) { 
    357500                                echo "\n<p class='err'>(Die Person mit der ID '".$gmlpers."' fehlt im Datenbestand)</p>"; 
     
    365508                $n++; // cnt NamNum 
    366509        } // End Loop NamNum 
    367         echo "\n</table>"; 
    368         if ($n == 0) { // bei "Fiktives Blatt" KEIN Fehler  
     510        if($n > 0) { 
     511                echo "\n</table>"; 
     512        } else { // $n == 0, bei "Fiktives Blatt" KEIN Fehler  
    369513                if ($debug > 1) { 
    370514                        echo "\n<p class='dbg'>keine Namensnummern zum Blatt</p>"; 
    371                         if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".$sqln."<br>$1=gml(Blatt)= '".$gmlid."'</p>";} 
     515                        //if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".$sqln."<br>$1=gml(Blatt)= '".$gmlid."'</p>";} 
    372516                } 
    373517        } 
  • trunk/info/info/alkisn/alkisfshist.php

    r377 r387  
    77        2016-02-24 Version fuer norGIS-ALKIS-Import 
    88        2016-11-29 HTML5, Gemeinsam genutzte Datenbanken ermöglichen (Filter Gemeinde) 
     9        2017-06-06 Validierung Eingabeparameter, Feinkorrekturen 
    910*/ 
    1011 
     
    8586        if (!$resv) { 
    8687                echo "\n<p class='err'>Fehler bei Vorg&auml;nger-FS.</p>"; 
    87                 if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sqlv."<br>$1='".$fsk."'</p>";} 
     88                if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".$sqlv."<br>$1='".$fsk."'</p>";} 
    8889        } 
    8990        $zv=0; 
     
    101102} 
    102103 
     104// START // 
     105 
    103106session_start(); 
    104 $id="n"; 
    105 $gmlid=""; 
    106 $cntget = extract($_GET); 
     107 
     108$showkey="n"; // Var. aus Parameter initalisieren 
     109 
     110$cntget = extract($_GET); // alle Parameter in Variable umwandeln 
     111 
     112// strikte Validierung aller Parameter 
     113if (isset($gmlid)) { 
     114        if (!preg_match('#^[0-9A-Za-z]{16}$#', $gmlid)) {die("Eingabefehler gmlid");} 
     115        $fskennz=''; 
     116} else { // Alternativ 
     117        $gmlid=''; 
     118        if (isset($fskennz)) { // llgggg-fff-11111/222 oder z.B.'052647002001910013__' oder '05264700200012______' 
     119                if (!preg_match('#^[0-9\-_/]{8,20}$#', $fskennz)) {die ("Eingabefehler fskennz");} 
     120        } else { 
     121                $fskennz=''; 
     122        } 
     123} 
     124if (!isset($gkz) or !preg_match('#^[0-9]{3}$#', $gkz)) {die("Eingabefehler gkz");} 
     125if (!preg_match('#^[j|n]{0,1}$#', $showkey)) {die ("Eingabefehler showkey");} 
     126if ($showkey == "j") {$showkey=true;} else {$showkey=false;} // "j"/"n" als boolean umwandeln, ist praktischer abzufragen, wird oft gebraucht 
     127 
    107128require_once("alkis_conf_location.php"); 
    108129if ($auth == "mapbender") {require_once($mapbender);} 
    109130include("alkisfkt.php"); 
    110 $keys = isset($_GET["showkey"]) ? $_GET["showkey"] : "n"; 
    111 if ($keys == "j") {$showkey=true;} else {$showkey=false;} 
     131 
    112132?> 
    113133<!doctype html> 
     
    115135<head> 
    116136        <meta charset="utf-8"> 
     137        <meta name="viewport" content="width=device-width, initial-scale=1.0"> 
    117138        <title>ALKIS Flurst&uuml;cks-Historie</title> 
    118139        <link rel="stylesheet" type="text/css" href="alkisauszug.css"> 
    119140        <link rel="shortcut icon" type="image/x-icon" href="ico/Flurstueck_Historisch.ico"> 
    120         <style type='text/css' media='print'> 
    121                 .noprint {visibility: hidden;} 
    122         </style> 
    123141</head> 
    124142<body> 
    125143<?php 
    126144$con = pg_connect($dbconn." options='--application_name=ALKIS-Auskunft_alkisfshist.php'"); 
    127 if (!$con) echo "<p class='err'>Fehler beim Verbinden der DB</p>\n"; 
     145if (!$con) echo "\n<p class='err'>Fehler beim Verbinden der DB</p>"; 
    128146 
    129147// Such-Parameter bekommen? Welche? 
     
    216234 
    217235// Balken 
    218 echo "<p class='fshis'>ALKIS Flurst&uuml;ck ".$gmkgnr."-".$flurnummer."-".$flstnummer."&nbsp;</p>\n"; 
    219 echo "\n<h2><img src='ico/".$ico."' width='16' height='16' alt=''> Flurst&uuml;ck Historie</h2>\n"; 
     236echo "<p class='fshis'>ALKIS Flurst&uuml;ck ".$gmkgnr."-".$flurnummer."-".$flstnummer."&nbsp;</p>"; 
     237echo "\n<h2><img src='ico/".$ico."' width='16' height='16' alt=''> Flurst&uuml;ck Historie</h2>"; 
    220238 
    221239echo "\n<table class='outer'>\n<tr>\n\t<td>"; // linke Seite 
  • trunk/info/info/alkisn/alkisfsnw.php

    r377 r387  
    1010        2016-12-01 HTML5, Gemeinsam genutzte Datenbanken ermöglichen 
    1111        2016-12-05 Nutzungsart-Kategorie ist nun in Text enthalten, nicht mehr aus der Definition ausschneiden 
     12        2017-06-08 optional "berechtigte Buchungen" anzeigen, Function "eigentuemer" ohne Parameter $con, 
     13                                Validierung Eingabeparameter, Feinkorrekturen 
    1214 
    1315        ToDo: 
    14         - BodenschÀtzung anzeigen 
     16        - BodenschÀtzung anzeigen (siehe Mail Frau Weyand ITEBO vom 15.05.17) 
    1517        - Bessere Differenzierung bei den Nutzungsarten (Tabelle dafÃŒr aufbauen) 
    1618*/ 
    1719session_start(); 
    18 $id="n"; 
     20 
     21// Var. aus Parameter initalisieren 
    1922$eig="n"; 
     23$berbu="n"; 
     24$showkey="n"; 
     25 
     26// alle Parameter in Variable umwandeln 
    2027$cntget = extract($_GET); 
     28 
     29// strikte Validierung aller Parameter 
     30if (isset($gmlid)) { 
     31        if (!preg_match('#^[0-9A-Za-z]{16}$#', $gmlid)) {die("Eingabefehler gmlid");} 
     32        $fskennz=''; 
     33} else { // Alternativ 
     34        $gmlid=''; 
     35        if (isset($fskennz)) { // llgggg-fff-11111/222 oder z.B.'052647002001910013__' oder '05264700200012______' 
     36                if (!preg_match('#^[0-9\-_/]{8,20}$#', $fskennz)) {die ("Eingabefehler fskennz");} 
     37        } else { 
     38                $fskennz=''; 
     39        } 
     40} 
     41if (!isset($gkz) or !preg_match('#^[0-9]{3}$#', $gkz)) {die("Eingabefehler gkz");} 
     42if (!preg_match('#^[j|n]{0,1}$#', $eig)) {die("Eingabefehler eig");} 
     43if (!preg_match('#^[j|n]{0,1}$#', $berbu)) {die ("Eingabefehler berbu");} 
     44if (!preg_match('#^[j|n]{0,1}$#', $showkey)) {die ("Eingabefehler showkey");} 
     45if ($showkey == "j") {$showkey=true;} else {$showkey=false;} // "j"/"n" als boolean umwandeln, ist praktischer abzufragen, wird oft gebraucht 
     46 
    2147require_once("alkis_conf_location.php"); 
    2248if ($auth == "mapbender") {require_once($mapbender);} 
    2349include("alkisfkt.php"); 
    24 $keys = isset($_GET["showkey"]) ? $_GET["showkey"] : "n"; 
    25 if ($keys == "j") {$showkey=true;} else {$showkey=false;} 
    2650?> 
    2751<!doctype html> 
     
    2953<head> 
    3054        <meta charset="utf-8"> 
     55        <meta name="viewport" content="width=device-width, initial-scale=1.0"> 
    3156        <title>ALKIS Flurst&uuml;cksnachweis</title> 
    3257        <link rel="stylesheet" type="text/css" href="alkisauszug.css"> 
     
    3762                } 
    3863        </script> 
    39         <style type='text/css' media='print'> 
    40                 .noprint {visibility: hidden;} 
    41         </style> 
    4264</head> 
    4365<body> 
     
    4567// S t a r t 
    4668$con = pg_connect($dbconn." options='--application_name=ALKIS-Auskunft_alkisfsnw.php'"); 
    47 if (!$con) echo "<p class='err'>Fehler beim Verbinden der DB</p>\n"; 
     69if (!$con) echo "\n<p class='err'>Fehler beim Verbinden der DB</p>"; 
    4870 
    4971// Ein (ALB- ?) FlurstÃŒcks-Kennzeichen wurde alternativ zur gml_id ÃŒbermittelt 
    50 if ($gmlid == '' and $fskennz != '') { 
     72if ($fskennz != '') { 
    5173        // Übergabe Format z.B. "llgggg-fff-nnnn/zz.nn" oder "gggg-ff-nnn/zz" 
    5274        $arr=explode("-", $fskennz, 4); 
    5375        $zgemkg=trim($arr[0]); 
    54         if (strlen($zgemkg) == 20 and $arr[1] == "") { // Oh, ist wohl schon das Datenbank-Feldformat  
     76        if (strlen($zgemkg) == 20 and !isset($arr[1])) { // Oh, ist wohl schon das Datenbank-Feldformat  
    5577                $fskzdb=$zgemkg; 
    5678        } else { // Nö, ist wohl eher ALB-Format 
     
    6587                $zfsnr=trim($arr[2]); // FlurstÃŒcke-Nr 
    6688                $zn=explode("/", $zfsnr, 2); // Bruch? 
    67                 $zzaehler=str_pad(trim($zn[0]), 5 , "0", STR_PAD_LEFT);  
    68                 $znenner=trim($zn[1]); 
     89                $zzaehler=str_pad(trim($zn[0]), 5 , "0", STR_PAD_LEFT); 
     90                if (isset($zn[1])) { 
     91                        $znenner=trim($zn[1]); 
     92                } else { 
     93                        $znenner=""; 
     94                } 
    6995                if (trim($znenner, " 0.") == "") { // kein Bruch oder nur Nullen 
    7096                        $znenner="____"; // in DB-Spalte mit Tiefstrich aufgefÃŒllt 
     
    86112                $gmlid=$row["gml_id"]; 
    87113        } else { 
    88                 echo "<p class='err'>Fehler! Kein Treffer f&uuml;r Flurst&uuml;ckskennzeichen='".$fskennz."' (".$fskzdb.")</p>"; 
     114                echo "\n<p class='err'>Fehler! Kein Treffer f&uuml;r Flurst&uuml;ckskennzeichen='".$fskennz."' (".$fskzdb.")</p>"; 
     115                echo "<p>Kennzeichen veraltet? <a href='./alkisfshist.php?gkz=".$gkz."&fskennz=".$fskennz."'>Suche in der Flurst&uuml;cks-Historie</a></p>"; 
     116                echo "\n</body>\n</html>"; 
     117                return; 
    89118        } 
    90119        pg_free_result($res); 
     
    101130 
    102131if (!$res) { 
    103         echo "\n<p class='err'>Fehler bei Flurstuecksdaten</p>\n"; 
    104         if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";} 
     132        echo "\n<p class='err'>Fehler bei Flurstuecksdaten</p>"; 
     133        if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".htmlentities($sql, ENT_QUOTES, "UTF-8")."<br>$1 = gml_id = '".$gmlid."'</p>";} 
    105134} 
    106135if ($row = pg_fetch_array($res)) { 
     
    123152        $arrn = explode(",", trim($name, "{}") ); // PHP-Array 
    124153} else { 
    125         echo "<p class='err'>Fehler! Kein Treffer f&uuml;r Flurst&uuml;ck mit gml_id=".$gmlid."</p>"; 
    126         if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";} 
    127         echo "</body></html>"; 
     154        echo "\n<p class='err'>Fehler! Kein Treffer f&uuml;r Flurst&uuml;ck mit gml_id=".$gmlid."</p>"; 
     155        if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".htmlentities($sql, ENT_QUOTES, "UTF-8")."<br>$1 = gml_id = '".$gmlid."'</p>";} 
     156        echo "\n</body>\n</html>"; 
    128157        return; 
    129158} 
     
    132161// Balken 
    133162if ($eig=="j") { 
    134         echo "<p class='fsei'>ALKIS Flurst&uuml;ck ".$gmkgnr."-".$flurnummer."-".$flstnummer."&nbsp;</p>\n" 
    135         ."\n<h2><img src='ico/Flurstueck.png' width='16' height='16' alt=''> Flurst&uuml;ck mit Eigent&uuml;mer</h2>\n"; 
     163        echo "<p class='fsei'>ALKIS Flurst&uuml;ck ".$gmkgnr."-".$flurnummer."-".$flstnummer."&nbsp;</p>" 
     164        ."\n<h2><img src='ico/Flurstueck.png' width='16' height='16' alt=''> Flurst&uuml;ck mit Eigent&uuml;mer</h2>"; 
    136165} else { 
    137         echo "<p class='fskennz'>ALKIS Flurst&uuml;ck ".$gmkgnr."-".$flurnummer."-".$flstnummer."&nbsp;</p>\n" 
    138         ."\n<h2><img src='ico/Flurstueck.png' width='16' height='16' alt=''> Flurst&uuml;ck</h2>\n"; 
     166        echo "<p class='fskennz'>ALKIS Flurst&uuml;ck ".$gmkgnr."-".$flurnummer."-".$flstnummer."&nbsp;</p>" 
     167        ."\n<h2><img src='ico/Flurstueck.png' width='16' height='16' alt=''> Flurst&uuml;ck</h2>"; 
    139168} 
    140169 
     
    145174        if ($debug > 2) { 
    146175        //++ Schönes Bild? Stop-Zeichen? 
    147                 echo "<p class='err'>Filter Kreis='".$filtkreis."', Gemeinde='".$filtgem."'</p>" 
    148                 ."<p class='err'>Flstk. Kreis='".$fskrs."', Gemeinde='".$fsgem."'</p>"; 
     176                echo "\n<p class='err'>Filter Kreis='".$filtkreis."', Gemeinde='".$filtgem."'</p>" 
     177                ."\n<p class='err'>Flstk. Kreis='".$fskrs."', Gemeinde='".$fsgem."'</p>"; 
    149178        } 
    150179        echo "\n<br><p class='stop1'>Zugriff nicht erlaubt</p>" 
     
    154183 
    155184echo "\n<table class='outer'>\n<tr>\n\t<td>" // linke Seite 
    156         ."\n\t<table class='kennzfs' title='Flurst&uuml;ckskennzeichen'>\n\t<tr>" // darin Tabelle Kennzeichen 
    157                 ."\n\t\t<td class='head'>Gmkg</td>\n\t\t<td class='head'>Flur</td>\n\t\t<td class='head'>Flurst-Nr.</td>\n\t</tr>" 
    158                 ."\n\t<tr>\n\t\t<td title='Gemarkung'>"; 
     185        ."\n\t\t<table class='kennzfs' title='Flurst&uuml;ckskennzeichen'>\n\t\t<tr>" // darin Tabelle Kennzeichen 
     186                ."\n\t\t\t<td class='head'>Gmkg</td>\n\t\t\t<td class='head'>Flur</td>\n\t\t\t<td class='head'>Flurst-Nr.</td>\n\t\t</tr>" 
     187                ."\n\t\t<tr>\n\t\t\t<td title='Gemarkung'>"; 
    159188                if ($showkey) { 
    160189                        echo "<span class='key'>".$gmkgnr."</span><br>"; 
    161190                } 
    162191                echo $gemkname."&nbsp;</td>" 
    163                 ."\n\t\t<td title='Flurnummer'>".$flurnummer."</td>" 
    164                 ."\n\t\t<td title='Flurst&uuml;cksnummer (Z&auml;hler / Nenner)'><span class='wichtig'>".$flstnummer."</span></td>\n\t</tr>" 
    165         ."\n\t</table>" 
     192                ."\n\t\t\t<td title='Flurnummer'>".$flurnummer."</td>" 
     193                ."\n\t\t\t<td title='Flurst&uuml;cksnummer (Z&auml;hler / Nenner)'><span class='wichtig'>".$flstnummer."</span></td>\n\t\t</tr>" 
     194        ."\n\t\t</table>" 
    166195."\n\t</td>\n\t<td>" // rechte Seite 
    167         ."\n\t<table class='fsd'>" // FS-Daten 2 Spalten 
    168                 ."\n\t<tr>\n\t\t<td>Entstehung</td>" 
    169                 ."\n\t\t<td>".$entsteh."</td>\n\t</tr>" 
    170                 ."\n\t<tr>" 
    171                         ."\n\t\t<td>letz. Fortf</td>" 
    172                         ."\n\t\t<td title='Jahrgang / Fortf&uuml;hrungsnummer - Fortf&uuml;hrungsart'>"; 
     196        ."\n\t\t<table class='fsd'>" // FS-Daten 2 Spalten 
     197                ."\n\t\t<tr>\n\t\t\t<td>Entstehung</td>" 
     198                ."\n\t\t\t<td>".$entsteh."</td>\n\t\t</tr>" 
     199                ."\n\t\t<tr>" 
     200                        ."\n\t\t\t<td>letz. Fortf</td>" 
     201                        ."\n\t\t\t<td title='Jahrgang / Fortf&uuml;hrungsnummer - Fortf&uuml;hrungsart'>"; 
    173202                                foreach($arrn AS $val) { // Zeile f. jedes Element des Array 
    174203                                        echo trim($val, '"')."<br>"; 
    175204                                } 
    176205                        echo "</td>" 
    177                 ."\n\t</tr>" 
    178         ."\n\t</table>" 
     206                ."\n\t\t</tr>" 
     207        ."\n\t\t</table>" 
    179208."\n\t</td>\n</tr>\n</table>"; 
    180209//      echo "\n<tr>\n\t<td>Finanzamt</td>\n\t<td>".$finanzamt." ".$finame  . "</td>\n</tr>"; 
     
    197226$res = pg_execute("", $v); 
    198227if (!$res) { 
    199         echo "\n<p class='err'>Fehler bei Gemeinde</p>\n"; 
    200         if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."</p>";} 
     228        echo "\n<p class='err'>Fehler bei Gemeinde</p>"; 
     229        if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".htmlentities($sql, ENT_QUOTES, "UTF-8")."</p>";} 
    201230} 
    202231$row = pg_fetch_array($res); 
    203232$gnam = htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); 
    204 echo "\n\t<td class='lr'>Gemeinde</td><td class='lr'>"; 
    205 if ($showkey) { 
    206         echo "<span class='key'>(".$gemeinde.")</span> "; 
    207 } 
     233echo "\n\t<td class='lr'>Gemeinde</td>\n\t<td class='lr'>"; 
     234if ($showkey) {echo "<span class='key'>(".$gemeinde.")</span> ";} 
    208235// Link zur FS-Historie (passt nicht ganz in die Zeile "Gemeinde", aber gut unter "weitere Auskunft") 
    209 echo $gnam."</td><td class='nwlink'>" 
    210         ."\n<p class='nwlink noprint'>" 
    211                 ."\n\t<a href='alkisfshist.php?gkz=".$gkz."&amp;gmlid=".$gmlid; 
    212                         if ($showkey)   {echo "&amp;showkey=j";} 
     236echo $gnam."</td>\n\t<td class='nwlink'>" 
     237        ."\n\t\t<p class='nwlink noprint'>" 
     238                ."\n\t\t\t<a href='alkisfshist.php?gkz=".$gkz."&amp;gmlid=".$gmlid; 
     239                        if ($showkey) {echo "&amp;showkey=j";} 
    213240                        echo "' title='Vorg&auml;nger-Flurst&uuml;cke'>Historie " 
    214241                        ."<img src='ico/Flurstueck_Historisch.png' width='16' height='16' alt=''>" 
    215242                ."</a>" 
    216         ."\n</p>" 
    217 . "</td></tr>"; 
     243        ."\n\t\t</p>" 
     244. "\n\t</td>\n</tr>"; 
    218245pg_free_result($res); 
    219246 
     
    224251$res = pg_execute("", $v); 
    225252if (!$res) { 
    226         echo "\n<p class='err'>Fehler bei Kreis</p>\n"; 
    227         if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."</p>";} 
     253        echo "\n<p class='err'>Fehler bei Kreis</p>"; 
     254        if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".htmlentities($sql, ENT_QUOTES, "UTF-8")."</p>";} 
    228255} 
    229256$row = pg_fetch_array($res); 
    230257$knam = htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); 
    231 echo "<tr><td>&nbsp;</td><td>Kreis</td><td>"; 
    232 if ($showkey) { 
    233         echo "<span class='key'>(".$kreis.")</span> "; 
    234 } 
    235 echo $knam."</td><td>&nbsp;</td></tr>"; 
     258echo "\n<tr>\n\t<td>&nbsp;</td>\n\t<td>Kreis</td>\n\t<td>"; 
     259if ($showkey) {echo "<span class='key'>(".$kreis.")</span> ";} 
     260echo $knam."</td>\n\t<td>&nbsp;</td>\n</tr>"; 
    236261pg_free_result($res); 
    237262 
     
    242267$res = pg_execute("", $v); 
    243268if (!$res) { 
    244         echo "<p class='err'>Fehler bei Regierungsbezirk</p>"; 
    245         if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."</p>";} 
     269        echo "\n<p class='err'>Fehler bei Regierungsbezirk</p>"; 
     270        if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".htmlentities($sql, ENT_QUOTES, "UTF-8")."</p>";} 
    246271} 
    247272$row=pg_fetch_array($res); 
    248273$bnam=htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); 
    249 echo "<tr><td>&nbsp;</td><td>Regierungsbezirk</td><td>"; 
    250 if ($showkey) { 
    251         echo "<span class='key'>(".$bezirk.")</span> "; 
    252 } 
    253 echo $bnam."</td><td>&nbsp;</td></tr>"; 
     274echo "\n<tr>\n\t<td>&nbsp;</td>\n\t<td>Regierungsbezirk</td>\n\t<td>"; 
     275if ($showkey) {echo "<span class='key'>(".$bezirk.")</span> ";} 
     276echo $bnam."</td>\n\t<td>&nbsp;</td>\n</tr>"; 
    254277pg_free_result($res); 
    255278// ENDE G e b i e t s z u g e h o e r i g k e i t 
     
    270293 
    271294if (!$res) { 
    272         echo "<p class='err'>Fehler bei Lagebezeichnung mit Hausnummer</p>"; 
     295        echo "\n<p class='err'>Fehler bei Lagebezeichnung mit Hausnummer</p>"; 
    273296        if ($debug > 1) { 
    274                 //echo "<p class='dbg'>Fehler:".pg_result_error($res)."</p>"; 
    275                 echo "<p class='dbg'>Fehler:".pg_last_error()."</p>"; 
    276         } 
    277         if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";} 
     297                echo "\n<p class='dbg'>Fehler:".pg_last_error()."</p>"; 
     298                if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".htmlentities($sql, ENT_QUOTES, "UTF-8")."<br>$1 = gml_id = '".$gmlid."'</p>";} 
     299        } 
    278300} else { 
    279301        $j=0; 
     
    282304                echo "\n<tr>\n\t"; 
    283305                        if ($j == 0) { 
    284                                 echo "<td class='ll'><img src='ico/Lage_mit_Haus.png' width='16' height='16' alt=''> Adresse:</td>"; 
     306                                echo "\n\t<td class='ll'><img src='ico/Lage_mit_Haus.png' width='16' height='16' alt=''> Adresse:</td>"; 
    285307                        } else { 
    286                                 echo "<td>&nbsp;</td>"; 
     308                                echo "\n\t<td>&nbsp;</td>"; 
    287309                        } 
    288310                        echo "\n\t<td>&nbsp;</td>" 
     
    316338$res = pg_execute("", $v); 
    317339if (!$res) { 
    318         echo "<p class='err'>Fehler bei Lagebezeichnung ohne Hausnummer</p>"; 
     340        echo "\n<p class='err'>Fehler bei Lagebezeichnung ohne Hausnummer</p>"; 
    319341        //if ($debug > 1) {echo "<p class='dbg'>Fehler:".pg_result_error($res)."</p>";} 
    320         if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";} 
     342        if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".htmlentities($sql, ENT_QUOTES, "UTF-8")."<br>$1 = gml_id = '".$gmlid."'</p>";} 
    321343} 
    322344$j=0; 
     
    376398$res = pg_execute("", $v); 
    377399if (!$res) { 
    378         echo "<p class='err'>Fehler bei Suche tats. Nutzung</p>\n"; 
    379         if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";} 
     400        echo "\n<p class='err'>Fehler bei Suche tats. Nutzung</p>"; 
     401        if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".htmlentities($sql, ENT_QUOTES, "UTF-8")."<br>$1 = gml_id = '".$gmlid."'</p>";} 
    380402} 
    381403$the_Xfactor=$fsbuchflae / $fsgeomflae; // geom. ermittelte FlÀche auf amtl. BuchflÀche angleichen 
     
    481503 
    482504 Die EntschlÃŒsselung der Nutzungsart in den verschiedenen ALKIS-Varianten ist darin unterentwickelt. 
    483  Diese ist eigentlich fÃŒr jede der getrennten Tabellen der Gruppe Nutzungsrt individuell. 
     505 Diese ist eigentlich fÃŒr jede der getrennten Tabellen der Gruppe Nutzungsart individuell. 
    484506 Die Classic-Lösung mit 2 Zusatzfeldern war schon sehr pauschalisiert, aber  
    485507 durch die RÃŒck-Konvertierung in ALB-Strukturen in der norGIS-Version ist das zu stark vereinfacht. 
     
    499521 
    500522$fskennzalb=$defland.$gmkgnr."-".str_pad($flurnummer,3,"0",STR_PAD_LEFT)."-".str_pad($zaehler,5,"0",STR_PAD_LEFT)."/".str_pad($nenner,3,"0",STR_PAD_LEFT); 
    501 // echo "<p class='err'>Kennz ALB='".$fskennzalb."'</p>"; 
     523// echo "\n<p class='err'>Kennz ALB='".$fskennzalb."'</p>"; 
    502524 
    503525$v = array($fskennzalb); 
     
    505527$res = pg_execute("", $v); 
    506528if (!$res) { 
    507         echo "<p class='err'>Fehler bei Suche tats. Nutzung</p>\n"; 
    508         if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = FS-Kennz = '".$fskennzalb."'</p>";} 
     529        echo "\n<p class='err'>Fehler bei Suche tats. Nutzung</p>"; 
     530        if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".htmlentities($sql, ENT_QUOTES, "UTF-8")."<br>$1 = FS-Kennz = '".$fskennzalb."'</p>";} 
    509531} 
    510532 
     
    584606$res_bodeneuordnung = pg_execute($con, "bodeneuordnung", array($gmlid)); 
    585607if (!$res_bodeneuordnung) { 
    586         echo "<p class='err'>Fehler bei Bau-, Raum- oder Bodenordnungsrecht</p>\n"; 
    587         if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql_boden."<br>$1 = gml_id = '".$gmlid."'</p>";} 
     608        echo "\n<p class='err'>Fehler bei Bau-, Raum- oder Bodenordnungsrecht</p>"; 
     609        if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".$sql_boden."<br>$1 = gml_id = '".$gmlid."'</p>";} 
    588610} 
    589611 
     
    594616$res_strittigeGrenze = pg_execute($con, "strittigeGrenze", array($gmlid)); 
    595617if (!$res_strittigeGrenze) { 
    596         echo "<p class='err'>Fehler bei strittige Grenze</p>\n"; 
    597         if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql_str."<br>$1 = gml_id = '".$gmlid."'</p>";} 
     618        echo "\n<p class='err'>Fehler bei strittige Grenze</p>"; 
     619        if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".$sql_str."<br>$1 = gml_id = '".$gmlid."'</p>";} 
    598620} 
    599621 
     
    667689 
    668690// G R U N D B U C H 
    669 echo "\n<table class='outer'>" 
     691echo "\n\n<table class='outer'>" 
    670692        ."\n<tr>" 
    671693                ."\n\t<td>" 
    672                         ."\n\t\t<a id='gb'></a>\n\t\t<h3><img src='ico/Grundbuch_zu.png' width='16' height='16' alt=''> Grundb&uuml;cher</h3>" 
     694                        ."\n\t\t<h3 id='gb'><img src='ico/Grundbuch_zu.png' width='16' height='16' alt=''> Grundb&uuml;cher</h3>" 
    673695                ."\n\t</td>" 
    674696                ."\n\t<td>" 
    675697                        ."\n\t\t<p class='nwlink noprint'>" 
    676                                 ."\n\t\t\t<a href='".$_SERVER['PHP_SELF']. "?gkz=".$gkz."&amp;gmlid=".$gmlid; 
     698                                ."\n\t\t\t<a href='".$_SERVER['PHP_SELF']. "?gkz=".$gkz."&amp;gmlid=".$gmlid."&amp;berbu=".$berbu; 
    677699                                if ($showkey) {echo "&amp;showkey=j";} 
    678700 
    679                                 // Umschalter: FS-Nachw ruft sich selbst mit geaend. Param. auf. Posit. auf Marke #gb 
     701                                // Umschalter: FS-Nachweis ruft sich selbst mit geaendertem Parameter auf. Positionierung auf Marke "#gb" 
    680702                                if ($eig=="j") { 
    681703                                        echo "&amp;eig=n#gb' title='Flurst&uuml;cksnachweis'>ohne Eigent&uuml;mer</a>"; 
    682                                 } else { // ++ könnte man sich sparen, wenn unten nur ein "fiktives Blatt" kommt 
     704                                } else { 
    683705                                        echo "&amp;eig=j#gb' title='Flurst&uuml;cks- und Eigent&uuml;mernachweis'>mit Eigent&uuml;mer " 
    684706                                        ."<img src='ico/EigentuemerGBzeile.png' width='16' height='16' alt=''></a>"; 
     
    687709                ."\n\t</td>" 
    688710        ."\n</tr>" 
    689 ."\n</table>\n"; 
     711."\n</table>"; 
    690712 
    691713// B U C H U N G S S T E L L E N  zum FS (istGebucht) 
     
    699721$ress = pg_execute("", $v); 
    700722if (!$ress) { 
    701         echo "\n<p class='err'>Keine Buchungsstelle.</p>\n"; 
     723        echo "\n<p class='err'>Keine Buchungsstelle.</p>"; 
    702724        if ($debug > 1) { 
    703725                echo "<p class='dbg'>Fehler:".pg_result_error($ress)."</p>"; 
    704                 if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";} 
     726                if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".htmlentities($sql, ENT_QUOTES, "UTF-8")."<br>$1 = gml_id = '".$gmlid."'</p>";} 
    705727        } 
    706728} 
    707729$bs=0; // Z.BuchungsStelle 
    708 while($rows = pg_fetch_array($ress)) { 
     730while($rows = pg_fetch_array($ress)) {  // Schleife Buchungs-Stelle 
    709731        $gmls=$rows["gml_id"]; // gml b-Stelle 
    710732        $lfd=$rows["lfd"]; // BVNR 
     
    723745        $resg=pg_execute("", $v); 
    724746        if (!$resg) { 
    725                 echo "\n<p class='err'>Kein Buchungsblatt.</p>\n"; 
    726                 if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmls."'</p>";} 
     747                echo "\n<p class='err'>Kein Buchungsblatt.</p>"; 
     748                if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".htmlentities($sql, ENT_QUOTES, "UTF-8")."<br>$1 = gml_id = '".$gmls."'</p>";} 
    727749        } 
    728750        $bl=0; // Z.Blatt 
     
    732754                $blattkeyg=$rowg["blattart"]; // Key 
    733755                $blattartg=$rowg["blattartv"]; // Value 
     756                $blatt=$rowg["blatt"]; 
    734757                echo "\n<hr>" 
    735758                ."\n<table class='outer'>" 
     
    739762                                // Rahmen mit GB-Kennz 
    740763                                if ($blattkeyg == 1000) { 
    741                                         echo "\n\t<table class='kennzgb' title='Bestandskennzeichen'>"; 
     764                                        echo "\n\t\t<table class='kennzgb' title='Bestandskennzeichen'>"; 
    742765                                }else { 
    743                                         echo "\n\t<table class='kennzgbf' title='Bestandskennzeichen'>"; // dotted 
     766                                        echo "\n\t\t<table class='kennzgbf' title='Bestandskennzeichen'>"; // GB fiktiv = Rahmen dotted 
    744767                                } 
    745                                         echo "\n\t<tr>\n\t\t<td class='head'>Bezirk</td>" 
    746                                                 ."\n\t\t<td class='head' title='".$rowg["blattartd"]."'>"; 
     768                                        echo "\n\t\t<tr>\n\t\t\t<td class='head'>Bezirk</td>" 
     769                                                ."\n\t\t\t<td class='head' title='".$rowg["blattartd"]."'>"; 
    747770                                                if ($showkey) {echo "<span class='key'>".$blattkeyg."</span>&nbsp;";} 
    748771                                                echo $blattartg."</td>" 
    749                                                 ."\n\t\t<td class='head'>Lfd-Nr.</td>" 
    750                                                 ."\n\t\t<td class='head'>Buchungsart</td>" 
    751                                         ."\n\t</tr>" 
    752                                         ."\n\t<tr>" 
    753                                                 ."\n\t\t<td title='Grundbuchbezirk'>"; 
    754                                                         if ($showkey) {echo "<span class='key'>".$rowg["bezirk"]."</span><br>";} 
     772                                                ."\n\t\t\t<td class='head'>Lfd-Nr.</td>" 
     773                                                ."\n\t\t\t<td class='head'>Buchungsart</td>" 
     774                                        ."\n\t\t</tr>" 
     775                                        ."\n\t\t<tr>" 
     776                                                ."\n\t\t\t<td title='Grundbuchbezirk'>"; 
     777                                                if ($showkey) {echo "<span class='key'>".$rowg["bezirk"]."</span><br>";} 
    755778                                                echo $beznam."&nbsp;</td>" 
    756                                                 ."\n\t\t<td title='Grundbuch-Blatt'><span class='wichtig'>".$rowg["blatt"]."</span></td>" 
    757                                                 ."\n\t\t<td title='Bestandsverzeichnis-Nummer (BVNR, Grundst&uuml;ck)'>".$rows["lfd"]."</td>" 
    758                                                 ."\n\t\t<td title='".$barttitle."'>"; 
     779                                                ."\n\t\t\t<td title='Grundbuch-Blatt'><span class='wichtig'>".$blatt."</span></td>" 
     780                                                ."\n\t\t\t<td title='Bestandsverzeichnis-Nummer (BVNR, Grundst&uuml;ck)'>".$lfd."</td>" 
     781                                                ."\n\t\t\t<td title='".$barttitle."'>"; 
    759782                                                if ($showkey) {echo "<span class='key'>".$rows["buchungsart"]."</span><br>";} 
    760783                                                echo $rows["bart"]."</td>" 
    761                                         ."\n\t</tr>" 
    762                                 ."\n\t</table>"; 
     784                                        ."\n\t\t</tr>" 
     785                                ."\n\t\t</table>"; 
    763786 
    764787                                // Miteigentumsanteil 
     
    766789                                        echo "\n<p class='ant'>".$rows["zaehler"]."/".$rows["nenner"]."&nbsp;Anteil am Flurst&uuml;ck</p>"; 
    767790                                } 
    768                         echo "\n</td>\n<td>"; // Outer rechte Spalte: NW-Links 
    769                                 echo "\n\t<p class='nwlink noprint'>weitere Auskunft:<br>" 
    770                                         ."\n\t\t<a href='alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$gmlg."#bvnr".$lfd; 
    771                                                 if ($showkey)   {echo "&amp;showkey=j";} 
     791                        echo "\n\t</td>\n\t<td>"; // Outer rechte Spalte: NW-Links 
     792 
     793                                echo "\n\t\t<p class='nwlink noprint'>weitere Auskunft:<br>"; 
     794                                        if ($showkey) {echo "<span class='key'>".$blattkeyg."</span> ";} 
     795                                        echo "\n\t\t\t<a href='alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$gmlg; 
     796                                                if ($showkey) {echo "&amp;showkey=j";} 
     797                                                echo "#bvnr".$lfd; // Die # hinter die &-Paramter 
    772798                                                if ($blattkeyg == 1000) { 
    773799                                                        echo "' title='Grundbuchnachweis mit kompletter Eigent&uuml;merangabe'>"; 
     
    777803                                                echo $blattartg." <img src='ico/GBBlatt_link.png' width='16' height='16' alt=''>" 
    778804                                        ."</a>" 
    779                                 ."\n\t</p>"; 
    780  
    781                                 ber_bs_hinw($gmls); // berechtigte Buchungstellen Hinweis 
    782  
    783                         echo "\n</td>" 
     805                                ."\n\t\t</p>"; 
     806 
     807                                // berechtigte Buchungstellen (im rechten Teil der Àußeren Tab. 
     808                                $cnt_ber = ber_bs_hinw($gmls, $gmlid); // Hinweis ausgeben, zÀhlen 
     809 
     810                        echo "\n\t</td>" // ende aussen rechts 
    784811                ."\n</tr>" 
    785812                ."\n</table>"; 
     
    787814                // +++ Weitere Felder ausgeben? BeschreibungDesUmfangsDerBuchung 
    788815                if ($rows["sond"] != "") { 
    789                         echo "<p class='sond' title='Sondereigentum'>Verbunden mit dem Sondereigentum<br>".$rows["sond"]."</p>"; 
     816                        echo "\n<p class='sond' title='Sondereigentum'>Verbunden mit dem Sondereigentum<br>".$rows["sond"]."</p>"; 
    790817                } 
    791818                if ($rows["nrpl"] != "") { 
    792                         echo "<p class='nrap' title='Nummer im Aufteilungsplan'>Nummer <span class='wichtig'>".$rows["nrpl"]."</span> im Aufteilungsplan.</p>"; 
     819                        echo "\n<p class='nrap' title='Nummer im Aufteilungsplan'>Nummer <span class='wichtig'>".$rows["nrpl"]."</span> im Aufteilungsplan.</p>"; 
    793820                } 
    794821 
     
    796823                // Person <-benennt< AX_Namensnummer  >istBestandteilVon-> AX_Buchungsblatt 
    797824                if ($eig=="j") { // Wahlweise mit/ohne EigentÃŒmer 
    798                         echo "\n\n<h3><img src='ico/Eigentuemer_2.png' width='16' height='16' alt=''> Angaben zum Eigentum</h3>\n"; 
    799                         $n = eigentuemer($con, $gmlg, false, ""); // ohne Adresse 
     825                        $n = eigentuemer($gmlg, false, ""); // ohne Adresse 
    800826                        if ($n == 0) { 
    801827                                if ($blattkeyg == 1000) { 
     
    806832                        } 
    807833                } 
    808                 $bl++; 
    809         } 
    810         if ($bl == 0) {echo "\n<p class='err'>Kein Buchungsblatt gefunden.</p>";} 
    811         $bs++; 
    812 } 
     834 
     835                // B e r e c h t i g t e   B u c h u n g e n  ... zu dieser Buchungs-Stelle. Optional. 
     836                if ($berbu=="j") { // Wahlweise anzeigen 
     837                        echo "\n<hr>\n<h3 id='berbu'><img src='ico/Grundbuch.png' width='16' height='16' alt=''> Berechtigte Buchungen</h3>" 
     838                        ."\n<p>".$cnt_ber." Buchungen mit Rechten an der Buchung ".$lfd." auf ".$blattartg." ".$blatt." von ".$beznam.":</p>"; 
     839                        ber_bs_anz($gmls, $eig); // berechtigte Buchungstellen und GB-BlÀtter Anzeigen, und ggf. auch mit EigentÃŒmer 
     840                } 
     841                $bl++; // ZÀhl Blatt 
     842        } 
     843        if ($bl == 0) {echo "\n<p class='err'>Kein Buchungsblatt zur Buchungstelle gefunden.</p>";} 
     844        $bs++; // ZÀhl Buchungs-Stelle 
     845} 
     846 
    813847pg_free_result($resg); 
    814 if ($bs == 0) {echo "\n<p class='err'>Keine Buchungstelle gefunden.</p>";} 
     848if ($bs == 0) {echo "\n<p class='err'>Keine Buchungstelle zum Flurst&uuml;ck gefunden.</p>";} 
    815849pg_close($con); 
    816850echo <<<END 
     
    823857</div> 
    824858END; 
    825 footer($gmlid, $_SERVER['PHP_SELF']."?", "&amp;eig=".$eig); 
     859footer($gmlid, $_SERVER['PHP_SELF']."?", "&amp;eig=".$eig."&amp;berbu=".$berbu); 
    826860?> 
    827861</body> 
  • trunk/info/info/alkisn/alkisgebaeudenw.php

    r377 r387  
    77        2016-11-29 HTML5, Gemeinsam genutzte Datenbanken ermöglichen 
    88        2016-12-05 Array-Behandlung ax_gebaeude.name 
     9        2017-06-08 Validierung Eingabeparameter, Feinkorrekturen 
    910*/ 
    1011session_start(); 
    11 $id="n"; 
    12 $cntget = extract($_GET); 
     12 
     13$showkey="n"; // Var. aus Parameter initalisieren 
     14$cntget = extract($_GET); // Parameter in Variable umwandeln 
     15 
     16// strikte Validierung aller Parameter 
     17if (!isset($gmlid) or !preg_match('#^[0-9A-Za-z]{16}$#', $gmlid)) {die("Eingabefehler gmlid");} 
     18if (!isset($gkz) or !preg_match('#^[0-9]{3}$#', $gkz)) {die("Eingabefehler gkz");} 
     19if (!preg_match('#^[j|n]{0,1}$#', $showkey)) {die ("Eingabefehler showkey");} 
     20if ($showkey == "j") {$showkey=true;} else {$showkey=false;} 
     21 
    1322require_once("alkis_conf_location.php"); 
    1423if ($auth == "mapbender") {require_once($mapbender);} 
    1524include("alkisfkt.php"); 
    16 $keys = isset($_GET["showkey"]) ? $_GET["showkey"] : "n"; 
    17 if ($keys == "j") {$showkey=true;} else {$showkey=false;} 
    1825?> 
    1926<!doctype html> 
     
    2128<head> 
    2229        <meta charset="utf-8"> 
     30        <meta name="viewport" content="width=device-width, initial-scale=1.0"> 
    2331        <title>ALKIS Geb&auml;udenachweis</title> 
    2432        <link rel="stylesheet" type="text/css" href="alkisauszug.css"> 
    2533        <link rel="shortcut icon" type="image/x-icon" href="ico/Haus.ico"> 
    26         <style type='text/css' media='print'> 
    27                 .noprint {visibility: hidden;} 
    28         </style> 
    2934</head> 
    3035<body> 
    3136<?php 
    3237$con = pg_connect($dbconn." options='--application_name=ALKIS-Auskunft_alkisgebaeudenw.php'"); 
    33 if (!$con) echo "<p class='err'>Fehler beim Verbinden der DB</p>\n"; 
     38if (!$con) echo "\n<p class='err'>Fehler beim Verbinden der DB</p>"; 
    3439 
    3540// Flurstueck 
     
    4146$resf=pg_execute("", $v); 
    4247if (!$resf) { 
    43         echo "\n<p class='err'>Fehler bei Flurst&uuml;cksdaten.</p>\n"; 
    44         if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sqlf."<br>$1 = gml_id = '".$gmlid."'</p>";} 
     48        echo "\n<p class='err'>Fehler bei Flurst&uuml;cksdaten.</p>"; 
     49        if ($debug > 2) {echo "\n<p class='err'>SQL=<br>".$sqlf."<br>$1 = gml_id = '".$gmlid."'</p>";} 
    4550} 
    4651 
     
    5661        $flstflaeche = $rowf["amtlicheflaeche"] ; 
    5762} else { 
    58         echo "<p class='err'>Fehler! Kein Treffer fuer gml_id=".$gmlid."</p>"; 
     63        echo "\n<p class='err'>Fehler! Kein Treffer fuer gml_id=".$gmlid."</p>"; 
    5964} 
    6065 
    6166// Balken 
    62 echo "<p class='geb'>ALKIS Flurst&uuml;ck (Geb&auml;ude) ".$gmkgnr."-".$flurnummer."-".$flstnummer."&nbsp;</p>\n"; 
    63  
    64 echo "\n<h2><img src='ico/Flurstueck.png' width='16' height='16' alt=''> Flurst&uuml;ck (Geb&auml;ude)</h2>\n"; 
     67echo "<p class='geb'>ALKIS Flurst&uuml;ck (Geb&auml;ude) ".$gmkgnr."-".$flurnummer."-".$flstnummer."&nbsp;</p>"; 
     68 
     69echo "\n<h2><img src='ico/Flurstueck.png' width='16' height='16' alt=''> Flurst&uuml;ck (Geb&auml;ude)</h2>"; 
    6570 
    6671// Kennzeichen in Rahmen 
     
    117122$resg=pg_execute("", $v); 
    118123if (!$resg) { 
    119         echo "\n<p class='err'>Fehler bei Geb&auml;ude-Verschneidung.</p>\n"; 
    120         if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sqlg."<br>$1 = gml_id = '".$gmlid."'</p>";} 
     124        echo "\n<p class='err'>Fehler bei Geb&auml;ude-Verschneidung.</p>"; 
     125        if ($debug > 2) {echo "\n<p class='err'>SQL=<br>".$sqlg."<br>$1 = gml_id = '".$gmlid."'</p>";} 
    121126} 
    122127$gebnr=0; 
     
    203208                        $resl = pg_execute("", $v); 
    204209                        if (!$resl) { 
    205                                 echo "\n<p class='err'>Fehler bei Lage mit HsNr.</p>\n"; 
    206                                 if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sqll."<br>$1 = gml_id = '".$gmlid."'</p>";} 
     210                                echo "\n<p class='err'>Fehler bei Lage mit HsNr.</p>"; 
     211                                if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".$sqll."<br>$1 = gml_id = '".$gmlid."'</p>";} 
    207212                        } 
    208213                        while($rowl = pg_fetch_array($resl)) { // LOOP: Lagezeilen 
  • trunk/info/info/alkisn/alkishaus.php

    r377 r387  
    77        2016-11-29 HTML5, Gemeinsam genutzte Datenbanken ermöglichen 
    88        2016-12-05 Array-Behandlung ax_gebaeude.name 
     9        2017-06-08 Validierung Eingabeparameter, Feinkorrekturen 
    910 
    1011        ToDo: 
     
    1819*/ 
    1920session_start(); 
    20 $id="n"; 
    21 $allfld = "n"; 
    22 $cntget = extract($_GET); 
     21 
     22$allfld = "n"; $showkey="n"; // Var. aus Parameter initalisieren 
     23$cntget = extract($_GET); // Parameter in Variable umwandeln 
     24 
     25// strikte Validierung aller Parameter 
     26if (!isset($gmlid) or !preg_match('#^[0-9A-Za-z]{16}$#', $gmlid)) {die("Eingabefehler gmlid");} 
     27if (!isset($gkz) or !preg_match('#^[0-9]{3}$#', $gkz)) {die("Eingabefehler gkz");} 
     28if (!preg_match('#^[j|n]{0,1}$#', $showkey)) {die ("Eingabefehler showkey");} 
     29if ($showkey == "j") {$showkey=true;} else {$showkey=false;} 
     30 
     31if (!preg_match('#^[j|n]{0,1}$#', $allfld)) {die ("Eingabefehler allfld");} 
     32if ($allfld == "j") {$allefelder=true;} else {$allefelder=false;} 
     33 
    2334require_once("alkis_conf_location.php"); 
    2435if ($auth == "mapbender") {require_once($mapbender);} 
    2536include("alkisfkt.php"); 
    26 $keys = isset($_GET["showkey"]) ? $_GET["showkey"] : "n"; 
    27 if ($keys == "j") {$showkey=true;} else {$showkey=false;} 
    28 if ($allfld == "j") {$allefelder=true;} else {$allefelder=false;} 
    2937?> 
    3038<!doctype html> 
     
    3240<head> 
    3341        <meta charset="utf-8"> 
     42        <meta name="viewport" content="width=device-width, initial-scale=1.0"> 
    3443        <title>ALKIS Daten zum Haus</title> 
    3544        <link rel="stylesheet" type="text/css" href="alkisauszug.css"> 
    3645        <link rel="shortcut icon" type="image/x-icon" href="ico/Haus.ico"> 
    37         <style type='text/css' media='print'> 
    38                 .noprint {visibility: hidden;} 
    39                 td.mittelspalte {width: 190px;} 
    40         </style> 
     46        <style type='text/css' media='print'> td.mittelspalte {width: 190px;} </style> 
    4147</head> 
    4248<body> 
     
    4450 
    4551$con = pg_connect($dbconn." options='--application_name=ALKIS-Auskunft_alkishaus.php'"); 
    46 if (!$con) echo "<p class='err'>Fehler beim Verbinden der DB</p>\n"; 
     52if (!$con) echo "\n<p class='err'>Fehler beim Verbinden der DB</p>"; 
    4753 
    4854// G e b a e u d e 
     
    6571$resg = pg_execute("", $v); 
    6672if (!$resg) { 
    67         echo "\n<p class='err'>Fehler bei Geb&auml;ude.<br>".pg_last_error()."</p>\n"; 
    68         if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sqlg."<br>$1 = gml_id = '".$gmlid."'</p>";} 
     73        echo "\n<p class='err'>Fehler bei Geb&auml;ude.<br>".pg_last_error()."</p>"; 
     74        if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".$sqlg."<br>$1 = gml_id = '".$gmlid."'</p>";} 
    6975} 
    7076 
    7177// Balken 
    72 echo "<p class='geb'>ALKIS Haus ".$gmlid."&nbsp;</p>\n"; // ++ Kennzeichen? 
    73  
    74 echo "\n<h2><img src='ico/Haus.png' width='16' height='16' alt=''> Haus (Geb&auml;ude)</h2>\n"; 
     78echo "\n<p class='geb'>ALKIS Haus ".$gmlid."&nbsp;</p>"; // ++ Kennzeichen? 
     79echo "\n<h2><img src='ico/Haus.png' width='16' height='16' alt=''> Haus (Geb&auml;ude)</h2>"; 
    7580 
    7681// Kennzeichen in Rahmen  
     
    166171        $resl = pg_execute("", $v); 
    167172        if (!$resl) { 
    168                 echo "\n<p class='err'>Fehler bei Lage mit HsNr.</p>\n"; 
    169                 if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sqll."<br>$1 = gml_id = '".$gmlid."'</p>";} 
     173                echo "\n<p class='err'>Fehler bei Lage mit HsNr.</p>"; 
     174                if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".$sqll."<br>$1 = gml_id = '".$gmlid."'</p>";} 
    170175        } 
    171176        $zhsnr=0; 
     
    186191                echo "\n\t\t<img src='ico/Lage_mit_Haus.png' width='16' height='16' alt=''>&nbsp;"; 
    187192                if ($showkey) {echo "<span class='key'>(".$skey.")</span>&nbsp;";}                       
    188                 echo "\n\t\t<a title='Hausnummer' href='alkislage.php?gkz=".$gkz."&amp;gmlid=".$gmllag."&amp;ltyp=".$ltyp."'>" 
    189                         .$snam."&nbsp;".$hsnr; 
     193                echo "\n\t\t<a title='Hausnummer' href='alkislage.php?gkz=".$gkz."&amp;gmlid=".$gmllag."&amp;ltyp=".$ltyp; 
     194                        if ($showkey) {echo "&amp;showkey=j";} 
     195                        echo "'>".$snam."&nbsp;".$hsnr; 
    190196                        if ($ltyp == "p") {echo ", lfd.Nr ".$hlfd;} 
    191197                echo "</a><br>"; 
     
    287293                                $resw = pg_execute("", $v); 
    288294                                if (!$resw) { 
    289                                         echo "\n<p class='err'>Fehler bei Geb&auml;ude - weitere Funktion.</p>\n"; 
    290                                         if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sqlw."<br>$1 = Werteliste = '".$wgf."'</p>";} 
     295                                        echo "\n<p class='err'>Fehler bei Geb&auml;ude - weitere Funktion.</p>"; 
     296                                        if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".$sqlw."<br>$1 = Werteliste = '".$wgf."'</p>";} 
    291297                                } 
    292298                                $zw=0; 
     
    382388        echo "\n</table>"; 
    383389} 
    384 if ($gebnr == 0) {echo "<p class='err'><br>Kein Geb&auml;ude gefunden<br>&nbsp;</p>";} 
     390if ($gebnr == 0) {echo "\n<p class='err'><br>Kein Geb&auml;ude gefunden<br>&nbsp;</p>";} 
    385391 
    386392// ++ ToDo: Verschnitt mit FS? 
  • trunk/info/info/alkisn/alkisinlayausk.php

    r377 r387  
    1212        2016-02-24 Version fuer norGIS-ALKIS-Import 
    1313        2016-11-29 HTML5, Gemeinsam genutzte Datenbanken ermöglichen (Berechtigung fÃŒr Gemeinde prÃŒfen) 
     14        2017-06-01 Function "eigentuemer" ohne Parameter $con 
     15        2017-06-08 Validierung Eingabeparameter, Feinkorrekturen 
    1416*/ 
    1517session_start(); 
    16 $cntget = extract($_GET); 
     18 
     19$cntget = extract($_GET); // Parameter in Variable umwandeln 
     20 
     21// strikte Validierung aller Parameter 
     22if (!isset($gmlid) or !preg_match('#^[0-9A-Za-z]{16}$#', $gmlid)) {die("Eingabefehler gmlid");} 
     23if (!isset($gkz) or !preg_match('#^[0-9]{3}$#', $gkz)) {die("Eingabefehler gkz");} 
     24 
    1725require_once("alkis_conf_location.php"); 
    1826if ($auth == "mapbender") {require_once($mapbender);} 
    1927include("alkisfkt.php"); 
    20 $gmlid = isset($_GET["gmlid"]) ? $_GET["gmlid"] : 0; 
     28 
    2129echo <<<END 
    2230<!doctype html> 
     
    2432<head> 
    2533        <meta charset="utf-8"> 
     34        <meta name="viewport" content="width=device-width, initial-scale=1.0"> 
    2635        <link rel="stylesheet" type="text/css" href="alkisauszug.css"> 
    2736        <link rel="shortcut icon" type="image/x-icon" href="ico/Flurstueck.ico"> 
     
    4857$res = pg_execute("", $v); 
    4958if (!$res) { 
    50         echo "\n<p class='err'>Fehler bei Flurstuecksdaten.</p>\n"; 
    51         if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";} 
     59        echo "\n<p class='err'>Fehler bei Flurstuecksdaten.</p>"; 
     60        if ($debug > 2) {echo "\n<p class='err'>SQL=<br>".htmlentities($sql, ENT_QUOTES, "UTF-8")."<br>$1 = gml_id = '".$gmlid."'</p>";} 
    5261} 
    5362 
     
    6574        $fsgem=$row["gemeinde"]; 
    6675} else { 
    67         echo "<p class='err'>Kein Treffer fuer gml_id=".$gmlid."</p>"; 
    68         //if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";} 
     76        echo "\n<p class='err'>Kein Treffer fuer gml_id=".$gmlid."</p>"; 
    6977} 
    7078 
     
    7482        // Einer der gesetzten Filter passt nicht 
    7583        if ($debug > 2) { 
    76                 echo "<p class='err'>Filter Kreis='".$filtkreis."', Gemeinde='".$filtgem."'</p>"; 
    77                 echo "<p class='err'>Flstk. Kreis='".$fskrs."', Gemeinde='".$fsgem."'</p>"; 
     84                echo "\n<p class='err'>Filter Kreis='".$filtkreis."', Gemeinde='".$filtgem."'</p>"; 
     85                echo "\n<p class='err'>Flstk. Kreis='".$fskrs."', Gemeinde='".$fsgem."'</p>"; 
    7886        } 
    7987        echo "\n<br><p class='stop1'>Zugriff nicht erlaubt</p> 
     
    127135$res=pg_execute("", $v); 
    128136if (!$res) { 
    129         echo "<p class='err'>Fehler bei Lagebezeichnung mit Hausnummer.</p>"; 
    130         if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";} 
     137        echo "\n<p class='err'>Fehler bei Lagebezeichnung mit Hausnummer.</p>"; 
     138        if ($debug > 2) {echo "\n<p class='err'>SQL=<br>".htmlentities($sql, ENT_QUOTES, "UTF-8")."<br>$1 = gml_id = '".$gmlid."'</p>";} 
    131139} 
    132140$j=0; 
     
    152160if ($j == 0) { // keine HsNr gefunden 
    153161        // Lage OHNE HausNr 
    154         $sql="SELECT DISTINCT s.gml_id AS kgml, l.gml_id, s.bezeichnung, l.unverschluesselt  
    155         FROM ax_flurstueck f JOIN ax_lagebezeichnungohnehausnummer l ON l.gml_id=ANY(f.zeigtauf) 
    156         LEFT JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage  
    157         WHERE f.gml_id= $1 AND f.endet IS NULL AND l.endet IS NULL AND s.endet IS NULL ORDER BY s.bezeichnung;"; 
     162        $sql="SELECT DISTINCT s.gml_id AS kgml, l.gml_id, s.bezeichnung, l.unverschluesselt " 
     163        ."FROM ax_flurstueck f JOIN ax_lagebezeichnungohnehausnummer l ON l.gml_id=ANY(f.zeigtauf) " 
     164        ."LEFT JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage " 
     165        ."WHERE f.gml_id= $1 AND f.endet IS NULL AND l.endet IS NULL AND s.endet IS NULL ORDER BY s.bezeichnung;"; 
    158166 
    159167        $v=array($gmlid); 
     
    161169        $res=pg_execute("", $v); 
    162170        if (!$res) { 
    163                 echo "<p class='err'>Fehler bei Lagebezeichnung ohne Hausnummer.</p>"; 
    164                 if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";} 
     171                echo "\n<p class='err'>Fehler bei Lagebezeichnung ohne Hausnummer.</p>"; 
     172                if ($debug > 2) {echo "\n<p class='err'>SQL=<br>".htmlentities($sql, ENT_QUOTES, "UTF-8")."<br>$1 = gml_id = '".$gmlid."'</p>";} 
    165173        } 
    166174        while($row = pg_fetch_array($res)) { 
     
    190198        pg_free_result($res); 
    191199} 
    192 echo "\n</table>\n"; 
     200echo "\n</table>"; 
    193201 
    194202// Flurstuecksflaeche 
    195 echo "\n<p class='fsd'>Flurst&uuml;cksfl&auml;che: <b>".$flae."</b></p>\n"; 
     203echo "\n<p class='fsd'>Flurst&uuml;cksfl&auml;che: <b>".$flae."</b></p>"; 
    196204 
    197205// *** G R U N D B U C H *** 
     
    214222$resg=pg_execute("", $v); 
    215223if (!$resg) { 
    216         echo "\n<p class='err'>Keine Buchungen.</p>\n"; 
    217         if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";} 
     224        echo "\n<p class='err'>Keine Buchungen.</p>"; 
     225        if ($debug > 2) {echo "\n<p class='err'>SQL=<br>".htmlentities($sql, ENT_QUOTES, "UTF-8")."<br>$1 = gml_id = '".$gmlid."'</p>";} 
    218226} 
    219227while($rowg = pg_fetch_array($resg)) { 
     
    253261 
    254262        // E I G E N T U E M E R 
    255         if ($blattkey == 5000) { // Schluessel Blattart 
     263        if ($blattkey == 5000) { // kein Eigent. bei fiktiv. Blatt 
    256264                echo "\n<p>Keine Angaben zum Eigentum bei fiktivem Blatt</p>\n" 
    257                 ."\n<p>Siehe weitere Grundbuchbl&auml;tter mit Rechten an dem fiktiven Blatt.</p>\n"; 
    258         } else {// kein Eigent. bei fiktiv. Blatt 
    259                 echo "\n\n<h3><img src='ico/Eigentuemer_2.png' width='16' height='16' alt=''> Angaben zum Eigentum</h3>\n"; 
    260  
    261                 // Ausgabe Name in Function 
    262                 $n = eigentuemer($con, $rowg["gml_id"], false, "imFenster"); // ohne Adressen 
    263  
     265                ."\n<p>Siehe weitere Grundbuchbl&auml;tter mit Rechten an dem fiktiven Blatt.</p>"; 
     266        } else { // Ausgabe Name in Function 
     267                $n = eigentuemer($rowg["gml_id"], false, "imFenster"); // ohne Adressen 
    264268                if ($n == 0) { // keine NamensNr, kein Eigentuemer 
    265269                        echo "\n<p class='err'>Keine Eigent&uuml;mer gefunden.</p>" 
  • trunk/info/info/alkisn/alkisinlaybaurecht.php

    r377 r387  
    77        2016-02-24 Version fuer norGIS-ALKIS-Import 
    88        2016-11-29 HTML5, Gemeinsam genutzte Datenbanken ermöglichen 
     9        2017-06-08 Validierung Eingabeparameter, Feinkorrekturen 
    910*/ 
    1011session_start(); 
    11 $cntget = extract($_GET); 
     12  
     13$cntget = extract($_GET); // Parameter in Variable umwandeln 
     14 
     15// strikte Validierung aller Parameter 
     16if (!isset($gmlid) or !preg_match('#^[0-9A-Za-z]{16}$#', $gmlid)) {die("Eingabefehler gmlid");} 
     17if (!isset($gkz) or !preg_match('#^[0-9]{3}$#', $gkz)) {die("Eingabefehler gkz");} 
     18 
    1219require_once("alkis_conf_location.php"); 
    1320if ($auth == "mapbender") {require_once($mapbender);} 
     
    1724<head> 
    1825        <meta charset="utf-8"> 
     26        <meta name="viewport" content="width=device-width, initial-scale=1.0"> 
    1927        <title>ALKIS Bau-, Raum- oder Bodenordnungsrecht</title> 
    2028        <link rel="stylesheet" type="text/css" href="alkisauszug.css"> 
     
    3240<?php 
    3341$con = pg_connect($dbconn." options='--application_name=ALKIS-Auskunft_alkisinlaybaurecht.php'"); 
    34 if (!$con) echo "<p class='err'>Fehler beim Verbinden der DB</p>\n"; 
     42if (!$con) echo "\n<p class='err'>Fehler beim Verbinden der DB</p>"; 
    3543 
    3644// Keine Spalten, die eine Berechtigungsprüfung nach Gemeinde ermöglichen: 
     
    4553 
    4654if (!$res) { 
    47         echo "\n<p class='err'>Fehler bei Baurecht.</p>\n"; 
    48         if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = ".$gmlid."</p>\n";} 
     55        echo "\n<p class='err'>Fehler bei Baurecht.</p>"; 
     56        if ($debug > 2) {echo "\n<p class='err'>SQL=<br>".$sql."<br>$1 = ".$gmlid."</p>";} 
    4957} 
    50 echo "\n<h2><img src='ico/Gericht.png' width='16' height='16' alt=''> Bau-, Raum- oder Bodenordnungsrecht</h2>\n"; 
     58echo "\n<h2><img src='ico/Gericht.png' width='16' height='16' alt=''> Bau-, Raum- oder Bodenordnungsrecht</h2>"; 
    5159 
    5260if ($row = pg_fetch_array($res)) { 
  • trunk/info/info/alkisn/alkislage.php

    r377 r387  
    99        2016-03-14 Korrekturen 
    1010        2016-11-29 HTML5, Gemeinsam genutzte Datenbanken ermöglichen 
     11        2017-06-08 Validierung Eingabeparameter, gestreifte Tabelle, Feinkorrekturen 
    1112 
    1213        ToDo: 
    1314        - Balken-Kennzeichen kompatibel machen mit der Eingabe der Navigation fÃŒr Adresse 
    1415        - das Modul "alkisgebaeudenw" (alle Geb. auf einem FS) verschneidet die FlÀchen und findet damit auch  
    15                 Grenz-Uberbauungen und angrenzende GebÀude. Diese fehlen hier, weil nur VerknÃŒpfungen verarbeitet werden. 
    16                 Mit FlÀchen-Verschneidung auch weitere FS anzeigen? 
     16        Grenz-Uberbauungen und angrenzende GebÀude. Diese fehlen hier, weil nur VerknÃŒpfungen verarbeitet werden. 
     17        Mit FlÀchen-Verschneidung auch weitere FS anzeigen? 
    1718*/ 
    1819session_start(); 
    19 $id="n"; 
    20 $cntget = extract($_GET); 
     20 
     21$showkey="n"; // Var. aus Parameter initalisieren 
     22$cntget = extract($_GET); // Parameter in Variable umwandeln 
     23 
     24// strikte Validierung aller Parameter 
     25if (!isset($gmlid) or !preg_match('#^[0-9A-Za-z]{16}$#', $gmlid)) {die("Eingabefehler gmlid");} 
     26if (!isset($gkz) or !preg_match('#^[0-9]{3}$#', $gkz)) {die("Eingabefehler gkz");} 
     27if (!preg_match('#^[j|n]{0,1}$#', $showkey)) {die ("Eingabefehler showkey");} 
     28if ($showkey == "j") {$showkey=true;} else {$showkey=false;} 
     29if (!preg_match('#^[m|p|o]{1}$#', $ltyp)) {die ("Eingabefehler ltyp");} 
     30 
    2131require_once("alkis_conf_location.php"); 
    2232if ($auth == "mapbender") {require_once($mapbender);} 
     
    3444                $tnam = "ax_lagebezeichnungmithausnummer"; break; 
    3545} 
    36  
    37 $keys = isset($_GET["showkey"]) ? $_GET["showkey"] : "n"; 
    38 if ($keys == "j") {$showkey=true;} else {$showkey=false;} 
    3946?> 
    4047<!doctype html> 
     
    4249<head> 
    4350        <meta charset="utf-8"> 
     51        <meta name="viewport" content="width=device-width, initial-scale=1.0"> 
    4452        <title>ALKIS Lagebezeichnung</title> 
    4553        <link rel="stylesheet" type="text/css" href="alkisauszug.css"> 
    4654        <link rel="shortcut icon" type="image/x-icon" href="ico/Lage_mit_Haus.ico"> 
    47         <style type='text/css' media='print'> 
    48                 .noprint {visibility: hidden;} 
    49         </style> 
    5055</head> 
    5156<body> 
    5257<?php 
    5358$con = pg_connect($dbconn." options='--application_name=ALKIS-Auskunft_alkislage.php'"); 
    54 if (!$con) echo "<p class='err'>Fehler beim Verbinden der DB</p>\n"; 
     59if (!$con) echo "\n<p class='err'>Fehler beim Verbinden der DB</p>"; 
    5560 
    5661// L a g e b e z e i c h n u n g 
     
    8085$res = pg_execute("", $v); 
    8186if (!$res) { 
    82         echo "\n<p class='err'>Fehler bei Lagebezeichnung.</p>\n"; 
    83         if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";} 
     87        echo "\n<p class='err'>Fehler bei Lagebezeichnung.</p>"; 
     88        if ($debug > 2) {echo "\n<p class='err'>SQL=<br>".htmlentities($sql, ENT_QUOTES, "UTF-8")."<br>$1 = gml_id = '".$gmlid."'</p>";} 
    8489} 
    8590 
     
    104109                        $kennz.=$hsnr; 
    105110                        $untertitel="Hauptgeb&auml;ude mit Hausnummer"; 
    106                         // Balken 
    107                         echo "<p class='lage'>ALKIS Lagebezeichnung mit Hausnummer ".$kennz."&nbsp;</p>\n"; // Balken 
     111                        echo "\n<p class='lage'>ALKIS Lagebezeichnung mit Hausnummer ".$kennz."&nbsp;</p>"; // Balken 
    108112                        $osub=""; 
    109113                break; 
     
    113117                        $kennz.=$pseu."-".$lfd; 
    114118                        $untertitel="NebengebÀude mit laufender Nummer (Lagebezeichnung mit Pseudonummer)"; 
    115                         echo "<p class='lage'>ALKIS Lagebezeichnung NebengebÀude ".$kennz."&nbsp;</p>\n"; // Balken 
     119                        echo "\n<p class='lage'>ALKIS Lagebezeichnung NebengebÀude ".$kennz."&nbsp;</p>"; // Balken 
    116120                        $osub=""; 
    117121                break; 
     
    123127                                $kennz=" - ".$unver; 
    124128                                $untertitel="Gewanne (unverschl&uuml;sselte Lage)"; 
    125                                 echo "<p class='lage'>ALKIS Lagebezeichnung Ohne Hausnummer ".$kennz."&nbsp;</p>\n"; // Balken 
     129                                echo "\n<p class='lage'>ALKIS Lagebezeichnung Ohne Hausnummer ".$kennz."&nbsp;</p>"; // Balken 
    126130                        } else { 
    127131                                $osub="s"; // Sub-Typ Strasse (ohne HsNr) 
    128132                                $kennz.=$unver; 
    129133                                $untertitel="Stra&szlig;e ohne Hausnummer"; 
    130                                 echo "<p class='lage'>ALKIS Lagebezeichnung Ohne Hausnummer ".$kennz."&nbsp;</p>\n"; // Balken 
     134                                echo "\n<p class='lage'>ALKIS Lagebezeichnung Ohne Hausnummer ".$kennz."&nbsp;</p>"; // Balken 
    131135                        } 
    132136                break; 
    133137        } 
    134138} else { 
    135         echo "<p class='err'>Fehler! Kein Treffer fuer Lagebezeichnung mit gml_id='".$gmlid."'</p>"; 
     139        echo "\n<p class='err'>Fehler! Kein Treffer fuer Lagebezeichnung mit gml_id='".$gmlid."'</p>"; 
    136140        if ($debug > 2) { 
    137                 echo "<p class='err'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>"; 
    138         } 
    139         echo "</body></html>"; 
     141                echo "\n<p class='err'>SQL=<br>".htmlentities($sql, ENT_QUOTES, "UTF-8")."<br>$1 = gml_id = '".$gmlid."'</p>"; 
     142        } 
     143        echo "\n</body>\n</html>"; 
    140144        exit; 
    141145} 
    142146 
    143 echo "\n<h2><img src='ico/Lage_mit_Haus.png' width='16' height='16' alt='HAUS'> Lagebezeichnung</h2>\n"; 
    144  
    145 echo "<p>Typ: ".$untertitel."</p>"; 
     147echo "\n<h2><img src='ico/Lage_mit_Haus.png' width='16' height='16' alt='HAUS'> Lagebezeichnung</h2>\n" 
     148."<p>Typ: ".$untertitel."</p>"; 
    146149 
    147150echo "\n<table class='outer'>\n<tr>\n\t<td>";   // Tab. Kennz. 
    148151        // ToDo: !! kleiner, wenn ltyp=0 und die Schluesselfelder leer sind 
    149         echo "\n\t<table class='kennzla' title='Lage'>" 
    150                 ."\n\t<tr>"; 
     152        echo "\n\t\t<table class='kennzla' title='Lage'>" 
     153                ."\n\t\t<tr>"; 
    151154                        if ($osub != "g") { // nicht bei Gewanne 
    152                                 echo "\n\t\t<td class='head'>Land</td>" 
    153                                 ."\n\t\t<td class='head'>Reg.-Bez.</td>" 
    154                                 ."\n\t\t<td class='head'>Kreis</td>" 
    155                                 ."\n\t\t<td class='head'>Gemeinde</td>" 
    156                                 ."\n\t\t<td class='head'>Stra&szlig;e</td>"; 
     155                                echo "\n\t\t\t<td class='head'>Land</td>" 
     156                                ."\n\t\t\t<td class='head'>Reg.-Bez.</td>" 
     157                                ."\n\t\t\t<td class='head'>Kreis</td>" 
     158                                ."\n\t\t\t<td class='head'>Gemeinde</td>" 
     159                                ."\n\t\t\t<td class='head'>Stra&szlig;e</td>"; 
    157160                        } 
    158161                        switch ($ltyp) { 
    159162                                case "m": // "Mit HsNr" 
    160                                         echo "\n\t\t<td class='head'>Haus-Nr</td>"; 
     163                                        echo "\n\t\t\t<td class='head'>Haus-Nr</td>"; 
    161164                                break; 
    162165                                case "p": // "mit PseudoNr" 
    163                                         echo "\n\t\t<td class='head'>Haus-Nr</td>" 
    164                                         ."\n\t\t<td class='head'>lfd.-Nr</td>"; 
     166                                        echo "\n\t\t\t<td class='head'>Haus-Nr</td>" 
     167                                        ."\n\t\t\t<td class='head'>lfd.-Nr</td>"; 
    165168                                break; 
    166169                                case "o": //"Ohne HsNr" 
    167170                                        if ($osub == "g") { 
    168                                                 echo "\n\t\t<td class='head'>unverschl&uuml;sselte Lage</td>"; 
     171                                                echo "\n\t\t\t<td class='head'>unverschl&uuml;sselte Lage</td>"; 
    169172                                        } 
    170173                                break; 
    171174                        } 
    172                 echo "\n\t</tr>\n\t<tr>"; 
     175                echo "\n\t\t</tr>\n\t\t<tr>"; 
    173176                        if ($osub != "g") { // nicht bei Gewanne 
    174177 
    175                                 echo "\n\t\t<td title='Bundesland'>"; 
     178                                echo "\n\t\t\t<td title='Bundesland'>"; 
    176179                                if ($showkey) {echo "<span class='key'>".$land."</span><br>";} 
    177180                                echo $bnam."&nbsp;</td>"; 
    178181 
    179                                 echo "\n\t\t<td title='Regierungsbezirk'>"; 
     182                                echo "\n\t\t\t<td title='Regierungsbezirk'>"; 
    180183                                if ($showkey) {echo "<span class='key'>".$regbez."</span><br>";} 
    181184                                echo $rnam."&nbsp;</td>"; 
    182185 
    183                                 echo "\n\t\t<td title='Kreis'>"; 
     186                                echo "\n\t\t\t<td title='Kreis'>"; 
    184187                                if ($showkey and $osub != "g") {echo "<span class='key'>".$kreis."</span><br>";} 
    185188                                echo $knam."&nbsp;</td>"; 
    186189 
    187                                 echo "\n\t\t<td title='Gemeinde'>"; 
     190                                echo "\n\t\t\t<td title='Gemeinde'>"; 
    188191                                if ($showkey and $osub != "g") {echo "<span class='key'>".$gem."</span><br>";} 
    189192                                echo $gnam."&nbsp;</td>"; 
    190193 
    191                                 echo "\n\t\t<td title='Stra&szlig;e'>"; 
     194                                echo "\n\t\t\t<td title='Stra&szlig;e'>"; 
    192195                                if ($showkey and $osub != "g") {echo "<span class='key'>".$lage."</span><br>";} 
    193196                                if ($ltyp == "o") { 
     
    201204                        switch ($ltyp) { 
    202205                                case "m": 
    203                                         echo "\n\t\t<td title='Hausnummer und Zusatz'><span class='wichtig'>".$hsnr."</span></td>"; 
     206                                        echo "\n\t\t\t<td title='Hausnummer und Zusatz'><span class='wichtig'>".$hsnr."</span></td>"; 
    204207                                break; 
    205208                                case "p": 
    206                                         echo "\n\t\t<td title='Pseudonummer - Nebengeb&auml;ude zu dieser Hausnummer'>".$pseu."</td>" 
    207                                         ."\n\t\t<td title='Laufende Nummer Nebengeb&auml;ude'><span class='wichtig'>".$lfd."</span></td>"; 
     209                                        echo "\n\t\t\t<td title='Pseudonummer - Nebengeb&auml;ude zu dieser Hausnummer'>".$pseu."</td>" 
     210                                        ."\n\t\t\t<td title='Laufende Nummer Nebengeb&auml;ude'><span class='wichtig'>".$lfd."</span></td>"; 
    208211                                break; 
    209212                                case "o": 
    210213                                        if ($osub == "g") { 
    211                                                 echo "\n\t\t<td title='Gewanne'><span class='wichtig'>".$unver."</span></td>"; 
     214                                                echo "\n\t\t\t<td title='Gewanne'><span class='wichtig'>".$unver."</span></td>"; 
    212215                                        } 
    213216                                break; 
    214217                        } 
    215                 echo "\n\t</tr>" 
    216         ."\n\t</table>"; 
     218                echo "\n\t\t</tr>" 
     219        ."\n\t\t</table>"; 
    217220 
    218221        echo "\n\t</td>\n\t<td>"; 
     
    221224        if ($osub != "g") { // Link zu Strasse 
    222225                echo "\n\t\t<p class='nwlink noprint'>" 
    223                         ."\n\t\t<a href='alkisstrasse.php?gkz=".$gkz."&amp;gmlid=".$strgml; 
     226                        ."\n\t\t\t<a href='alkisstrasse.php?gkz=".$gkz."&amp;gmlid=".$strgml; 
    224227                        if ($showkey) {echo "&amp;showkey=j";} 
    225228                        echo "' title='Stra&szlig;e'>Stra&szlig;e <img src='ico/Strassen.png' width='16' height='16' alt=''></a>" 
     
    235238// ++ auch FlÀchenverschneidung? 
    236239if ($ltyp <> "p") { // Pseudonummer linkt nur GebÀude 
    237         echo "\n\n<a id='fs'></a><h3><img src='ico/Flurstueck.png' width='16' height='16' alt=''> Flurst&uuml;cke</h3>\n" 
     240        echo "\n\n<a id='fs'></a>\n<h3><img src='ico/Flurstueck.png' width='16' height='16' alt=''> Flurst&uuml;cke</h3>" 
    238241        ."\n<p>mit dieser Lagebezeichnung.</p>"; 
    239242        switch ($ltyp) { 
     
    251254        $resf = pg_execute("", $v); 
    252255        if (!$resf) { 
    253                 echo "<p class='err'>Fehler bei Flurst&uuml;ck.</p>\n"; 
    254                 if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";}      
     256                echo "\n<p class='err'>Fehler bei Flurst&uuml;ck.</p>"; 
     257                if ($debug > 2) {echo "\n<p class='err'>SQL=<br>".htmlentities($sql, ENT_QUOTES, "UTF-8")."<br>$1 = gml_id = '".$gmlid."'</p>";}         
    255258        } 
    256259        echo "\n<table class='fs'>" 
     
    260263                ."\n\t<td class='heads fsnr' title='Flurst&uuml;cksnummer (Z&auml;hler / Nenner)'><img src='ico/sort.png' width='10' height='10' alt='' title='Sortierung'>Flurst.</td>" 
    261264                ."\n\t<td class='head fla'>Fl&auml;che</td>" 
    262                 ."\n\t<td class='head nwlink noprint' title='Link: weitere Auskunft'>weit. Auskunft</td>" 
     265                ."\n\t<td class='head nwlink noprint' title='Verlinkung zu anderen Nachweis-Arten und verbundenen Objekten'>weitere Auskunft</td>" 
    263266        ."\n</tr>"; 
    264267        $j=0; 
     268        $zpaar=false; 
    265269        while($rowf = pg_fetch_array($resf)) { 
    266270                $flur=str_pad($rowf["flurnummer"], 3, "0", STR_PAD_LEFT); 
     
    268272                if ($rowf["nenner"] != "") {$fskenn.="/".$rowf["nenner"];} 
    269273                $flae=number_format($rowf["amtlicheflaeche"],0,",",".") . " m&#178;"; 
    270                 echo "\n<tr>" 
     274 
     275                if ($zpaar) {$trclass='paa';} else {$trclass='unp';} 
     276                $zpaar=!$zpaar; 
     277 
     278                echo "\n<tr class='".$trclass."'>" 
    271279                        ."\n\t<td>"; 
    272280                        if ($showkey) {echo "<span class='key'>".$rowf["gemarkungsnummer"]."</span> ";} 
     
    276284                        ."\n\t<td class='fla'>".$flae."</td>" 
    277285                        ."\n\t<td>\n\t\t<p class='nwlink noprint'>" 
    278                                 ."\n\t\t<a href='alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$rowf["gml_id"]."&amp;eig=n"; 
     286                                ."\n\t\t\t<a href='alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$rowf["gml_id"]."&amp;eig=n"; 
    279287                                if ($showkey) {echo "&amp;showkey=j";} 
    280288                                echo "' title='Flurst&uuml;cksnachweis'>Flurst&uuml;ck <img src='ico/Flurstueck_Link.png' width='16' height='16' alt=''></a>" 
     
    290298// andere Lage mit gleicher Hausnummer suchen 
    291299if ($ltyp <> "o") { // nicht bei Gewanne (Ohne HsNr) 
    292         echo "\n\n<a id='lage'></a><h3><img src='ico/Lage_mit_Haus.png' width='16' height='16' alt=''> Lage</h3>\n" 
    293         ."\n<p>andere Lagebezeichnungen zur gleichen Hausnummer.</p>"; 
     300        echo "\n\n<a id='lage'></a>\n<h3><img src='ico/Lage_mit_Haus.png' width='16' height='16' alt=''> Lage</h3>" 
     301        ."\n<p>Andere Lagebezeichnungen zur gleichen Hausnummer.</p>"; 
    294302        $whereclaus="WHERE land= $1 AND regierungsbezirk= $2 AND kreis= $3 AND gemeinde= $4 AND lage= $5 "; 
    295303 
    296         $url=$_SERVER['PHP_SELF']."?gkz=".$gkz."&amp;id=".$id; // Basis 
    297         if ($showkey)   {$url.="&amp;showkey=j";} 
     304        $url=$_SERVER['PHP_SELF']."?gkz=".$gkz; // Basis 
     305        if ($showkey) {$url.="&amp;showkey=j";} 
    298306        $url.="&amp;gmlid="; 
    299307 
    300308        switch ($ltyp) { 
    301                 case "m": // aktuell: Hausnummer gefunden 
     309                case "m": // aktuell: Hausnummer gefunden (HauptgebÀude) 
    302310                        // dazu alle NebengebÀude suchen 
    303311                        echo "\n<p>Nebengeb&auml;ude:&nbsp;"; 
     
    309317                        $res = pg_execute("", $v); 
    310318                        if (!$res) { 
    311                                 echo "\n<p class='err'>Fehler bei Nebengeb&auml;ude.<br>".$sql."</p>\n"; 
    312                                 if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."</p>";} 
     319                                echo "\n<p class='err'>Fehler bei Nebengeb&auml;ude.<br>".$sql."</p>"; 
     320                                if ($debug > 2) {echo "\n<p class='err'>SQL=<br>".htmlentities($sql, ENT_QUOTES, "UTF-8")."</p>";} 
    313321                        } 
    314322                        $neb=0; 
     
    321329                break; 
    322330 
    323                 case "p": // aktuell NebengebÀude: Haupt- und NebengebÀude suchen 
     331                case "p": // aktuell NebengebÀude: Haupt- und (andere) NebengebÀude suchen 
    324332                        echo "\n<p>Hauptgeb&auml;ude: "; 
    325                         $sql ="SELECT l.gml_id FROM ax_lagebezeichnungmithausnummer l "; 
    326                         $sql.=$whereclaus."AND hausnummer= $6 AND l.endet IS NULL ;"; 
     333                        $sql ="SELECT l.gml_id FROM ax_lagebezeichnungmithausnummer l ".$whereclaus."AND hausnummer= $6 AND l.endet IS NULL ;"; 
    327334 
    328335                        $v = array($land,$regbez,$kreis,$gem,$lage,$pseu); 
     
    330337                        $res = pg_execute("", $v); 
    331338 
    332                         if (!$res) {echo "<p class='err'>Fehler bei Hauptgeb&auml;ude.<br>".$sql."</p>\n";} 
     339                        if (!$res) {echo "\n<p class='err'>Fehler bei Hauptgeb&auml;ude.<br>".$sql."</p>";} 
    333340                        $hg=0; 
    334341                        while($row = pg_fetch_array($res)) { 
     
    346353                        $res = pg_execute("", $v); 
    347354                        if (!$res) { 
    348                                 echo "\n<p class='err'>Fehler bei Nebengeb&auml;ude.</p>\n"; 
    349                                 if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."</p>";}                    
     355                                echo "\n<p class='err'>Fehler bei Nebengeb&auml;ude.</p>"; 
     356                                if ($debug > 2) {echo "\n<p class='err'>SQL=<br>".htmlentities($sql, ENT_QUOTES, "UTF-8")."</p>";}                       
    350357                        } 
    351358                        $neb=0; 
     
    362369// G E B A E U D E 
    363370if ($ltyp <> "o") { // OhneHsNr linkt nur Flurst. 
    364         echo "\n\n<a id='geb'></a><h3><img src='ico/Haus.png' width='16' height='16' alt=''> Geb&auml;ude</h3>" 
     371        echo "\n\n<a id='geb'></a>\n<h3><img src='ico/Haus.png' width='16' height='16' alt=''> Geb&auml;ude</h3>" 
    365372        ."\n<p>mit dieser Lagebezeichnung.</p>"; 
    366373        switch ($ltyp) { 
     
    382389        $res = pg_execute("", $v); 
    383390        if (!$res) { 
    384                 echo "<p class='err'>Fehler bei Geb&auml;ude.</p>\n"; 
    385                 if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";} 
     391                echo "\n<p class='err'>Fehler bei Geb&auml;ude.</p>"; 
     392                if ($debug > 2) {echo "\n<p class='err'>SQL=<br>".htmlentities($sql, ENT_QUOTES, "UTF-8")."<br>$1 = gml_id = '".$gmlid."'</p>";} 
    386393        } 
    387394        echo "\n<table class='geb'>" 
     
    398405                $ggml=$row["gml_id"]; 
    399406                $gfla=$row["flaeche"]; 
    400                 echo "\n\t<tr>" 
    401                         ."<td>".$row["name"]."</td>" 
    402                         ."<td class='fla'>".$gfla." m&#178;</td>"; 
    403  
    404                         echo "<td title='".$row["ud"]."'>"; 
    405                         if ($showkey) {echo "<span class='key'>".$row["gebaeudefunktion"]."</span> ";} 
     407                echo "\n<tr>" 
     408                        ."\n\t<td>".$row["name"]."</td>" 
     409                        ."\n\t<td class='fla'>".$gfla." m&#178;</td>"; 
     410 
     411                        echo "\n\t<td title='".htmlentities($row["ud"], ENT_QUOTES, "UTF-8")."'>"; 
     412                        if ($showkey) {echo "<span class='key'>".htmlentities($row["gebaeudefunktion"], ENT_QUOTES, "UTF-8")."</span> ";} 
    406413                        echo $row["uv"]."</td>"; 
    407414 
    408                         echo "<td title='".$row["hd"]."'>"; 
    409                         if ($showkey) {echo "<span class='key'>".$row["bauweise"]."</span> ";} 
     415                        echo "\n\t<td title='".htmlentities($row["hd"], ENT_QUOTES, "UTF-8")."'>"; 
     416                        if ($showkey) {echo "<span class='key'>".htmlentities($row["bauweise"], ENT_QUOTES, "UTF-8")."</span> ";} 
    410417                        echo $row["hv"]."</td>"; 
    411418                                 
    412                         echo "<td title='".$row["zd"]."'>"; 
    413                         if ($showkey) {echo "<span class='key'>".$row["zustand"]."</span> ";} 
     419                        echo "\n\t<td title='".htmlentities($row["zd"] , ENT_QUOTES, "UTF-8")."'>"; 
     420                        if ($showkey) {echo "<span class='key'>".htmlentities($row["zustand"], ENT_QUOTES, "UTF-8")."</span> ";} 
    414421                        echo $row["zv"]."</td>"; 
    415422 
    416423                        echo "\n\t<td class='nwlink noprint'>" 
    417                                 ."<a title='komplette Hausdaten' href='alkishaus.php?gkz=".$gkz."&amp;gmlid=".$ggml 
    418                                 ."'>Haus <img src='ico/Haus.png' width='16' height='16' alt=''></a>" 
    419                         ."</td>" 
    420                 ."</tr>"; 
     424                                ."\n\t\t<a title='komplette Hausdaten' href='alkishaus.php?gkz=".$gkz."&amp;gmlid=".$ggml; 
     425                                if ($showkey) {echo "&amp;showkey=j";} 
     426                                echo "'>Haus <img src='ico/Haus.png' width='16' height='16' alt=''></a>" 
     427                        ."\n\t</td>" 
     428                ."\n</tr>"; 
    421429        } 
    422430        echo "\n</table>"; 
    423431} 
    424  
    425432?> 
    426433 
    427434<div class='buttonbereich noprint'> 
    428 <hr> 
     435        <hr> 
    429436        <a title="zur&uuml;ck" href='javascript:history.back()'><img src="ico/zurueck.png" width="16" height="16" alt="zur&uuml;ck"></a>&nbsp; 
    430437        <a title="Drucken" href='javascript:window.print()'><img src="ico/print.png" width="16" height="16" alt="Drucken"></a>&nbsp; 
  • trunk/info/info/alkisn/alkisnamstruk.php

    r377 r387  
    88        2016-02-24 Version fuer norGIS-ALKIS-Import 
    99        2016-11-29 HTML5, Gemeinsam genutzte Datenbanken ermöglichen 
     10        2017-06-02 Validierung Eingabeparameter, Feinkorrekturen 
    1011*/ 
    1112session_start(); 
    12 $id="n"; 
    13 $multiadress="n"; 
    14 $cntget = extract($_GET); 
     13 
     14$multiadress="n"; $showkey="n"; // Var. aus Parameter initalisieren 
     15$cntget = extract($_GET); // Parameter in Variable umwandeln 
     16 
     17// strikte Validierung aller Parameter 
     18if (!isset($gmlid) or !preg_match('#^[0-9A-Za-z]{16}$#', $gmlid)) {die("Eingabefehler gmlid");} 
     19if (!isset($gkz) or !preg_match('#^[0-9]{3}$#', $gkz)) {die("Eingabefehler gkz");} 
     20if (!preg_match('#^[j|n]{0,1}$#', $showkey)) {die ("Eingabefehler showkey");} 
     21if ($showkey == "j") {$showkey=true;} else {$showkey=false;} 
     22if (!preg_match('#^[j|n]{0,1}$#', $multiadress)) {die ("Eingabefehler multiadress");} 
     23 
    1524require_once("alkis_conf_location.php"); 
    1625if ($auth == "mapbender") {require_once($mapbender);} 
    1726include("alkisfkt.php"); 
    18 $keys = isset($_GET["showkey"]) ? $_GET["showkey"] : "n"; 
    19 if ($keys == "j") {$showkey=true;} else {$showkey=false;} 
    2027 
    2128?> 
     
    2431<head> 
    2532        <meta charset="utf-8"> 
     33        <meta name="viewport" content="width=device-width, initial-scale=1.0"> 
    2634        <title>ALKIS Person und Adresse</title> 
    2735        <link rel="stylesheet" type="text/css" href="alkisauszug.css"> 
     
    3240                } 
    3341        </script> 
    34         <style type='text/css' media='print'> 
    35                 .noprint {visibility: hidden;} 
    36         </style> 
    3742</head> 
    3843<body> 
     
    4247// Balken 
    4348echo "<p class='nakennz'>ALKIS Name id=".$gmlid."&nbsp;</p>\n" 
    44 ."\n<h2><img src='ico/Eigentuemer.png' width='16' height='16' alt=''> Person</h2>\n"; 
     49."\n<h2><img src='ico/Eigentuemer.png' width='16' height='16' alt=''> Person</h2>"; 
    4550$con = pg_connect($dbconn." options='--application_name=ALKIS-Auskunft_alkisnamstruk.php'"); 
    46 if (!$con) "\n<p class='err'>Fehler beim Verbinden der DB</p>\n"; 
     51if (!$con) "\n<p class='err'>Fehler beim Verbinden der DB</p>"; 
    4752 
    4853$sql="SELECT p.nachnameoderfirma, p.anrede, p.vorname, p.geburtsname, p.geburtsdatum, p.namensbestandteil, p.akademischergrad, a.v AS anrv 
     
    5560 
    5661if (!$res) { 
    57         echo "\n<p class='err'>Fehler bei Zugriff auf Namensnummer</p>\n"; 
    58         if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";} 
     62        echo "\n<p class='err'>Fehler bei Zugriff auf Namensnummer</p>"; 
     63        if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".htmlentities($sql, ENT_QUOTES, "UTF-8")."<br>$1 = gml_id = '".$gmlid."'</p>";} 
    5964} 
    6065if ($row = pg_fetch_array($res)) { 
     
    6469        $anrk=$row["anrede"]; // Key 
    6570        $anr=$row["anrv"]; // Value 
    66         $nbest=$row["namensbestandteil"]; 
    67         $aka=$row["akademischergrad"]; 
    68  
    69         echo "<table>\n" 
    70                 ."\t<tr><td class='nhd'>Anrede:</td><td class='nam'>"; 
     71        $nbest=htmlentities($row["namensbestandteil"], ENT_QUOTES, "UTF-8"); 
     72        $aka=htmlentities($row["akademischergrad"], ENT_QUOTES, "UTF-8"); 
     73 
     74        echo "<table>" 
     75                ."\n\t<tr><td class='nhd'>Anrede:</td><td class='nam'>"; 
    7176                if ($showkey) {echo "<span class='key' title='Anredekennung'>(".$anrk.")</span> ";} 
    72                 echo $anr."</td></tr>\n" 
    73                 ."\t<tr><td class='nhd'>Nachname oder Firma:</td><td class='nam'>".$nam."</td></tr>\n" 
    74                 ."\t<tr><td class='nhd'>Vorname:</td><td class='nam'>".$vor."&nbsp;</td></tr>\n" 
    75                 ."\t<tr><td class='nhd'>Geburtsname:</td><td class='nam'>".$geb."&nbsp;</td></tr>\n" 
    76                 ."\t<tr><td class='nhd'>Geburtsdatum:</td><td class='nam'>".$row["geburtsdatum"]."&nbsp;</td></tr>\n" 
    77                 ."\t<tr><td class='nhd'>Namensbestandteil:</td><td class='nam'>".$nbest."&nbsp;</td></tr>\n" 
    78                 ."\t<tr><td class='nhd'>akademischer Grad:</td><td class='nam'>".$aka."&nbsp;</td></tr>\n" 
    79         ."\n</table>\n<hr>\n"; 
     77                echo $anr."</td></tr>" 
     78                ."\n\t<tr><td class='nhd'>Nachname oder Firma:</td><td class='nam'>".$nam."</td></tr>" 
     79                ."\n\t<tr><td class='nhd'>Vorname:</td><td class='nam'>".$vor."&nbsp;</td></tr>" 
     80                ."\n\t<tr><td class='nhd'>Geburtsname:</td><td class='nam'>".$geb."&nbsp;</td></tr>" 
     81                ."\n\t<tr><td class='nhd'>Geburtsdatum:</td><td class='nam'>".$row["geburtsdatum"]."&nbsp;</td></tr>" 
     82                ."\n\t<tr><td class='nhd'>Namensbestandteil:</td><td class='nam'>".$nbest."&nbsp;</td></tr>" 
     83                ."\n\t<tr><td class='nhd'>akademischer Grad:</td><td class='nam'>".$aka."&nbsp;</td></tr>" 
     84        ."\n</table>\n<hr>"; 
    8085 
    8186        // A d r e s s e 
    82         echo "\n<h3><img src='ico/Strasse_mit_Haus.png' width='16' height='16' alt=''> Adresse</h3>\n"; 
     87        echo "\n\n<h3><img src='ico/Strasse_mit_Haus.png' width='16' height='16' alt=''> Adresse</h3>"; 
    8388        // Es können redundante Adressen vorhanden sein, z.B. aus Migration, temporÀr aus LBESAS. Die letzte davon anzeigen. 
    8489 
     
    9095        $resa = pg_execute("", $v); 
    9196        if (!$resa) { 
    92                 echo "\n<p class='err'>Fehler bei Adressen</p>\n"; 
    93                 if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sqla."<br>$1=gml(Person)= '".$gmlid."'</p>\n";} 
     97                echo "\n<p class='err'>Fehler bei Adressen</p>"; 
     98                if ($debug > 2) {echo "\n<p class='err'>SQL=<br>".$sqla."<br>$1=gml(Person)= '".$gmlid."'</p>";} 
    9499        } 
    95100 
     
    111116                                ."\t<tr><td class='nhd'>Hausnummer:</td><td class='nam'>".$hsnr."</td></tr>\n" 
    112117                                ."\t<tr><td class='nhd'>Land:</td><td class='nam'>".$land."</td></tr>\n" 
    113                         ."\n</table>\n<br>\n"; 
     118                        ."\n</table>\n<br>"; 
    114119 
    115120                        // Name und Adresse Kompakt (im Rahmen) - Alles was man fuer ein Anschreiben braucht 
    116                         echo "<img src='ico/Namen.png' width='16' height='16' alt='Brief' title='Anschrift'>" 
    117                         ."\n<div class='adr' title='Anschrift'>".$anr." ".$aka." ".$vor." ".$nbest." ".$nam."<br>" 
    118                         ."\n".$str." ".$hsnr."<br>" 
    119                         ."\n".$plz." ".$ort."</div>"; 
     121                        echo "\n<img src='ico/Namen.png' width='16' height='16' alt='Brief' title='Anschrift'>" 
     122                        ."\n<div class='adr' title='Anschrift'>\n\t".$anr." ".$aka." ".$vor." ".$nbest." ".$nam."<br>" 
     123                        ."\n\t".$str." ".$hsnr."<br>" 
     124                        ."\n\t".$plz." ".$ort."\n</div>"; 
    120125                } 
    121126        } 
    122127        pg_free_result($resa); 
    123128        if ($j == 0) { 
    124                 echo "\n<p class='err'>Keine Adressen.</p>\n"; 
     129                echo "\n<p class='err'>Keine Adressen.</p>"; 
    125130        } elseif ($j > 1) { 
    126131                echo "\n\t\t<p class='nwlink noprint'>" 
     
    137142 
    138143        // *** G R U N D B U C H *** 
    139         echo "\n<hr>\n<h3><img src='ico/Grundbuch_zu.png' width='16' height='16' alt=''> Grundb&uuml;cher</h3>\n"; 
     144        echo "\n<hr>\n<h3><img src='ico/Grundbuch_zu.png' width='16' height='16' alt=''> Grundb&uuml;cher</h3>"; 
    140145        // person <benennt< namensnummer >istBestandteilVon>                Buchungsblatt 
    141146        //                               >bestehtAusRechtsverhaeltnissenZu> namensnummer   (Nebenzweig/SonderfÀlle?) 
    142147 
    143         $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  
    144         FROM ax_person p JOIN ax_namensnummer n ON p.gml_id=n.benennt  
    145         JOIN ax_buchungsblatt g ON g.gml_id=n.istbestandteilvon  
    146         LEFT JOIN ax_buchungsblattbezirk b ON g.land=b.land AND g.bezirk=b.bezirk  
    147         LEFT JOIN alkis_wertearten wb ON cast(g.blattart AS character varying)=wb.k AND wb.element='ax_buchungsblatt' AND wb.bezeichnung='blattart' 
    148         WHERE p.gml_id= $1 
    149         ORDER BY b.bezeichnung, g.buchungsblattnummermitbuchstabenerweiterung, n.laufendenummernachdin1421;"; 
     148        $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 " 
     149        ."FROM ax_person p JOIN ax_namensnummer n ON p.gml_id=n.benennt " 
     150        ."JOIN ax_buchungsblatt g ON g.gml_id=n.istbestandteilvon " 
     151        ."LEFT JOIN ax_buchungsblattbezirk b ON g.land=b.land AND g.bezirk=b.bezirk " 
     152        ."LEFT JOIN alkis_wertearten wb ON cast(g.blattart AS character varying)=wb.k AND wb.element='ax_buchungsblatt' AND wb.bezeichnung='blattart' " 
     153        ."WHERE p.gml_id= $1 " 
     154        ."ORDER BY b.bezeichnung, g.buchungsblattnummermitbuchstabenerweiterung, n.laufendenummernachdin1421;"; 
    150155        // buchungsblatt... mal mit und mal ohne fuehrende Nullen, bringt die Sortierung durcheinander 
    151156 
     
    155160 
    156161        if (!$resg) { 
    157                 echo "\n<p class='err'>Fehler bei Grundbuch</p>\n"; 
    158                 if ($debug > 2) {echo "\n<p class='err'>SQL=".$sqlg."</p>\n";} 
     162                echo "\n<p class='err'>Fehler bei Grundbuch</p>"; 
     163                if ($debug > 2) { 
     164                        echo "\n<p class='err'>SQL=<br>".htmlentities($sqlg, ENT_QUOTES, "UTF-8")."<br>$1 = gml_id = '".$gmlid."'</p>"; 
     165                } 
    159166        } 
    160167        echo "<table class='eig'>" 
     
    165172                ."\n\t<td class='heads'>Namensnummer<img src='ico/sort.png' width='10' height='10' alt='' title='Sortierung'></td>" 
    166173                ."\n\t<td class='head'>Anteil</td>" 
    167                 ."\n\t<td class='head nwlink noprint' title='Link: weitere Auskunft'>weit. Auskunft</td>" 
     174                ."\n\t<td class='head nwlink noprint' title='Verlinkung zu anderen Nachweis-Arten und verbundenen Objekten'>weitere Auskunft</td>" 
    168175        ."\n</tr>"; 
    169176 
    170177        $i=0; 
     178        $zpaar=false; 
    171179        while($rowg = pg_fetch_array($resg)) { 
    172180                $gmln=$rowg["gml_n"]; 
     
    176184                $blattkey=$rowg["blattart"]; // Key 
    177185                $blattart=$rowg["blattartv"]; // Value 
    178  
    179                 echo "\n<tr>" 
    180                         ."\n\t<td class='gbl'>"; // GB-Bezirk" 
     186                if ($zpaar) {$trclass='paa';} else {$trclass='unp';} 
     187                $zpaar=!$zpaar; 
     188                echo "\n<tr class='".$trclass."'>" 
     189                        ."\n\t<td>"; // GB-Bezirk <td class='gbl'> 
    181190                                if ($showkey) {echo "<span class='key'>".$rowg["bezirk"]."</span> ";} 
    182191                                echo $rowg["beznam"] 
    183192                        ."</td>"; 
    184193 
    185                         echo "\n\t<td class='gbl'>"; // Blattart 
     194                        echo "\n\t<td>"; // Blattart 
    186195                                if ($showkey) {echo "<span class='key'>".$blattkey."</span> ";} 
    187196                                echo $blattart 
    188197                        ."</td>"; 
    189198 
    190                         echo "\n\t<td class='gbl'>"; // Blatt 
     199                        echo "\n\t<td>"; // Blatt 
    191200                                echo "<span class='wichtig'>".$rowg["nr"]."</span>" 
    192201                        ."</td>"; 
    193202 
    194                         echo "\n\t<td class='gbl'>"; // Namensnummer 
     203                        echo "\n\t<td>"; // Namensnummer 
    195204                                if ($namnum == "") { 
    196205                                        echo "&nbsp;"; 
     
    200209                        echo "</td>"; 
    201210 
    202                         echo "\n\t<td class='gbl'>"; // Anteil 
     211                        echo "\n\t<td>"; // Anteil 
    203212                                if ($zae == "") { 
    204213                                        echo "&nbsp;"; 
     
    207216                                }  
    208217                        echo "</td>" 
    209                         ."\n\t<td class='gbl'>" 
     218                        ."\n\t<td>" 
    210219                                ."\n\t\t<p class='nwlink noprint'>" 
    211220                                        ."\n\t\t\t<a href='alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$gmlg; 
     
    222231        pg_free_result($resg); 
    223232        echo "</table>"; 
    224         if ($i == 0) {echo "\n<p class='err'>Kein Grundbuch.</p>\n";} 
     233        if ($i == 0) {echo "\n<p class='err'>Kein Grundbuch.</p>";} 
    225234} else { 
    226235        echo "\n\t<p class='err'>Fehler! Kein Treffer f&uuml;r\n\t<a target='_blank' href='alkisrelationen.php?gkz=".$gkz."&amp;gmlid=".$gmlid."'>".$gmlid."</a>\n</p>\n\n"; 
  • trunk/info/info/alkisn/alkisstrasse.php

    r378 r387  
    1010        2016-11-29 HTML5, Gemeinsam genutzte Datenbanken ermöglichen, SQL optimiert (FS-Liste jetzt schneller) 
    1111        2017-02-23 Neuer Parameter &haus=m/o zum alkisexport.php 
    12  
    13 ToDo: Neuen Parameter haus=m/o zum ALKISexport (alkisexport.php) bedienen 
     12        2017-06-08 Validierung Eingabeparameter, gestreifte Tabelle, Feinkorrekturen 
    1413*/ 
    1514session_start(); 
    16 $id="n"; 
    17 $cntget = extract($_GET); 
     15 
     16$showkey="n"; // Var. aus Parameter initalisieren 
     17$cntget = extract($_GET); // Parameter in Variable umwandeln 
     18 
     19// strikte Validierung aller Parameter 
     20if (!isset($gmlid) or !preg_match('#^[0-9A-Za-z]{16}$#', $gmlid)) {die("Eingabefehler gmlid");} 
     21if (!isset($gkz) or !preg_match('#^[0-9]{3}$#', $gkz)) {die("Eingabefehler gkz");} 
     22if (!preg_match('#^[j|n]{0,1}$#', $showkey)) {die ("Eingabefehler showkey");} 
     23if ($showkey == "j") {$showkey=true;} else {$showkey=false;} 
     24 
    1825require_once("alkis_conf_location.php"); 
    1926if ($auth == "mapbender") {require_once($mapbender);} 
    2027include("alkisfkt.php"); 
    2128 
    22 $keys = isset($_GET["showkey"]) ? $_GET["showkey"] : "n"; 
    23 if ($keys == "j") {$showkey=true;} else {$showkey=false;} 
    2429?> 
    2530<!doctype html> 
     
    2732<head> 
    2833        <meta charset="utf-8"> 
     34        <meta name="viewport" content="width=device-width, initial-scale=1.0"> 
    2935        <title>ALKIS Stra&szlig;e</title> 
    3036        <link rel="stylesheet" type="text/css" href="alkisauszug.css"> 
     
    3541                } 
    3642        </script> 
    37         <style type='text/css' media='print'> 
    38                 .noprint {visibility: hidden;} 
    39         </style> 
    4043</head> 
    4144<body> 
    4245<?php 
    4346$con = pg_connect($dbconn." options='--application_name=ALKIS-Auskunft_alkisstrasse.php'"); 
    44 if (!$con) echo "<p class='err'>Fehler beim Verbinden der DB</p>\n"; 
     47if (!$con) echo "\n<p class='err'>Fehler beim Verbinden der DB</p>"; 
    4548 
    4649$sql ="SELECT s.land, s.regierungsbezirk, s.kreis, s.gemeinde, s.lage, s.bezeichnung AS snam,  
     
    5760$res=pg_execute("", $v); 
    5861if (!$res) { 
    59         echo "\n<p class='err'>Fehler bei Lagebezeichnungskatalogeintrag.</p>\n"; 
    60         if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";} 
     62        echo "\n<p class='err'>Fehler bei Lagebezeichnungskatalogeintrag.</p>"; 
     63        if ($debug > 2) {echo "\n<p class='err'>SQL=<br>".htmlentities($sql, ENT_QUOTES, "UTF-8")."<br>$1 = gml_id = '".$gmlid."'</p>";} 
    6164} 
    6265if ($row = pg_fetch_array($res)) { 
     
    6669        // Balken 
    6770        $kennz=$gem."-".$lage." (".$snam.")"; // Schluessel als Sucheingabe in NAV brauchbar? 
    68         echo "<p class='strasse'>ALKIS Stra&szlig;e ".$kennz."&nbsp;</p>\n"; 
     71        echo "\n<p class='strasse'>ALKIS Stra&szlig;e ".$kennz."&nbsp;</p>"; 
    6972} else { 
    70         echo "\n<p class='err'>Kein Treffer bei Lagebezeichnungskatalogeintrag.</p>\n"; 
    71 } 
    72  
    73 echo "\n<h2><img src='ico/Strassen.png' width='16' height='16' alt=''> Stra&szlig;e</h2>\n"; 
     73        echo "\n<p class='err'>Kein Treffer bei Lagebezeichnungskatalogeintrag.</p>"; 
     74} 
     75 
     76echo "\n<h2><img src='ico/Strassen.png' width='16' height='16' alt=''> Stra&szlig;e</h2>"; 
    7477 
    7578// Tabelle Kennzeichen 
     
    110113        echo "\n\t\t<p class='nwlink noprint'>" 
    111114                ."\n\t\t<a href='alkislage.php?gkz=".$gkz."&amp;ltyp=o&amp;gmlid=".$ogml; 
    112                 if ($showkey)   {echo "&amp;showkey=j";} 
     115                if ($showkey) {echo "&amp;showkey=j";} 
    113116                echo "' title='Lage Ohne Hausnummer'>Lage <img src='ico/Lage_an_Strasse.png' width='16' height='16' alt=''></a>" 
    114117        ."\n\t\t</p>"; 
     
    120123 
    121124// F L U R S T U E C K E 
    122 echo "\n\n<a id='fs'></a><h3><img src='ico/Flurstueck.png' width='16' height='16' alt=''> Flurst&uuml;cke</h3>\n"; 
    123 echo "\n<p>Zusammenfassung von 'Lage mit Hausnummer' und 'Lage ohne Hausnummer' an dieser Straße</p>"; 
     125echo "\n\n<h3 id='fs'><img src='ico/Flurstueck.png' width='16' height='16' alt=''> Flurst&uuml;cke</h3>" 
     126."\n<p>Zusammenfassung von 'Lage mit Hausnummer' und 'Lage ohne Hausnummer' an dieser Straße</p>"; 
    124127 
    125128// ax_Flurstueck >weistAuf> ax_LagebezeichnungMitHausnummer  > = Hauptgebaeude  
     
    142145$resf=pg_execute("", $v); 
    143146if (!$resf) { 
    144         echo "<p class='err'>Fehler bei Flurst&uuml;ck.</p>\n"; 
    145         if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";}      
     147        echo "\n<p class='err'>Fehler bei Flurst&uuml;ck.</p>"; 
     148        if ($debug > 2) {echo "\n<p class='err'>SQL=<br>".htmlentities($sql, ENT_QUOTES, "UTF-8")."<br>$1 = gml_id = '".$gmlid."'</p>";}         
    146149} 
    147150 
     
    153156        ."\n\t<td class='head fla' title='amtliche Fl&auml;che in Quadratmeter'>Fl&auml;che</td>" 
    154157        ."\n\t<td class='head hsnr' title='Hausnummer aus der Lagebezeichnung des Flurst&uuml;cks'>HsNr.</td>" 
    155         ."\n\t<td class='head nwlink noprint' title='Link: weitere Auskunft'>weit. Auskunft</td>" 
     158        ."\n\t<td class='head nwlink noprint' title='Verlinkung zu anderen Nachweis-Arten und verbundenen Objekten'>weitere Auskunft</td>" 
    156159."\n</tr>"; 
    157160$j=0; 
    158 $cnths=0; // Count Haus 
    159161$gwgmkg=""; // Gruppenwechsel 
    160162$gwflur=""; 
    161  
     163$cnths=0; // Count Haus-Lagebezeichnung 
     164 
     165$zpaar=false; // Zeilen-Farbwechsel 
    162166while($rowf = pg_fetch_array($resf)) { 
    163167        $gmkg=$rowf["bezeichnung"]; 
     
    166170        if ($rowf["nenner"] != "") {$fskenn.="/".$rowf["nenner"];} 
    167171        $flae=number_format($rowf["amtlicheflaeche"],0,",",".") . " m&#178;"; 
    168         $lgml=$rowf["lgml"]; // ID von "Lage Mit" oder leer 
     172        $lgml=$rowf["lgml"]; // ID von "Lage Mit/Ohne" 
    169173        $ltyp=$rowf["ltyp"]; // mit/ohne HsNr 
    170174 
    171         echo "\n<tr>" 
     175        if ($zpaar) {$trclass='paa';} else {$trclass='unp';} 
     176        $zpaar=!$zpaar; 
     177        echo "\n<tr class='".$trclass."'>" 
    172178                ."\n\t<td>"; 
    173179                if ($showkey) {echo "<span class='key'>".$rowf["gemarkungsnummer"]."</span> ";} 
     
    191197                ."\n\t<td class='hsnr'>".$rowf["hausnummer"]."</td>" 
    192198                ."\n\t<td>\n\t\t<p class='nwlink noprint'>"; 
    193  
    194                         // Link "Lage" 
    195 // ++++ FEHLER kann auch Typ "o" sein 
    196                         if ($lgml != '') { 
     199                        if ($ltyp == 'm') { // nur Typ "Mit Haus" anzeigen. Dar Typ 'o' ist immer gleich und identisch mit dem Link im Kopf 
    197200                                echo "\n\t\t<a href='alkislage.php?gkz=".$gkz."&amp;ltyp=".$ltyp."&amp;gmlid=".$lgml; 
    198201                                if ($showkey) {echo "&amp;showkey=j";} 
    199                                 echo "' title='Lage Mit Hausnummer'>Lage <img src='ico/Lage_mit_Haus.png' width='16' height='16' alt=''></a>&nbsp;"; 
     202                                echo "' title='Lagebezeichnung mit Hausnummer'>Lage <img src='ico/Lage_mit_Haus.png' width='16' height='16' alt=''></a>&nbsp;"; 
    200203                                $cnths++; 
    201204                        } 
    202  
    203205                        // Link FlurstÃŒcksnachweis 
    204206                        echo "\n\t\t<a href='alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$rowf["gml_id"]."&amp;eig=n"; 
     
    212214if ($j > 6) { 
    213215        echo "<p class='cnt'>".$j." Flurst&uuml;cke"; 
    214         if ($cnths > 4) {echo ", ".$cnths." H&auml;user";} 
    215         echo "</p>"; 
     216        if ($cnths > 1) {echo " und ".$cnths." Hauptgeb&auml;ude";} 
     217        echo " mit dieser Straße in der Lagebezeichnung</p>"; 
    216218} 
    217219pg_free_result($resf); 
     
    222224        <a title="zur&uuml;ck" href='javascript:history.back()'><img src="ico/zurueck.png" width="16" height="16" alt="zur&uuml;ck"></a>&nbsp; 
    223225        <a title="Drucken" href='javascript:window.print()'><img src="ico/print.png" width="16" height="16" alt="Drucken"></a>&nbsp; 
    224         <a title="Export als CSV" href='javascript:ALKISexport("")'><img src="ico/download.png" width="16" height="16" alt="Export"></a>&nbsp; 
     226        <a title="Export als CSV" href='javascript:ALKISexport("")'>alle<img src="ico/download.png" width="16" height="16" alt="Export"></a>&nbsp; 
    225227        <a title="CSV - nur Flurst&uuml;cke mit Hausnummer" href='javascript:ALKISexport("m")'>mit HsNr<img src="ico/download.png" width="16" height="16" alt="Export"></a>&nbsp; 
    226228        <a title="CSV - nur Flurst&uuml;cke ohne Hausnummer" href='javascript:ALKISexport("o")'>ohne<img src="ico/download.png" width="16" height="16" alt="Export"></a>&nbsp; 
Note: See TracChangeset for help on using the changeset viewer.