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

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