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

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 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; 
Note: See TracChangeset for help on using the changeset viewer.