source: trunk/data/mapbender/http/nav/alkisnav_grd.php @ 67

Revision 67, 17.7 KB checked in by frank.jaeger, 13 years ago (diff)
Line 
1<?php
2// Version vom 12.01.2011 
3$gkz = urldecode($_REQUEST["gkz"]); // Mandant
4include("../../conf/alkisnav_conf.php");
5import_request_variables("PG");
6
7// Datenbank-Connection
8$con_string = "host=".$host." port=".$port." dbname=".$dbname.$gkz." user=".$user." password=".$password;
9$con = pg_connect ($con_string) or die ("Fehler bei der Verbindung zur Datenbank ".$dbname);
10
11?>
12
13<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
14<html>
15<head>
16        <meta http-equiv="cache-control" content="no-cache">
17        <meta http-equiv="pragma" content="no-cache">
18        <meta http-equiv="expires" content="0">
19        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
20        <title>ALKIS-Suche Grundbuch</title>
21        <link rel="stylesheet" type="text/css" href="alkisnav.css">
22</head>
23<body>
24
25<?php
26function is_ne_zahl($wert) {
27        // Prueft, ob ein Wert ausschließlich aus den Zahlen 0 bis 9 besteht
28        if (trim($wert, "0..9") == "") {return true;} else {return false;}
29}
30
31function is_blatt(&$wert) {
32        // Prueft, ob eine Eingabe dem Format von Grundbuch-Blatt entspricht.
33        // Die Blatt-Nummern wird dabei auf das Datenbank-Format mit fuehrenden Nullen ergaenzt (&).
34        // +++ Nur ein Aufruf der Function. In aufrufendes Programm integrieren?       
35        $len=strlen($wert);
36        if ($len < 1 or $len > 7) {return false;};
37        if (trim($wert, "0..9") == "") { // Normalfall: nur Zahlen
38                return true;
39        } else { // Sonderfall Zusatz-Buchstabe am Ende
40                $zahl=substr($wert,0,$len-1);
41                $zus=strtoupper(substr($wert,$len-1,1));
42                if ( (trim($zahl, "0..9") == "") and (trim($zus, "A..Z") == "")) {
43                        $wert=$zahl.$zus;       
44                        return true;           
45                } else {               
46                        return false;
47                }
48        }
49}
50
51function ZerlegungGBKennz($gbkennz) {
52// Das eingegebene Grundbuch-Kennzeichen auseinander nehmen (gggg-999999z-BVNR)
53// Return: 0=Fehler, 1=Such Bezirk-Name oder Listen alle Bezirke
54//         2=Such Bezirk-Nummer $zgbbez, 3=Such Blatt $zblatt, 4=Such BVNR $zbvnr
55        global $debug, $zgbbez, $zblatt, $zbvnr;                $arr = explode("-", $gbkennz, 3);
56        $zgbbez=trim($arr[0]);
57        $zblatt=trim($arr[1]);
58        $zbvnr=trim($arr[2]);
59        if ($zgbbez == "") { // keine Eingabe
60                return 1; // alle Bezirke listen
61        } elseif ( ! is_ne_zahl($zgbbez)) {
62                return 1; // Such Bezirk-NAME
63        } elseif ($zblatt == "") {
64                return 2; // Such Bezirk-NUMMER
65        } elseif (is_blatt($zblatt)) {
66                if ($zbvnr == "") {
67                        return 3; // Such BLATT
68                } elseif (is_ne_zahl($zbvnr)) {         
69                        // $zbvnr=ltrim($zbvnr,"0"); // DB-Format ist integer
70                        // Vorsicht, Wert "0" ist moeglich und gueltig
71                        return 4; // Such Grundstueck
72                } else {
73                        echo "<p class='err>Die Buchungsstelle (BVNR) '".$zbvnr."' ist nicht numerisch</p>";
74                        return 0;
75                }
76        } else {
77                echo "<p class='err>Das Grundbuch-Blatt '".$zblatt."' ist ung&uuml;ltig.</p>";
78                return 0;
79        }
80}
81
82function SuchGBBezName() {
83// Grundbuch-Bezirk suchen nach Name(-nsanfang)
84        global $con, $gkz, $gemeinde, $debug, $gbkennz;
85        $linelimit=50;
86        $sql ="SELECT a.bezeichnung AS ag, g.bezirk, g.bezeichnung FROM ax_buchungsblattbezirk g ";
87        $sql.="JOIN ax_dienststelle a ON g.stelle=a.stelle ";
88        $sql.="WHERE g.bezeichnung ILIKE $1 "; //       "AND a.stellenart=1000 " // Amtsgericht
89        $sql.="ORDER BY g.bezeichnung LIMIT $2 ;";
90        if ( $gbkennz == "") {
91                $match = "%";
92        } else {       
93                if(preg_match("/\*/",$gbkennz)){
94                        $match = trim(preg_replace("/\*/i","%", strtoupper($gbkennz)));
95                } else {
96                        $match = trim($gbkennz)."%";
97                }       
98        }
99        $v = array($match, $linelimit);
100        $res = pg_prepare("", $sql);
101        $res = pg_execute("", $v);
102        if (!$res) {
103                echo "\n<p class='err'>Fehler bei Grundbuch-Bezirk</p>";
104                if ($debug >= 3) {echo "\n<p class='err'>".$sql."</p>";}
105                return 0;
106        }
107        $cnt = 0;
108        // Loop  B E Z I R K     
109        // +++ Sortierung und Gruppierung nach Amtsgericht ??
110        while($row = pg_fetch_array($res)) {
111                $gnam=htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8");
112                $gnr=$row["bezirk"];
113                $ag=htmlentities($row["ag"], ENT_QUOTES, "UTF-8");             
114                echo "\n<div class='gk' title='GB-Bezirk'>";
115                        echo "\n\t\t<img class='nwlink' src='ico/Gericht.ico' width='16' height='16' alt='Gemkg'> ";
116                        echo "<a href='alkisnav_grd.php?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;gbkennz=".$gnr."'>";               
117                                echo $gnam."</a> (".$gnr.") AG ".$ag;
118                echo "\n</div>";
119                $cnt++;
120        }
121        if($cnt == 0){
122                echo "\n<p class='err'>Kein Grundbuchbezirk.</p>";
123        } elseif ($cnt >= $linelimit) {
124                echo "\n<p title='Bitte eindeutiger qualifizieren'>... und weitere</p>";
125        } elseif ($cnt == 1) {
126                return $gnr; // Wenn eindeutig, gleich weiter
127        }
128        return 0;
129}
130 
131function EinBezirk($showParent) {
132        // Kennzeichen bestehend nur aus GB-Bezirk-SchlÃŒssel wurde eingegeben
133        global $con, $gkz, $gemeinde, $debug, $zgbbez, $auskpath;
134        $linelimit=200; // max. Blatt je Bezirk
135        // Dies linelimit nicht ausreichend fuer alle Blaetter eines Bezirks, aber ...
136        //  Wenn man die Blatt-Nr nicht kennt, kommt man hier sowieso nicht weiter.
137        //  Es nutzt also nichts, hier Tausende Nummern aufzulisten.
138        // +++ Wildcard in Blatt zulassen? Schwiegig bei numerischem Wert mit fuehrenden Nullen.
139        if ($showParent) {
140                $sql ="SELECT a.bezeichnung AS ag, g.bezeichnung FROM ax_buchungsblattbezirk g ";
141                $sql.="JOIN ax_dienststelle a ON g.stelle=a.stelle ";
142                $sql.="WHERE g.bezirk= $1 ;";
143                $v=array($zgbbez);
144                $res=pg_prepare("", $sql);
145                $res=pg_execute("", $v);
146                if (!$res) {
147                        echo "\n<p class='err'>Fehler bei Brundbuchbezirk.</p>";
148                        if ($debug >= 3) {echo "\n<p class='err'>".$sql."</p>";}
149                }
150                $zgmk=0;
151                while($row = pg_fetch_array($res)) {   
152                        $gnam=htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8");
153                        $gnr=$row["bezirk"];
154                        $ag=htmlentities($row["ag"], ENT_QUOTES, "UTF-8");     
155                        $zgmk++;
156                }
157                if ($zgmk == 0) {
158                        echo "\n<div class='gk' title='Grundbuchbezirk'>";
159                                echo "\n\t\t<p class='err'><img class='nwlink' src='ico/Gericht.ico' width='16' height='16' alt='Bez.'>";
160                                        echo  " Bezirk ".$zgbbez." ist unbekannt.</p>";
161                        echo "\n</div>";
162                        return;
163                }
164                // > 1 auch möglich ???
165                echo "\n<div class='gk' title='GB-Bezirk'>";
166                        echo "\n\t\t<img class='nwlink' src='ico/Gericht.ico' width='16' height='16' alt='Bez.'> ";
167                        echo "<a href='alkisnav_grd.php?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;gbkennz=".$zgbbez."'>";             
168                        echo $gnam."</a> (".$zgbbez.") AG ".$ag;
169                echo "\n</div>";
170        }
171        $sql ="SELECT b.gml_id, b.buchungsblattnummermitbuchstabenerweiterung AS blatt FROM ax_buchungsblatt b ";
172        $sql.="WHERE b.bezirk= $1 ORDER BY b.buchungsblattnummermitbuchstabenerweiterung LIMIT $2 ;";
173        $v=array($zgbbez, $linelimit);
174        $res=pg_prepare("", $sql);
175        $res=pg_execute("", $v);
176        if (!$res) {
177                echo "\n<p class='err'>Fehler bei Bezirk.</p>";
178                if ($debug >= 3) {echo "\n<p class='err'>".$sql."</p>";}
179        }
180        $cntbl=0; // Counter Blatt/Bezirk
181        // Loop  B L A T T     
182        while($row = pg_fetch_array($res)) {   
183                $blatt=$row["blatt"];
184                $gml=$row["gml_id"];
185                echo "\n<div class='gb' title='GB-Blatt'>";
186                        echo "\n\t<a title='Nachweis' target='_blank' href='".$auskpath."alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$gml."'>";
187                                echo "\n\t\t<img class='nwlink' src='ico/GBBlatt_link.ico' width='16' height='16' alt='Blatt'>";
188                        echo "\n\t</a> ";
189                        echo "Blatt <a href='alkisnav_grd.php?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;gblatt=".$gml."&amp;gbkennz=".$zgbbez."-".$blatt."'>&nbsp;".$blatt."&nbsp;</a>";
190                echo "\n</div>";
191                $cntbl++;
192        }
193        if($cntbl == 0) {
194                echo "\n<p class='err'>Kein Blatt im Bezirk.</p>";
195        } else {
196                if($cntbl >= $linelimit) {
197                        echo "\n<p>... und weitere</p>";
198                        echo "\n<p>Geben sie ein: '".$zgbbez."-999999A'<br>wobei '999999A' = gesuchtes GB-Blatt</p>";
199                }
200        }
201        return;
202}
203
204function gml_blatt() {
205        // Komplettes Kennzeichen "Bezirk + Blatt" wurde eingegeben.
206        // Dazu die gml_id des GB-Blattes ermitteln.
207        global $con, $gkz, $debug, $zgbbez, $zblatt;
208
209        // Blatt ->  B u c h u n g s s t e l l e
210        // ax_buchungsblatt   <istBestandteilVon<  ax_buchungsstelle   
211        $sql ="SELECT b.gml_id FROM ax_buchungsblatt b ";
212        $sql.="WHERE b.bezirk= $1 AND b.buchungsblattnummermitbuchstabenerweiterung IN ( $2 , $3 );";
213        // Unterschiedliche Formate in ax_buchungsblatt.buchungsblattnummermitbuchstabenerweiterung
214        // Musterdaten RLP: ohne fuehrende Nullen, Lippe NRW: mit!
215        $zblatt0v=str_pad($zblatt, 7, "0", STR_PAD_LEFT); // Nullen vorne oder Blanks hinten ?
216        $v=array($zgbbez,$zblatt,$zblatt0);
217        $res=pg_prepare("", $sql);
218        $res=pg_execute("", $v);
219        if (!$res) {
220                echo "\n<p class='err'>Fehler bei Blatt (Kennzeichen).</p>";
221                return;
222        }
223        $cntbl=0; // Counter Blatt
224        while($row = pg_fetch_array($res)) {   
225                $bl_gml=$row["gml_id"];
226                $cntbl++;
227        }
228        if($cntbl == 0) {
229                echo "\n<p class='err'>Grundbuchblatt '".$zgbbez."-".$zblatt."' nicht gefunden.</p>";
230                if ($debug >= 3) {echo "\n<p class='err'>".$sql."</p>";}
231        } elseif($cntbl == 1) {
232                return $bl_gml;
233        }
234        return;
235}
236
237function EinBlatt($showParent) {
238        // Kennzeichen Bezirk + Blatt wurde eingegeben
239        global $con, $gkz, $debug, $gemeinde, $auskpath, $zgbbez, $zblatt, $gblatt, $zbvnr;
240
241        if ($showParent) {     
242                echo "\n<div class='gb' title='GB-Blatt'>";
243                        echo "\n\t<a title='Nachweis' target='_blank' href='".$auskpath."alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$gblatt."'>";
244                                echo "\n\t\t<img class='nwlink' src='ico/GBBlatt_link.ico' width='16' height='16' alt='Blatt'>";
245                        echo "\n\t</a> ";
246                        echo "Blatt <a href='alkisnav_grd.php?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;gblatt=".$gblatt."&amp;gbkennz=".$zgbbez."-".$zblatt."'> ".$zblatt."</a>";
247                echo "\n</div>";
248        }
249        // Blatt ->  B u c h u n g s s t e l l e
250        // ax_buchungsblatt   <istBestandteilVon<  ax_buchungsstelle
251        $sql ="SELECT s.gml_id, s.laufendenummer AS lfd ";
252        $sql.="FROM ax_buchungsstelle s ";
253        $sql.="JOIN alkis_beziehungen v ON s.gml_id=v.beziehung_von ";
254        $sql.="JOIN ax_buchungsblatt b ON v.beziehung_zu=b.gml_id ";
255        $sql.="WHERE v.beziehungsart='istBestandteilVon' AND b.gml_id= $1 ";
256        $sql.="ORDER BY s.laufendenummer;";
257        // +++ Buchungen ohne FLST weglassen ??
258        // +++ Counter FLST ausgeben, Buchungen mit 0 weglassen
259        $v=array($gblatt);
260        $res=pg_prepare("", $sql);
261        $res=pg_execute("", $v);
262        if (!$res) {
263                echo "\n<p class='err'>Fehler bei Blatt.</p>";
264                if ($debug >= 3) {echo "\n<p class='err'>".$sql."</p>";}
265        }
266        $cntbu=0; // Counter Buchung/Blatt
267        while($row = pg_fetch_array($res)) {   
268                $bs_gml=$row["gml_id"];         
269                $lfd=$row["lfd"];
270                echo "\n<div class='gs'>";
271                        echo "\n\t\t<img class='nwlink' title='Grundst&uuml;ck' src='ico/Grundstueck.ico' width='16' height='16' alt='GS'> ";
272                        echo "Buchung <a href='alkisnav_grd.php?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;gbuchung=".$bs_gml."&amp;gbkennz=".$zgbbez."-".$zblatt."-".$lfd."'>".$lfd."</a>";
273                echo "\n</div>";
274                $cntbu++;
275        }
276        if($cntbu == 0) {
277                echo "\n<p class='err'>Keine Buchung gefunden.</p>";
278        } elseif($cntbu == 1) {
279                //echo "\n<p>genau EINE Buchung gefunden".$lfd."</p>";
280                $zbvnr=$lfd; // mit dieser BVNR gleich weiter machen
281        }
282        return $cntbu;
283}
284
285function gml_buchungsstelle() {
286        // Komplettes Kennzeichen "Bezirk + Blatt + BVNR" wurde eingegeben.
287        // Dazu die gml_id der Buchungsstelle ermitteln fuer die weitere Verfolgung der Beziehungen.
288        global $con, $gkz, $debug, $zgbbez, $zblatt, $zbvnr;
289
290        // Blatt ->  B u c h u n g s s t e l l e
291        // ax_buchungsblatt   <istBestandteilVon<  ax_buchungsstelle   
292        $sql ="SELECT s.gml_id FROM ax_buchungsstelle s ";
293        $sql.="JOIN alkis_beziehungen v ON s.gml_id=v.beziehung_von ";
294        $sql.="JOIN ax_buchungsblatt b ON b.gml_id=v.beziehung_zu ";
295        $sql.="WHERE v.beziehungsart='istBestandteilVon' ";
296        $sql.="AND b.bezirk= $1 AND b.buchungsblattnummermitbuchstabenerweiterung= $2 AND s.laufendenummer= $3 ;";
297        $v=array($zgbbez, $zblatt, $zbvnr);
298        $res=pg_prepare("", $sql);
299        $res=pg_execute("", $v);
300        if (!$res) {
301                echo "\n<p class='err'>Fehler bei Buchungsstelle (Kennzeichen).</p>";
302                return;
303        }
304        $zbs=0;
305        while($row = pg_fetch_array($res)) {   
306                $bs_gml=$row["gml_id"];
307                $zbs++;
308        }
309        if($zbs == 0) {
310                echo "\n<p class='err'>Buchung ".$zgbbez."-".$zblatt."-".$zbvnr." nicht gefunden.</p>";
311                return;
312        } elseif($zbs > 1) { // nur TEST
313                echo "\n<p class='err'>Buchungsstelle mehrfach gefunden.</p>";
314                return;
315        } else {
316                return $bs_gml;
317        }
318}
319
320function EinGrundstueck($showParent) {
321        // Die gml_id der Buchungsstelle ist bekannt.
322        global $con, $gkz, $debug, $gemeinde, $scalefs, $epsg, $auskpath, $gbuchung, $zgbbez, $zblatt, $zbvnr;
323
324        if ($showParent) {     
325                // wenn Kennzeichen bekannt ist, dann auch Blatt ausgeben
326                if (isset($zgbbez) and isset($zblatt)) {
327                        echo "\n<div class='gb' title='GB-Blatt'>";
328                                echo "\n\t\t<img class='nwlink' src='ico/GBBlatt.ico' width='16' height='16' alt='Blatt'>";
329                                echo "Blatt <a href='alkisnav_grd.php?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;gbkennz=".$zgbbez."-".$zblatt."'>&nbsp;".$zblatt."&nbsp;</a>";
330                        echo "\n</div>";
331                } else {
332                        echo "<p class='err'>Kennzeichen Bezirk und Blatt nicht gesetzt</p>";
333                }
334                echo "\n<div class='gs'>";
335                        echo "\n\t\t<img class='nwlink' title='Grundst&uuml;ck' src='ico/Grundstueck.ico' width='16' height='16' alt='GS'> ";
336                        echo "Buchung <a href='alkisnav_grd.php?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;gbuchung=".$gbuchung."&amp;gbkennz=".$zgbbez."-".$zblatt."-".$zbvnr."'>&nbsp;".$zbvnr."&nbsp;</a>";
337                echo "\n</div>";
338        }
339        // +++ Ermitteln anderer Buchungsstellen mit Rechten an dieser
340        // +++ Ermitteln anderer Buchungsstellen wo diese Rechte hat
341
342        // +++ Filter "Gemeinde" berÃŒcksichtigt!! Wenn gesetzt.
343
344        // Buchungsstelle -> Flurstueck
345        $sql ="SELECT t.gemeinde, g.bezeichnung, f.gml_id, f.flurnummer, f.zaehler, f.nenner, ";
346        $sql.="x(st_transform (st_centroid(f.wkb_geometry),".$epsg.")) AS x, ";
347        $sql.="y(st_transform (st_centroid(f.wkb_geometry),".$epsg.")) AS y ";
348        $sql.="FROM ax_gemarkung g ";
349        $sql.="JOIN ax_flurstueck f ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer ";
350        $sql.="JOIN alkis_beziehungen v ON f.gml_id=v.beziehung_von ";
351        $sql.="LEFT JOIN gemeinde_gemarkung t ON g.gemarkungsnummer=t.gemarkung ";
352        $sql.="WHERE v.beziehungsart='istGebucht' AND v.beziehung_zu= $1 "; // id buchungsstelle
353        $sql.="ORDER BY f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner;";
354        $v=array($gbuchung);
355        $res=pg_prepare("", $sql);
356        $res=pg_execute("", $v);
357        if (!$res) {
358                echo "\n<p class='err'>Fehler bei Buchungsstelle (gml).</p>";
359                if ($debug >= 3) {echo "\n<p class='err'>".$sql."</p>";}
360        }
361        $zfs=0;
362        while($row = pg_fetch_array($res)) {   
363                $fs_gml=$row["gml_id"];
364                $gemei=$row["gemeinde"];
365                $gmkg=$row["bezeichnung"];
366                $flur=$row["flurnummer"];
367                $fskenn=$row["zaehler"];
368                if ($row["nenner"] != "") {$fskenn.="/".$row["nenner"];} // Bruchnummer
369                $x=$row["x"];
370                $y=$row["y"];
371                if($gemeinde > 0 and $gemeinde != $gemei) { // ex-territorial
372                        echo "\n<div class='fs' title='Kein Zugriff! Liegt au&szlig;erhalb des Gebietes.'>";
373                                echo "\n\t\t<img class='nwlink' src='ico/Flurstueck.ico' width='16' height='16' alt='FS'> ".$gmkg." ".$flur."-".$fskenn;
374                        echo "\n</div>";                       
375                } else {
376                        echo "\n<div class='fs'>";
377                                echo "\n\t<a title='Nachweis' target='_blank' href='".$auskpath."alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$fs_gml."'>";
378                                        echo "\n\t\t<img class='nwlink' src='ico/Flurstueck_Link.ico' width='16' height='16' alt='FS'>";
379                                echo "\n\t</a>";
380                                echo "\n\t<a title='Flurst&uuml;ck positionieren 1:".$scalefs."' href='";
381                                        echo "javascript:parent.parent.parent.mb_repaintScale(\"mapframe1\",".$x.",".$y.",".$scalefs."); ";
382                                        echo "parent.parent.hideHighlight();' ";
383                                        echo "onmouseover='parent.parent.showHighlight(".$x.",".$y.")' ";
384                                        echo "onmouseout='parent.parent.hideHighlight()'>";
385                                echo $gmkg." ".$flur."-".$fskenn."</a>";
386                        echo "\n</div>";
387                }
388                $zfs++;
389        }
390        if($zfs == 0) {echo "\n<p class='err'>Kein Flurst&uuml;ck.</p>";}
391        return;
392}
393
394// ===========
395// Start hier!
396// ===========
397if(isset($epsg)) {
398        if ($debug >= 2) {echo "<p>aktueller EPSG='".$epsg."'</p>";} // aus MB
399        If (substr($epsg, 0, 5) == "EPSG:") {$epsg=substr($epsg, 5);}
400} else {
401        if ($debug >= 2) {echo "<p class='err'>kein EPSG gesetzt</p>";}
402        $epsg=$gui_epsg; // aus Conf
403}
404if ($debug >= 2) {
405        if(isset($gemeinde)) {echo "<p>Filter Gemeinde = ".$gemeinde."</p>";
406        } else {echo "<p>Kein Filter Gemeinde</p>";}
407}
408
409// Auch wenn redundant: Das Kennzeichen fÃŒr Anzeige und weitere Links zerlegen
410$kennztyp=ZerlegungGBKennz($gbkennz);
411if ($debug >= 2) {echo "<p>GB-Kennzeichen Typ=".$kennztyp."</p>";}
412// Wurde eine gml_id (internes Kennzeichen) aus einem Link verwendet?
413If (isset($gbuchung)) { // gml der Buchungsstelle
414        if ($debug >= 2) {echo "<p>Link Buchung(gml)=".$gbuchung."</p>";}
415        EinGrundstueck(true);
416} elseif(isset($gblatt)) { // gml des GB-Blattes
417        if ($debug >= 2) {echo "<p>Link Blatt(gml)=".$gblatt."</p>";}
418        if (EinBlatt(true) == 1) { // darauf genau eine Buchung
419                $gbuchung=gml_buchungsstelle(); // gml_id zum Kennzeichen
420                EinGrundstueck(false);
421        };
422} else {
423        // Kein internes Kennzeichen (gml_id), also nur die (manuelle) Eingabe interpretieren.
424        switch ($kennztyp) {
425        // +++ Ersten Schritt "Suche Amtsgericht" voranstellen?
426        // +++ Wie kann Filter "Gemeinde" berÃŒcksichtigt werden?
427        case 0: // Fehler
428                echo "<p class='err'>Bitte ein Grundbuchkennzeichen eingegeben, Format 'gggg-999999A-llll</p>";
429                break;
430        case 1: // Eingabe Bezirk-Name (-Teil) -> Liste der Bezirke
431                if ($debug >= 2) {echo "<p>Eingabe Bez. ".$zgbbez."</p>";}
432                $beznr=SuchGBBezName();
433                if ($beznr > 0) {
434                        $zgbbez=$beznr;
435                        EinBezirk(false);
436                };     
437                break;
438        case 2: // Eingabe Bezirk-Nummer -> Liste der BlÀtter
439                if ($debug >= 2) {echo "<p>Eingabe Bez. ".$zgbbez."</p>";}     
440                EinBezirk(true);
441                break;
442        case 3: // Eingabe Blatt -> Liste der Buchungen
443                if ($debug >= 2) {echo "<p>Eingabe Bez. ".$zgbbez." Blatt ".$zblatt."</p>";}
444                $gblatt=gml_blatt(); // gml_id zum Blatt suchen
445                if ($gblatt != "") { // gefunden               
446                        if (EinBlatt(true) == 1) { // darauf genau eine Buchung
447                                $gbuchung=gml_buchungsstelle(); // gml_id zum Kennzeichen
448                                EinGrundstueck(false);
449                        }
450                }
451                break;
452        case 4: // Eingabe Buchung (Grundstueck) -> Liste der Flurstuecke
453                if ($debug >= 2) {echo "<p>Eingabe Bez. ".$zgbbez." Blatt ".$zblatt." BVNR ".$zbvnr."</p>";}
454                $gbuchung=gml_buchungsstelle(); // gml_id zum Kennzeichen
455                EinGrundstueck(true);
456                break;
457        }
458}
459 ?>
460</body>
461</html>
Note: See TracBrowser for help on using the repository browser.