source: trunk/info/info/alkisn/alkisbestnw.php @ 425

Revision 425, 17.7 KB checked in by frank.jaeger, 2 years ago (diff)

Web-GIS-Auskunft und Mapbender2-Navigation: neue Konfigurations-Parameter und verbessertes Grundbuch-Modul

RevLine 
[362]1<?php
2/*      Modul: alkisbestnw.php
3
4        ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo).
5        Bestandsnachweis fÃŒr ein Grundbuch aus ALKIS PostNAS
6
7        Version:
[425]8        2016-02-24 Version fÃŒr norGIS-ALKIS-Import
[422]9        ....
[425]10        2020-02-20 Authentifizierung ausgelagert in Function darf_ich()
[422]11        2020-12-03 function selbstverlinkung() statt $_SERVER['PHP_SELF']
12        2020-12-15 Input-Validation und Strict Comparisation (===)
[425]13        2021-12-09 Neue Parameter: $katAmtMix (Kataster-Amt-Mix), $PrntBtn (Drucken-SchaltflÀche)
14                           Tabellenstruktur verbessert und Title bei "Recht an".
15        2021-12-30 Bestandsnachweis recursiv ÃŒber alle Buchungs-Ebenen
[362]16*/
[422]17ini_set("session.cookie_httponly", 1);
[362]18session_start();
[402]19$showkey="n"; $nodebug=""; // Var. initalisieren
[387]20$cntget = extract($_GET); // Parameter in Variable umwandeln
21
22// strikte Validierung aller Parameter
[422]23if (isset($gmlid)) {
24        if (!preg_match('#^[0-9A-Za-z]{16}$#', $gmlid)) {die("Eingabefehler gmlid");}
25} else {
26        die("Fehlender Parameter");
27}
28if (isset($gkz)) {
29        if (!preg_match('#^[0-9]{3}$#', $gkz)) {die("Eingabefehler gkz");}
30} else {
31        die("Fehlender Parameter");
32}
[387]33if (!preg_match('#^[j|n]{0,1}$#', $showkey)) {die ("Eingabefehler showkey");}
[422]34if ($showkey === "j") {$showkey=true;} else {$showkey=false;}
[402]35if (!preg_match('#^j{0,1}$#', $nodebug)) {die("Eingabefehler nodebug");}
[387]36
[422]37include "alkis_conf_location.php";
38include "alkisfkt.php";
39
[362]40?>
[377]41<!doctype html>
42<html lang="de">
[362]43<head>
[377]44        <meta charset="utf-8">
[387]45        <meta name="viewport" content="width=device-width, initial-scale=1.0">
[362]46        <title>ALKIS Bestandsnachweis</title>
47        <link rel="stylesheet" type="text/css" href="alkisauszug.css">
48        <link rel="shortcut icon" type="image/x-icon" href="ico/Grundbuch.ico">
49        <script type="text/javascript">
[405]50                function ALKISexport(gmlid) {
51                        window.open('alkisexport.php?gkz=<?php echo $gkz;?>&tabtyp=grundbuch&gmlid=' + gmlid);
[362]52                }
53        </script>
54</head>
55<body>
56<?php
[422]57
58$erlaubnis = darf_ich(); if ($erlaubnis === 0) { die('<p class="stop1">Abbruch</p></body>'); }
[425]59$dbg=$debug; // CONF in Arbeits-Variable
[422]60
[425]61// Entwicklungsumgebung (in Conf definiert) ausschalten.
62if ($nodebug === "j") {$dbg=0;}
[402]63
[377]64$con = pg_connect($dbconn." options='--application_name=ALKIS-Auskunft_alkisbestnw.php'");
[387]65if (!$con) echo "\n<p class='err'>Fehler beim Verbinden der DB</p>";
[362]66
67// G R U N D B U C H
[412]68$sql="SELECT g.gml_id, g.bezirk, g.buchungsblattnummermitbuchstabenerweiterung AS blatt, g.blattart, wb.beschreibung AS blattartv, wb.dokumentation AS blattartd,
[425]69b.gml_id, b.bezirk, b.bezeichnung AS beznam, d.gml_id, d.land, d.bezeichnung, d.stelle, d.stellenart, wd.beschreibung AS stellev
70FROM ax_buchungsblatt g
71LEFT JOIN ax_buchungsblattbezirk b ON g.land=b.land AND g.bezirk=b.bezirk ".UnqKatAmt("g","b")
72."LEFT JOIN ax_dienststelle d ON b.land=d.land AND b.gehoertzu_stelle=d.stelle ".UnqKatAmt("b","d")
73."LEFT JOIN ax_blattart_buchungsblatt wb ON g.blattart = wb.wert
74LEFT JOIN ax_behoerde wd ON d.stellenart = wd.wert
[389]75WHERE g.gml_id= $1 AND g.endet IS NULL AND b.endet IS NULL AND d.endet IS NULL;";
[362]76// .. AND d.stellenart=1000
77
78$v = array($gmlid);
79$res = pg_prepare("", $sql);
80$res = pg_execute("", $v);
81if (!$res) {
[387]82        echo "\n<p class='err'>Fehler bei Grundbuchdaten.</p>";
[425]83        if ($dbg > 2) {echo "\n<p class='dbg'>SQL=<br>".htmlentities(str_replace("$1", "'".$gmlid."'", $sql), ENT_QUOTES, "UTF-8")."</p>";}
[362]84}
[425]85$zeianz=pg_num_rows($res);
86if ($dbg > 0) {
87        if ($zeianz > 1){
88                echo "\n<p class='err'>Die Abfrage liefert mehr als ein (".$zeianz.") Grundbuch-Objekt!</p>";
89                if ($dbg > 2) {echo "\n<p class='dbg'>SQL=<br>".htmlentities(str_replace("$1","'".$gmlid."'",$sql), ENT_QUOTES, "UTF-8")."</p>";}
90        }
91}
92if ($zeianz == 0){
93        echo "\n<p class='err'>Fehler! Kein Treffer f&uuml;r ein Grundbuch-Blatt mit gml_id=".$gmlid."</p>";
94        if ($dbg > 2) {echo "\n<p class='dbg'>SQL=<br>".htmlentities(str_replace("$1","'".$gmlid."'",$sql), ENT_QUOTES, "UTF-8")."</p>";}
95        echo "\n</body>\n</html>";
96        return;
97}
[402]98if ($row = pg_fetch_assoc($res)) {
[362]99        $blattkey=$row["blattart"];
100        $blattart=$row["blattartv"];
[402]101        $blatt=ltrim($row["blatt"], "0");
[362]102
[422]103        echo "<p class='balken gbkennz'>ALKIS Bestand ".$row["bezirk"]." - ".$blatt."&nbsp;</p>"; // Balken
[402]104        echo "\n<h2>Grundbuch</h2>";
105        echo "\n<table class='outer'>" // Blatt UND Eigent.
[425]106                ."\n\t<tr>\n\t\t<td class='ll'><img src='ico/Grundbuch.png' width='16' height='16' alt=''> Blatt:</td>"
107                ."\n\t\t<td colspan='2'>"; // Outer Mitte, Kennz. im Rahmen
108                        if ($blattkey === "1000") {
109                                echo "\n\t\t\t<table class='kennzgb' title='Bestandskennzeichen'>";
110                        } else {
111                                echo "\n\t\t\t<table class='kennzgbf' title='Bestandskennzeichen'>"; // dotted
112                        }
113                        echo "\n\t\t\t<tr>"
114                                ."\n\t\t\t<td class='head'>";
[362]115                                if ($showkey) {echo "<span class='key'>".$row["stellenart"]."&nbsp;</span>";}
116                                echo $row["stellev"]."</td>";
[387]117                                echo "\n\t\t\t<td class='head'>Bezirk</td>"
[425]118                                ."\n\t\t\t\t<td class='head' title='".htmlentities($row["blattartd"], ENT_QUOTES, "UTF-8")."'>";
[362]119                                if ($showkey) {echo "<span class='key'>".$blattkey."&nbsp;</span>";}
120                                echo $blattart."</td>"
[425]121                        ."\n\t\t\t</tr>\n\t\t\t<tr>"
122                                ."\n\t\t\t\t<td title='Amtsgerichtsbezirk'>";
[362]123                                if ($showkey) {echo "<span class='key'>".$row["stelle"]."</span><br>";}
124                                echo htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8")."</td>"
[425]125                                ."\n\t\t\t\t<td title='Grundbuchbezirk'>";
[362]126                                if ($showkey) {echo "<span class='key'>".$row["bezirk"]."</span><br>";}
127                                echo htmlentities($row["beznam"], ENT_QUOTES, "UTF-8")."</td>"
[425]128                                ."\n\t\t\t\t<td title='Grundbuch-Blatt'><span class='wichtig'>".$blatt."</span></td>"
129                        ."\n\t\t\t</tr>"
130                ."\n\t\t\t</table>"
131                ."\n\t\t</td>\n\t\t<td>&nbsp;</td>\n\t</tr>";
[362]132}
[425]133pg_free_result($res);
[362]134
[425]135if ($blattkey === "5000") { // fikt. Blatt
[387]136        echo "\n<p>Keine Angaben zum Eigentum bei fiktivem Blatt.</p>";
[425]137} else { // E I G E N T Ü M E R
[387]138        $n = eigentuemer($gmlid, true, ""); // MIT Adressen.
[422]139        if ($n === 0) { // keine NamensNr, kein Eigentuemer
[377]140                echo "\n<p class='err'>Keine Namensnummer gefunden.</p>"
[402]141                ."\n<p>Bezirk: ".$row["bezirk"].", Blatt: ".$blatt.", Blattart ".$blattkey." (".$blattart.")</p>";
[362]142        }
143}
[402]144echo "\n</table>";
[362]145
[425]146// Vorab eine Tiefbohrung zur Sondierung von (potentiell) herrschend bis dienend ÃŒber max. 4 Buchungs-Stellen.
147// Diese ZÀhlung sagt nur aus, ob es "generell" solche FÀlle auf diesem Grundbuch gibt (ist selten).
148// In jedem einzelnen Zweig der Buchungen muss aber individuell danach gesucht werden.
149// Die Relation "zu" ist hier einbezogen, wird aber spÀter nicht ausgewertet. Hier könnte man die Differenz erkennen falls "zu" doch mal auftaucht.
150$sql ="SELECT count(s2.laufendenummer) AS anz2";
151if ($dbg > 1) {$sql.=", count(s3.laufendenummer) AS anz3, count(s4.laufendenummer) AS anz4";}
152$sql.=" FROM ax_buchungsstelle sh " // herrschend
153        ."LEFT JOIN ax_buchungsstelle s2 ON (s2.gml_id=ANY(sh.an) OR s2.gml_id=ANY(sh.zu)) ";
154if ($dbg > 1) {
155        $sql.="LEFT JOIN ax_buchungsstelle s3 ON (s3.gml_id=ANY(s2.an) OR s3.gml_id=ANY(s2.zu)) "
156                ."LEFT JOIN ax_buchungsstelle s4 ON (s4.gml_id=ANY(s3.an) OR s4.gml_id=ANY(s3.zu)) ";
157}
158$sql.="WHERE sh.istbestandteilvon= $1 AND sh.endet IS NULL AND s2.endet IS NULL ";
159if ($dbg > 1) {$sql.="AND s3.endet IS NULL AND s4.endet IS NULL";}
[398]160$v=array($gmlid); // GB-Blatt
161$res=pg_prepare("", $sql);
162$res=pg_execute("", $v);
[425]163if (!$res) {
164        echo "\n<p class='err'>Fehler bei tiefer Suche nach Buchungen.</p>";
165        if ($dbg > 2) {echo "\n<p class='dbg'>SQL=<br>".htmlentities(str_replace("$1", "'".$gmlid."'", $sql), ENT_QUOTES, "UTF-8")."</p>";}
166}
[402]167$row=pg_fetch_assoc($res);
[425]168$anz2=$row["anz2"]; // steuert Tabellenform und Überschrift
169if ($dbg > 1) {
170        $anz3=$row["anz3"];
171        $anz4=$row["anz4"];
172        echo "\n<p class='dbg'>Anzahl dienende Buchungen Ebene 2: '".$anz2."', Ebene 3: '".$anz3."', Ebene 4: '".$anz4."'</p>";
173}
[398]174echo "\n<hr>\n\n<h3><img src='ico/Flurstueck.png' width='16' height='16' alt=''>";
[425]175if ($anz2 > 0) { // auch "Rechte an", also dienende B.
[398]176        echo " Rechte und Flurst&uuml;cke</h3>\n<table class='fs'>";
[425]177        echo "\n<tr>" // zus. Kopfz. "Rechte" vor FS
178                ."\n\t<td class='heads' title='laufende Nummer Bestandsverzeichnis (BVNR) = Grundst&uuml;ck'>\n\t\t<span class='wichtig'>BVNR</span>"
179                        ."\n\t\t<img src='ico/sort.png' width='10' height='10' alt='' title='prim&auml;re Sortierung'>\n\t</td>"
180                ."\n\t<td class='head dien' title='herrschendes Grundst&uuml;ck'>Buchungsart</td>"
181                ."\n\t<td class='head dien'>Anteil</td>"
182                ."\n\t<td class='head dien'>Bezirk</td>"
183                ."\n\t<td class='head dien'>Blatt</td>"
184                ."\n\t<td class='head dien'>BVNR</td>"
185                ."\n\t<td class='head dien'>&nbsp;</td>"
186                ."\n\t<td class='head dien'>&nbsp;</td>"
[362]187        ."\n</tr>";
[425]188} else { // keine Rechte an, nur FS
[398]189        echo " Flurst&uuml;cke</h3>\n<table class='fs'>";
190}
[425]191echo "\n<tr>"; // Kopfzeile "FlurstÃŒck"
192        if ($anz2 > 0) { // BS und FS
193                echo "\n\t<td class='head'>&nbsp;</td>"
194                ."\n\t<td class='head'>&nbsp;</td>";
195        } else { // nur FS
196                echo "\n\t<td class='heads' title='laufende Nummer Bestandsverzeichnis (BVNR) = Grundst&uuml;ck'>\n\t\t<span class='wichtig'>BVNR</span>"
197                        ."\n\t\t<img src='ico/sort.png' width='10' height='10' alt='' title='prim&auml;re Sortierung'>"
198                ."\n\t</td>"
199                ."\n\t<td class='head'>Buchungsart</td>";
200        }
201        echo "\n\t<td class='head'>&nbsp;</td>"
[377]202        ."\n\t<td class='heads'>Gemarkung</td>"
203        ."\n\t<td class='heads'>Flur</td>"
204        ."\n\t<td class='heads fsnr' title='Flurst&uuml;cksnummer (Z&auml;hler / Nenner)'><span class='wichtig'>Flurst.</span></td>"
[425]205        ."\n\t<td class='head fla'>Fl&auml;che</td>"
[387]206        ."\n\t<td class='head nwlink noprint' title='Verlinkung zu anderen Nachweis-Arten und verbundenen Objekten'>weitere Auskunft</td>"
[362]207."\n</tr>";
208
[425]209// Blatt ->  B u c h u n g s s t e l l e (oberste Ebene 1, GrundstÃŒck oder herrschend). Relation istBestandteilVon
[362]210// aktuelles ax_buchungsblatt <istBestandteilVon< ax_buchungsstelle
[412]211$sql ="SELECT s.gml_id, s.buchungsart, s.laufendenummer AS lfd, s.beschreibungdesumfangsderbuchung AS udb, s.zaehler, s.nenner,
212s.nummerimaufteilungsplan AS nrap, s.beschreibungdessondereigentums AS sond, b.beschreibung as bart, b.dokumentation
[425]213FROM ax_buchungsstelle s
214LEFT JOIN ax_buchungsart_buchungsstelle b ON s.buchungsart = b.wert
[362]215WHERE s.istbestandteilvon= $1 AND s.endet IS NULL ORDER BY cast(s.laufendenummer AS integer);";
[425]216$v=array($gmlid);
[362]217$res=pg_prepare("", $sql);
218$res=pg_execute("", $v);
219if (!$res) {
[387]220        echo "\n<p class='err'>Fehler bei Buchung.</p>";
[425]221        if ($dbg > 2) {echo "\n<p class='dbg'>SQL=<br>".htmlentities(str_replace("$1", "'".$gmlid."'", $sql), ENT_QUOTES, "UTF-8")."</p>";}
[362]222}
[425]223$i=0;  // ZÀhler Buchungs-Stellen auf oberer Ebene
[387]224$zpaar=false;
[425]225$altlfdnr=''; // GW
226
227while($row = pg_fetch_assoc($res)) { // Loop Buchungsstellen der 1. Ebene (herrschend oder nur FS)
228        $i++;
229        $gml_bs=$row["gml_id"]; // gml der Buchungsstelle
[362]230        $lfdnr=$row["lfd"];
[425]231        $bartkey=$row["buchungsart"]; // Key
[362]232        $bart=$row["bart"]; // BuchungsART Text dazu
[425]233        $bartstory=htmlentities($row["dokumentation"], ENT_QUOTES, "UTF-8"); // .. fÃŒr Anzeige aufbereitet     
234        if ($row["zaehler"] == "") {$anteil = "";}
235        else {$anteil = $row["zaehler"]."/".$row["nenner"];}
236        if ($zpaar) {$trclass='paa';} else {$trclass='unp';} // Farbwechsel je Buchung auf Ebene 1
[387]237        $zpaar=!$zpaar;
238
[425]239        if ($bartkey <= 1102) { // (aufgeteiltes) GrundstÃŒck
[362]240
[425]241                $zeianz = bnw_fsdaten($gml_bs, true); // FlurstÃŒcksdaten zur direkten Buchungsstelle
242                if ($zeianz === 0) {echo "\n<tr class='".$trclass."'>\n\t<td></td>\n\t<td colspan='7'><p class='warn'>Keine Flurst&uuml;cke im berechtigten Bereich.</p></td>\n\t<td></td>\n</tr>";}
[387]243
[425]244        } else { // herrschende Buchung
[387]245
[425]246                bnw_bszeile_h(); // Die herrschende Buchung, aus Global
[387]247
[425]248                $altlfdnr=$lfdnr;
[362]249
[425]250                if ($row["nrap"] != "") { // Nr im Auft.Plan
251                        echo "\n<tr>\n\t<td colspan=3></td><td class='nrap' colspan=4>Nummer <span class='wichtig'>".$row["nrap"]."</span> im Aufteilungsplan.</td><td></td>\n</tr>";
252                }
[405]253
[425]254                if ($row["sond"] != "") { // Sondereigentumsbeschreibung
255                        echo "\n<tr>\n\t<td></td><td class='sond' colspan=6 title='Sondereigentums-Beschreibung'>Verbunden mit dem Sondereigentum an: ".$row["sond"]."</td><td></td>\n</tr>";
256                }
[405]257
[425]258                $tiefer = bnw_bsdaten($gml_bs, 2);  // dienend, recursiv Ebenen 2,3,4
[405]259
[362]260        }
[425]261}
[362]262echo "\n</table>";
[425]263if ($i === 0) {echo "\n<p class='err'>Keine Buchung gefunden.</p>";}
264pg_free_result($res);
[362]265
[425]266// B e r e c h t i g t e  BuchungsblÀtter mit Recht an dem aktuellen (fiktiven?) Blatt
[362]267
268// bf                          sf            sb                               bb
269// Blatt   <istBestandteilVon< Stelle  <an<  Stelle      >istBestandteilVon>  Blatt
270// Fiktiv                      Fiktiv  <zu<  Berechtigt                       Berechtigt
[412]271$sql="SELECT sf.laufendenummer AS anlfdnr, bb.gml_id, bb.land, bb.bezirk, bb.buchungsblattnummermitbuchstabenerweiterung AS blatt, bb.blattart, wa.beschreibung AS blattartv,
272sb.gml_id AS gml_s, sb.laufendenummer AS lfdnr, sb.buchungsart, wb.beschreibung AS bart, wb.dokumentation AS bartd, bz.bezeichnung AS beznam, d.bezeichnung, d.stelle, d.stellenart, wd.beschreibung AS stellev
[362]273FROM ax_buchungsstelle sf JOIN ax_buchungsstelle sb ON (sf.gml_id=ANY(sb.an) OR sf.gml_id=ANY(sb.zu))
274JOIN ax_buchungsblatt bb ON bb.gml_id=sb.istbestandteilvon
[425]275LEFT JOIN ax_buchungsblattbezirk bz ON bb.land=bz.land AND bb.bezirk=bz.bezirk ".UnqKatAmt("bb","bz")
276."LEFT JOIN ax_dienststelle d ON bz.land=d.land AND bz.gehoertzu_stelle=d.stelle ".UnqKatAmt("bz","d")
277."LEFT JOIN ax_blattart_buchungsblatt wa ON bb.blattart = wa.wert
[412]278LEFT JOIN ax_buchungsart_buchungsstelle wb ON sb.buchungsart = wb.wert
279LEFT JOIN ax_behoerde wd ON d.stellenart = wd.wert
[389]280WHERE sf.istbestandteilvon = $1 AND sf.endet IS NULL AND sb.endet IS NULL AND bb.endet IS NULL AND bz.endet IS NULL AND d.endet IS NULL
[377]281ORDER BY cast(sf.laufendenummer AS integer), bz.bezeichnung, bb.buchungsblattnummermitbuchstabenerweiterung, cast(sb.laufendenummer AS integer);";
[362]282
283$v = array($gmlid);
284$resb = pg_prepare("", $sql);
285$resb = pg_execute("", $v);
286if (!$resb) {
[387]287        echo "\n<p class='err'>Fehler bei 'Berechtigte Bl&auml;tter.</p>";
[425]288        if ($dbg > 2) {echo "\n<p class='dbg'>SQL=<br>".htmlentities(str_replace("$1", "'".$gmlid."'", $sql), ENT_QUOTES, "UTF-8")."</p>";}
[362]289}
290$b=0; // count: Buchungen / BlÀtter
[387]291$zpaar=false;
[402]292while($rowb = pg_fetch_assoc($resb)) {
[422]293        if ($b === 0) { // Ueberschrift und Tabelle nur ausgeben, wenn etwas gefunden wurde
[387]294                echo "\n\n<h3><img src='ico/Grundbuch_zu.png' width='16' height='16' alt=''> Berechtigte Grundb&uuml;cher</h3>"
[362]295                ."\n<table class='outer'>"
296                ."\n<tr>"
[377]297                        ."\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>"
[362]298                        ."\n\t<td class='head'>Dienststelle</td>"
[377]299                        ."\n\t<td class='heads'>Bezirk</td>"
300                        ."\n\t<td class='heads'><span class='wichtig'>Blatt</span></td>"
301                        ."\n\t<td class='heads'>BVNR</td>"
[362]302                        ."\n\t<td class='head'>Buchungsart</td>"
303                        ."\n\t<td class='head nwlink noprint'>Weitere Auskunft</td>"
304                ."\n</tr>";
305        }
306
[389]307        $anlfdnr=$rowb["anlfdnr"];      // an BVNR
[362]308        $anlfdnr0=str_pad($anlfdnr, 4, "0", STR_PAD_LEFT); // mit fÃŒhr.0
[389]309        $gml_b=$rowb["gml_id"];         // id des ber. Blattes
310        $gml_s=$rowb["gml_s"];          // id der ber. B-Stelle
[362]311        $blart=$rowb["blattart"];
312
[389]313        $buch=$rowb["buchungsart"];     // Buchungsart Stelle berechtigt
314        $bart=$rowb["bart"];            // BA entschl.
315        $lfdnr=$rowb["lfdnr"];          // BVNR ber.
[402]316        $blatt=ltrim($rowb["blatt"], "0");
[362]317        $bvnr=str_pad($lfdnr, 4, "0", STR_PAD_LEFT);
318
[387]319        if ($zpaar) {$trclass='paa';} else {$trclass='unp';} // Farbwechsel je Zeile = GrundstÃŒck
320        $zpaar=!$zpaar;
[362]321
[425]322        echo "\n<tr class='".$trclass."'>"; // Der Teil "berechtigte GrundbÃŒcher" ist nach BVNR sortiert wie oberer Teil "FlurstÃŒcke"
[387]323                echo "\n\t<td><span class='wichtig'>".$anlfdnr0."</span></td>"
[377]324                ."\n\t<td>"; // Amtsgericht,Grundbuchamt
[387]325                        echo htmlentities($rowb["stellev"], ENT_QUOTES, "UTF-8")." ";
[362]326                        if ($showkey) {echo "<span class='key'>".$rowb["stelle"]."</span> ";}
[387]327                        echo htmlentities($rowb["bezeichnung"], ENT_QUOTES, "UTF-8")
[362]328                ."</td>"
329                ."\n\t<td>";
330                        if ($showkey) {echo "<span class='key'>".$rowb["bezirk"]."</span> ";}
[387]331                        echo htmlentities($rowb["beznam"], ENT_QUOTES, "UTF-8")
[362]332                ."</td>"
[402]333                ."\n\t<td><span class='wichtig'>".$blatt."</span></td>"
[362]334                ."\n\t<td>".$bvnr."</td>"
335                ."\n\t<td title='".htmlentities($rowb["bartd"], ENT_QUOTES, "UTF-8")."'>";
336                        if ($showkey) {echo "<span class='key'>".$buch."</span> ";}
337                        echo $bart
338                ."</td>"
339                ."\n\t<td>"
[387]340                        ."\n\t\t<p class='nwlink noprint'>";
[425]341
[405]342                        // Bestand
343                        if ($showkey) {echo "<span class='key'>".$blart."</span> ";}
[387]344                        echo "\n\t\t\t<a href='alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$gml_b;
[362]345                                if ($showkey) {echo "&amp;showkey=j";}
[425]346                                echo "#bvnr".$lfdnr."' title='Nachweis des berechtigten Blattes an einer Buchung auf ".$blattart."'>".$rowb["blattartv"];
[405]347                                echo " \n\t\t\t<img src='ico/GBBlatt_link.png' width='16' height='16' alt=''></a>";
348                        echo "\n\t\t</p>"
[362]349                ."</td>"
350        ."\n</tr>";
351        $b++;
352}
[422]353if ($b === 0) {
[362]354        if ($blattkey > 2000 ) { // Warnung nicht bei Grundbuchblatt 1000 und Katasterblatt 2000
[387]355                echo "\n<p class='err'>Keine berechtigten Bl&auml;tter zu ".$blattart." (".$blattkey.") gefunden.</p>";
[362]356        }
357} else {
358        echo "\n</table>";
359        if ($i > 1) {
[387]360                echo "\n<p class='cnt'>Rechte anderer Buchungsstellen an ".$b." der ".$i." Buchungen</p>";
[362]361        }
362}
[425]363pg_free_result($resb);
[405]364
[425]365echo "\n<div class='buttonbereich noprint'>\n<hr>"
366        ."\n\t<a title='zur&uuml;ck' href='javascript:history.back()'><img src='ico/zurueck.png' width='16' height='16' alt='zur&uuml;ck'></a>&nbsp;";
367if ($PrntBtn==true){echo "\n\t<a title='Drucken' href='javascript:window.print()'><img src='ico/print.png' width='16' height='16' alt='Drucken'></a>&nbsp;";}
[405]368if ($blattkey == 5000) { // Nicht bei "fiktives Blatt"
369        echo "\n\t<img src='ico/download_gb_no.png' width='32' height='16' alt='Export' title='F&uuml;r ein fiktives Blatt ohne Eigent&uuml;mer ist ein CSV-Export nicht sinnvoll.'>";
370} else {
371        echo "\n\t<a title='Export als CSV' href='javascript:ALKISexport(\"".$gmlid."\")'><img src='ico/download_gb.png' width='32' height='16' alt='Export'></a>";
372}
373echo "&nbsp;\n</div>";
[422]374footer($gmlid, selbstverlinkung()."?", "");
[362]375?>
376</body>
377</html>
Note: See TracBrowser for help on using the repository browser.