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

Line 
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:
8        2016-02-24 Version fÃŒr norGIS-ALKIS-Import
9        ....
10        2020-02-20 Authentifizierung ausgelagert in Function darf_ich()
11        2020-12-03 function selbstverlinkung() statt $_SERVER['PHP_SELF']
12        2020-12-15 Input-Validation und Strict Comparisation (===)
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
16*/
17ini_set("session.cookie_httponly", 1);
18session_start();
19$showkey="n"; $nodebug=""; // Var. initalisieren
20$cntget = extract($_GET); // Parameter in Variable umwandeln
21
22// strikte Validierung aller Parameter
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}
33if (!preg_match('#^[j|n]{0,1}$#', $showkey)) {die ("Eingabefehler showkey");}
34if ($showkey === "j") {$showkey=true;} else {$showkey=false;}
35if (!preg_match('#^j{0,1}$#', $nodebug)) {die("Eingabefehler nodebug");}
36
37include "alkis_conf_location.php";
38include "alkisfkt.php";
39
40?>
41<!doctype html>
42<html lang="de">
43<head>
44        <meta charset="utf-8">
45        <meta name="viewport" content="width=device-width, initial-scale=1.0">
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">
50                function ALKISexport(gmlid) {
51                        window.open('alkisexport.php?gkz=<?php echo $gkz;?>&tabtyp=grundbuch&gmlid=' + gmlid);
52                }
53        </script>
54</head>
55<body>
56<?php
57
58$erlaubnis = darf_ich(); if ($erlaubnis === 0) { die('<p class="stop1">Abbruch</p></body>'); }
59$dbg=$debug; // CONF in Arbeits-Variable
60
61// Entwicklungsumgebung (in Conf definiert) ausschalten.
62if ($nodebug === "j") {$dbg=0;}
63
64$con = pg_connect($dbconn." options='--application_name=ALKIS-Auskunft_alkisbestnw.php'");
65if (!$con) echo "\n<p class='err'>Fehler beim Verbinden der DB</p>";
66
67// G R U N D B U C H
68$sql="SELECT g.gml_id, g.bezirk, g.buchungsblattnummermitbuchstabenerweiterung AS blatt, g.blattart, wb.beschreibung AS blattartv, wb.dokumentation AS blattartd,
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
75WHERE g.gml_id= $1 AND g.endet IS NULL AND b.endet IS NULL AND d.endet IS NULL;";
76// .. AND d.stellenart=1000
77
78$v = array($gmlid);
79$res = pg_prepare("", $sql);
80$res = pg_execute("", $v);
81if (!$res) {
82        echo "\n<p class='err'>Fehler bei Grundbuchdaten.</p>";
83        if ($dbg > 2) {echo "\n<p class='dbg'>SQL=<br>".htmlentities(str_replace("$1", "'".$gmlid."'", $sql), ENT_QUOTES, "UTF-8")."</p>";}
84}
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}
98if ($row = pg_fetch_assoc($res)) {
99        $blattkey=$row["blattart"];
100        $blattart=$row["blattartv"];
101        $blatt=ltrim($row["blatt"], "0");
102
103        echo "<p class='balken gbkennz'>ALKIS Bestand ".$row["bezirk"]." - ".$blatt."&nbsp;</p>"; // Balken
104        echo "\n<h2>Grundbuch</h2>";
105        echo "\n<table class='outer'>" // Blatt UND Eigent.
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'>";
115                                if ($showkey) {echo "<span class='key'>".$row["stellenart"]."&nbsp;</span>";}
116                                echo $row["stellev"]."</td>";
117                                echo "\n\t\t\t<td class='head'>Bezirk</td>"
118                                ."\n\t\t\t\t<td class='head' title='".htmlentities($row["blattartd"], ENT_QUOTES, "UTF-8")."'>";
119                                if ($showkey) {echo "<span class='key'>".$blattkey."&nbsp;</span>";}
120                                echo $blattart."</td>"
121                        ."\n\t\t\t</tr>\n\t\t\t<tr>"
122                                ."\n\t\t\t\t<td title='Amtsgerichtsbezirk'>";
123                                if ($showkey) {echo "<span class='key'>".$row["stelle"]."</span><br>";}
124                                echo htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8")."</td>"
125                                ."\n\t\t\t\t<td title='Grundbuchbezirk'>";
126                                if ($showkey) {echo "<span class='key'>".$row["bezirk"]."</span><br>";}
127                                echo htmlentities($row["beznam"], ENT_QUOTES, "UTF-8")."</td>"
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>";
132}
133pg_free_result($res);
134
135if ($blattkey === "5000") { // fikt. Blatt
136        echo "\n<p>Keine Angaben zum Eigentum bei fiktivem Blatt.</p>";
137} else { // E I G E N T Ü M E R
138        $n = eigentuemer($gmlid, true, ""); // MIT Adressen.
139        if ($n === 0) { // keine NamensNr, kein Eigentuemer
140                echo "\n<p class='err'>Keine Namensnummer gefunden.</p>"
141                ."\n<p>Bezirk: ".$row["bezirk"].", Blatt: ".$blatt.", Blattart ".$blattkey." (".$blattart.")</p>";
142        }
143}
144echo "\n</table>";
145
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";}
160$v=array($gmlid); // GB-Blatt
161$res=pg_prepare("", $sql);
162$res=pg_execute("", $v);
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}
167$row=pg_fetch_assoc($res);
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}
174echo "\n<hr>\n\n<h3><img src='ico/Flurstueck.png' width='16' height='16' alt=''>";
175if ($anz2 > 0) { // auch "Rechte an", also dienende B.
176        echo " Rechte und Flurst&uuml;cke</h3>\n<table class='fs'>";
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>"
187        ."\n</tr>";
188} else { // keine Rechte an, nur FS
189        echo " Flurst&uuml;cke</h3>\n<table class='fs'>";
190}
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>"
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>"
205        ."\n\t<td class='head fla'>Fl&auml;che</td>"
206        ."\n\t<td class='head nwlink noprint' title='Verlinkung zu anderen Nachweis-Arten und verbundenen Objekten'>weitere Auskunft</td>"
207."\n</tr>";
208
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
210// aktuelles ax_buchungsblatt <istBestandteilVon< ax_buchungsstelle
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
213FROM ax_buchungsstelle s
214LEFT JOIN ax_buchungsart_buchungsstelle b ON s.buchungsart = b.wert
215WHERE s.istbestandteilvon= $1 AND s.endet IS NULL ORDER BY cast(s.laufendenummer AS integer);";
216$v=array($gmlid);
217$res=pg_prepare("", $sql);
218$res=pg_execute("", $v);
219if (!$res) {
220        echo "\n<p class='err'>Fehler bei Buchung.</p>";
221        if ($dbg > 2) {echo "\n<p class='dbg'>SQL=<br>".htmlentities(str_replace("$1", "'".$gmlid."'", $sql), ENT_QUOTES, "UTF-8")."</p>";}
222}
223$i=0;  // ZÀhler Buchungs-Stellen auf oberer Ebene
224$zpaar=false;
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
230        $lfdnr=$row["lfd"];
231        $bartkey=$row["buchungsart"]; // Key
232        $bart=$row["bart"]; // BuchungsART Text dazu
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
237        $zpaar=!$zpaar;
238
239        if ($bartkey <= 1102) { // (aufgeteiltes) GrundstÃŒck
240
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>";}
243
244        } else { // herrschende Buchung
245
246                bnw_bszeile_h(); // Die herrschende Buchung, aus Global
247
248                $altlfdnr=$lfdnr;
249
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                }
253
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                }
257
258                $tiefer = bnw_bsdaten($gml_bs, 2);  // dienend, recursiv Ebenen 2,3,4
259
260        }
261}
262echo "\n</table>";
263if ($i === 0) {echo "\n<p class='err'>Keine Buchung gefunden.</p>";}
264pg_free_result($res);
265
266// B e r e c h t i g t e  BuchungsblÀtter mit Recht an dem aktuellen (fiktiven?) Blatt
267
268// bf                          sf            sb                               bb
269// Blatt   <istBestandteilVon< Stelle  <an<  Stelle      >istBestandteilVon>  Blatt
270// Fiktiv                      Fiktiv  <zu<  Berechtigt                       Berechtigt
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
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
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
278LEFT JOIN ax_buchungsart_buchungsstelle wb ON sb.buchungsart = wb.wert
279LEFT JOIN ax_behoerde wd ON d.stellenart = wd.wert
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
281ORDER BY cast(sf.laufendenummer AS integer), bz.bezeichnung, bb.buchungsblattnummermitbuchstabenerweiterung, cast(sb.laufendenummer AS integer);";
282
283$v = array($gmlid);
284$resb = pg_prepare("", $sql);
285$resb = pg_execute("", $v);
286if (!$resb) {
287        echo "\n<p class='err'>Fehler bei 'Berechtigte Bl&auml;tter.</p>";
288        if ($dbg > 2) {echo "\n<p class='dbg'>SQL=<br>".htmlentities(str_replace("$1", "'".$gmlid."'", $sql), ENT_QUOTES, "UTF-8")."</p>";}
289}
290$b=0; // count: Buchungen / BlÀtter
291$zpaar=false;
292while($rowb = pg_fetch_assoc($resb)) {
293        if ($b === 0) { // Ueberschrift und Tabelle nur ausgeben, wenn etwas gefunden wurde
294                echo "\n\n<h3><img src='ico/Grundbuch_zu.png' width='16' height='16' alt=''> Berechtigte Grundb&uuml;cher</h3>"
295                ."\n<table class='outer'>"
296                ."\n<tr>"
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>"
298                        ."\n\t<td class='head'>Dienststelle</td>"
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>"
302                        ."\n\t<td class='head'>Buchungsart</td>"
303                        ."\n\t<td class='head nwlink noprint'>Weitere Auskunft</td>"
304                ."\n</tr>";
305        }
306
307        $anlfdnr=$rowb["anlfdnr"];      // an BVNR
308        $anlfdnr0=str_pad($anlfdnr, 4, "0", STR_PAD_LEFT); // mit fÃŒhr.0
309        $gml_b=$rowb["gml_id"];         // id des ber. Blattes
310        $gml_s=$rowb["gml_s"];          // id der ber. B-Stelle
311        $blart=$rowb["blattart"];
312
313        $buch=$rowb["buchungsart"];     // Buchungsart Stelle berechtigt
314        $bart=$rowb["bart"];            // BA entschl.
315        $lfdnr=$rowb["lfdnr"];          // BVNR ber.
316        $blatt=ltrim($rowb["blatt"], "0");
317        $bvnr=str_pad($lfdnr, 4, "0", STR_PAD_LEFT);
318
319        if ($zpaar) {$trclass='paa';} else {$trclass='unp';} // Farbwechsel je Zeile = GrundstÃŒck
320        $zpaar=!$zpaar;
321
322        echo "\n<tr class='".$trclass."'>"; // Der Teil "berechtigte GrundbÃŒcher" ist nach BVNR sortiert wie oberer Teil "FlurstÃŒcke"
323                echo "\n\t<td><span class='wichtig'>".$anlfdnr0."</span></td>"
324                ."\n\t<td>"; // Amtsgericht,Grundbuchamt
325                        echo htmlentities($rowb["stellev"], ENT_QUOTES, "UTF-8")." ";
326                        if ($showkey) {echo "<span class='key'>".$rowb["stelle"]."</span> ";}
327                        echo htmlentities($rowb["bezeichnung"], ENT_QUOTES, "UTF-8")
328                ."</td>"
329                ."\n\t<td>";
330                        if ($showkey) {echo "<span class='key'>".$rowb["bezirk"]."</span> ";}
331                        echo htmlentities($rowb["beznam"], ENT_QUOTES, "UTF-8")
332                ."</td>"
333                ."\n\t<td><span class='wichtig'>".$blatt."</span></td>"
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>"
340                        ."\n\t\t<p class='nwlink noprint'>";
341
342                        // Bestand
343                        if ($showkey) {echo "<span class='key'>".$blart."</span> ";}
344                        echo "\n\t\t\t<a href='alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$gml_b;
345                                if ($showkey) {echo "&amp;showkey=j";}
346                                echo "#bvnr".$lfdnr."' title='Nachweis des berechtigten Blattes an einer Buchung auf ".$blattart."'>".$rowb["blattartv"];
347                                echo " \n\t\t\t<img src='ico/GBBlatt_link.png' width='16' height='16' alt=''></a>";
348                        echo "\n\t\t</p>"
349                ."</td>"
350        ."\n</tr>";
351        $b++;
352}
353if ($b === 0) {
354        if ($blattkey > 2000 ) { // Warnung nicht bei Grundbuchblatt 1000 und Katasterblatt 2000
355                echo "\n<p class='err'>Keine berechtigten Bl&auml;tter zu ".$blattart." (".$blattkey.") gefunden.</p>";
356        }
357} else {
358        echo "\n</table>";
359        if ($i > 1) {
360                echo "\n<p class='cnt'>Rechte anderer Buchungsstellen an ".$b." der ".$i." Buchungen</p>";
361        }
362}
363pg_free_result($resb);
364
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;";}
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>";
374footer($gmlid, selbstverlinkung()."?", "");
375?>
376</body>
377</html>
Note: See TracBrowser for help on using the repository browser.