Ignore:
Timestamp:
04/26/13 13:52:56 (11 years ago)
Author:
frank.jaeger
Message:

Mapbender-Navigation mit ALKIS-Daten komplett überarbeitet.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/mapbender/http/nav/alkisnav_grd.php

    r276 r278  
    11<?php 
    22/* Version vom 
    3         2011-10-24 Nach Pos-Klick Highlight erneuern statt hideHighlight 
    4         2011-11-17 Nachweis-Links ÃŒber javascript im neuen Hochformat-Fenster 
    5         2011-12-14 "window.open(..,width=680" 
    6         2012-01-16 Blattnummer in 2 Varianten suchen 
    7         2012-01-17 Blattnummer ohne Buchstabe in 3 Varianten suchen 
    8         2013-04-16 "import_request_variables" entfÀllt in PHP 5.4 
     3        2011-10-24      Nach Pos-Klick Highlight erneuern statt hideHighlight 
     4        2011-11-17      Nachweis-Links ÃŒber javascript im neuen Hochformat-Fenster 
     5        2011-12-14      "window.open(..,width=680" 
     6        2012-01-16      Blattnummer in 2 Varianten suchen 
     7        2012-01-17      Blattnummer ohne Buchstabe in 3 Varianten suchen 
     8        2013-04-16      "import_request_variables" entfÀllt in PHP 5.4 
     9        2013-04-26      Ersetzen View "gemeinde_gemarkung" durch Tabelle "pp_gemarkung" 
     10                                        Code aus _eig nach_fkt ausgelegert, hier mit nutzen.  
     11                                        Dazu Var-Namen harmonisieren: $gblatt wird $blattgml 
     12                                        ZurÃŒck-Link, Titel der Transaktion anzeigen. 
    913*/ 
    1014$cntget = extract($_GET); 
    11 include("../../conf/alkisnav_conf.php"); 
     15 
     16include("../../conf/alkisnav_conf.php"); // Konfigurations-Einstellungen 
     17include("alkisnav_fkt.php"); // Funktionen 
     18 
    1219$con_string = "host=".$host." port=".$port." dbname=".$dbname.$dbvers.$gkz." user=".$user." password=".$password; 
    1320$con = pg_connect ($con_string) or die ("Fehler bei der Verbindung zur Datenbank ".$dbname.$dbvers.$gkz); 
    14 ?> 
    15  
     21echo <<<END 
    1622<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
    1723<html> 
     
    2834                        window.open(link,'','left=10,top=10,width=680,height=800,resizable=yes,menubar=no,toolbar=no,location=no,status=no,scrollbars=yes'); 
    2935                } 
     36                function transtitle(trans) { 
     37                        document.getElementById('transaktiontitle').innerHTML = trans; 
     38                } 
    3039        </script> 
    3140</head> 
    3241<body> 
    33  
    34 <?php 
     42<a title="zur&uuml;ck" href='javascript:history.back()'> 
     43        <img src="ico/zurueck.ico" width="16" height="16" alt="&lt;&lt;" /> 
     44</a> 
     45<dfn class='title' id='transaktiontitle'></dfn> 
     46 
     47END; 
     48 
    3549function is_ne_zahl($wert) { 
    3650        // Prueft, ob ein Wert ausschließlich aus den Zahlen 0 bis 9 besteht 
     
    116130        } 
    117131        if($cnt == 0){ // falsch configuriert! 
    118                 echo "\n<p class='err'>Kein Amtsgericht aus Liste ".$$liste_ag.".</p>"; 
     132                echo "\n<p class='anz'>Kein Amtsgericht aus Liste ".$$liste_ag.".</p>"; 
    119133        } elseif ($cnt >= $linelimit) { 
    120                 echo "\n<p title='Bitte eindeutiger qualifizieren'>... und weitere</p>"; 
     134                echo "\n<p title='Bitte eindeutiger qualifizieren'>".$cnt." Amtsgerichte ... und weitere</p>"; 
     135        } elseif ($cnt > 1) { 
     136                echo "\n<p class='anz'>".$cnt." Amtsgerichte</p>"; 
    121137        } 
    122138        return 0; 
     
    125141function ListGBBez($liste_ag, $mit_ag) { 
    126142        // Grundbuch-Bezirke auflisten. 
     143        // +++ auch wenn BlÀtter da sind, kann es eine Sackgasse sein. 
     144        // +++ manchmal haben die BlÀtter keine FlurstÃŒcke. 
    127145        global $con, $gkz, $gemeinde, $epsg, $debug, $gbkennz; 
    128         $linelimit=70; 
     146        $linelimit=90; 
    129147        $sql ="SELECT a.stelle, a.bezeichnung AS ag, g.bezirk, g.bezeichnung FROM ax_buchungsblattbezirk g "; 
    130148        $sql.="JOIN ax_dienststelle a ON g.stelle=a.stelle "; 
    131149        $sql.="WHERE a.stelle IN (".$liste_ag.") AND a.stellenart = 1000 "; // Amtsgericht aus Liste 
     150        // Diese Subquery stellt sicher, dass nur Bezirke aufgelistett werden, die auch BlÀtter enthalten: 
     151        $sql.="AND NOT (SELECT gml_id FROM ax_buchungsblatt b WHERE b.land=g.land and b.bezirk=g.bezirk LIMIT 1) IS NULL "; 
    132152        $sql.="ORDER BY g.bezeichnung LIMIT $1 ;"; 
    133153        $res = pg_prepare("", $sql); 
     
    154174                $cnt++; 
    155175        } 
    156         if($cnt == 0){ // falsch configuriert 
    157                 echo "\n<p class='err'>Kein Grundbuchbezirk zu den Amtsgerichten ".$liste_ag.".</p>"; 
     176        if($cnt == 0){ 
     177                echo "\n<p class='anz'>Kein Bezirk mit Bl&auml;ttern.</p>"; 
    158178        } elseif ($cnt >= $linelimit) { 
    159                 echo "\n<p title='Bitte eindeutiger qualifizieren'>... und weitere</p>"; 
     179                echo "\n<p class='anz' title='Bitte eindeutiger qualifizieren'>".$cnt." Bezirke ... und weitere</p>"; 
     180        } elseif($cnt > 1) { 
     181                echo "\n<p class='anz'>".$cnt." Bezirke</p>"; // im Limit        
    160182        } 
    161183        return 0; 
     
    194216                $ag=htmlentities($row["ag"], ENT_QUOTES, "UTF-8");               
    195217                $anr=$row["stelle"]; 
    196                 echo "\n<div class='gk' title='GB-Bezirk'>"; 
     218                echo "\n<div class='gk' title='Grundbuch-Bezirk'>"; 
    197219                        echo "\n\t\t<img class='nwlink' src='ico/GB-Bezirk.ico' width='16' height='16' alt='Gemkg'> "; 
    198220                        echo "Bezirk <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;gbkennz=".$gnr."'>";            
     
    203225        } 
    204226        if($cnt == 0){  
    205                 echo "\n<p class='err'>Kein Grundbuchbezirk.</p>"; 
     227                echo "\n<p class='anz'>Kein Grundbuchbezirk.</p>"; 
    206228        } elseif ($cnt >= $linelimit) { 
    207                 echo "\n<p title='Bitte eindeutiger qualifizieren'>... und weitere</p>"; 
     229                echo "\n<p title='Bitte eindeutiger qualifizieren'>".$cnt." Bezirke ... und weitere</p>"; 
    208230        } elseif ($cnt == 1) { 
    209231                return $gnr; // Wenn eindeutig, gleich weiter 
     232        } elseif ($cnt > 1) { 
     233                echo "\n<p class='anz'>".$cnt." Bezirke</p>"; // im Limit        
    210234        } 
    211235        return 0; 
     
    216240        global $con, $gkz, $gemeinde, $epsg, $debug, $zgbbez, $auskpath; 
    217241        $linelimit=250; // max. Blatt je Bezirk 
    218         // Dies linelimit ist nicht ausreichend fuer alle Blaetter eines Bezirks, aber ... 
     242        // Dies Limit ist nicht ausreichend fÃŒr alle BlÀtter eines Bezirks, aber ... 
    219243        // Wenn man die Blatt-Nr nicht kennt, kommt man hier sowieso nicht weiter. 
    220         // Es nutzt also nichts, hier Tausende Nummern aufzulisten. 
     244        // Es nutzt also nichts, hier tausende Nummern aufzulisten. 
     245        // +++ BlÀtter-Funktion einfÃŒhren analog Modul _eig 
    221246        if ($showParent) { 
    222247                $sql ="SELECT a.stelle, a.bezeichnung AS ag, g.bezeichnung FROM ax_buchungsblattbezirk g "; 
    223                 $sql.="JOIN ax_dienststelle a ON g.stelle=a.stelle "; 
    224                 $sql.="WHERE g.bezirk= $1 ;"; 
     248                $sql.="JOIN ax_dienststelle a ON g.stelle=a.stelle WHERE g.bezirk= $1 ;"; 
    225249                $v=array($zgbbez); 
    226250                $res=pg_prepare("", $sql); 
     
    279303                                echo "\n\t\t<img class='nwlink' src='ico/GBBlatt_link.ico' width='16' height='16' alt='Blatt'>"; 
    280304                        echo "\n\t</a> "; 
    281                         echo "Blatt <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;gblatt=".$gml."&amp;gbkennz=".$zgbbez."-".$blatt."'>&nbsp;".$blattd."&nbsp;</a>"; 
     305                        echo "Blatt <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;blattgml=".$gml."&amp;gbkennz=".$zgbbez."-".$blatt."'>&nbsp;".$blattd."&nbsp;</a>"; 
    282306                echo "\n</div>"; 
    283307                $cntbl++; 
    284308        } 
    285309        if($cntbl == 0) {  
    286                 echo "\n<p class='err'>Kein Blatt im Bezirk.</p>"; 
    287         } else { 
    288                 if($cntbl >= $linelimit) { 
    289                         echo "\n<p>... und weitere</p>"; 
    290                         echo "\n<p>Geben sie ein: '".$zgbbez."-999A'<br>wobei '999A' = gesuchtes GB-Blatt</p>"; 
    291                 } 
     310                echo "\n<p class='anz'>Kein Blatt im Bezirk.</p>"; 
     311        } elseif($cntbl >= $linelimit) { 
     312                echo "\n<p class='anz'>".$cntbl." Bl&auml;tter ... und weitere</p>"; 
     313                // +++ Hier oft ÃŒberschritten! BlÀtter-Funktion einfÃŒhren 
     314                echo "\n<p>Geben sie ein: '".$zgbbez."-999A'<br>wobei '999A' = gesuchtes GB-Blatt</p>"; 
     315        } elseif ($cntbl > 1) { 
     316                echo "\n<p class='anz'>".$cntbl." Bl&auml;tter</p>"; // im Limit         
    292317        } 
    293318        return; 
     
    320345        if($cntbl == 0) {  
    321346                echo "\n<p class='err'>Grundbuchblatt '".$zgbbez."-".$zblatt."' nicht gefunden.</p>"; 
    322         } elseif($cntbl == 1) { 
     347        } elseif ($cntbl == 1) { 
    323348                return $bl_gml; 
    324349        } 
     
    326351} 
    327352 
    328 function EinBlatt($showParent) { 
     353/* 
     354function EinBlatt_ALT($showParent) { 
    329355        // Kennzeichen Bezirk + Blatt wurde eingegeben 
    330         global $con, $gkz, $debug, $gemeinde, $epsg, $auskpath, $zgbbez, $zblatt, $zblattn, $zblattz, $gblatt, $zbvnr; 
    331  
    332         if ($showParent) {       
    333                 echo "\n<div class='gk' title='GB-Bezirk'>"; 
     356        // UrsprÃŒngliche Version bis 2013-04-24 
     357        global $con, $gkz, $debug, $gemeinde, $epsg, $auskpath, $zgbbez, $zblatt, $zblattn, $zblattz, $blattgml, $zbvnr; 
     358 
     359        if ($showParent) { 
     360        // +++ nur der Schluessel ist bekannt. Bezirks-Namen und Amtsgericht noch ermitteln ++++ 
     361                echo "\n<div class='gk' title='Grundbuch-Bezirk'>"; 
    334362                        echo "\n\t\t<img class='nwlink' src='ico/GB-Bezirk.ico' width='16' height='16' alt='Bez.'> "; 
    335363                        echo "Bezirk <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;gbkennz=".$zgbbez."'>";                 
    336364                        echo $zgbbez."</a>"; 
    337                         // Key ist bekannt. Sollte man sich die Muehe machen, Namen und Amtsgericht zu ermitteln? 
    338365                echo "\n</div>"; 
    339366                echo "\n<div class='gb' title='GB-Blatt'>"; 
    340                         echo "\n\t<a title='Nachweis' href='javascript:imFenster(\"".$auskpath."alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$gblatt."\")'>"; 
     367                        echo "\n\t<a title='Nachweis' href='javascript:imFenster(\"".$auskpath."alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$blattgml."\")'>"; 
    341368                                echo "\n\t\t<img class='nwlink' src='ico/GBBlatt_link.ico' width='16' height='16' alt='Blatt'>"; 
    342369                        echo "\n\t</a> "; 
    343                         echo "Blatt <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;gblatt=".$gblatt."&amp;gbkennz=".$zgbbez."-".$zblatt."'>&nbsp;".$zblattn.$zblattz."&nbsp;</a>"; 
     370                        echo "Blatt <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;blattgml=".$blattgml."&amp;gbkennz=".$zgbbez."-".$zblatt."'>&nbsp;".$zblattn.$zblattz."&nbsp;</a>"; 
    344371                echo "\n</div>"; 
    345372        } 
     
    351378        // +++ Buchungen ohne FLST weglassen? 
    352379        // +++ Counter FLST ausgeben, Buchungen mit 0 weglassen  
    353         $v=array($gblatt); 
     380        $v=array($blattgml); 
    354381        $res=pg_prepare("", $sql); 
    355382        $res=pg_execute("", $v); 
     
    369396        } 
    370397        if($cntbu == 0) {  
    371                 echo "\n<p class='err'>Keine Buchung gefunden.</p>"; 
     398                echo "\n<p class='anz'>Keine Buchung gefunden.</p>"; 
    372399        } elseif($cntbu == 1) { 
    373400                $zbvnr=$lfd; // mit dieser BVNR gleich weiter machen 
     
    380407                        $zblattz=strtoupper(substr($zblatt,$len-1,1));  
    381408                } 
     409        } else { 
     410                echo "\n<p class='anz'>".$cntbu."Buchungen.</p>"; 
    382411        } 
    383412        return $cntbu; 
     413} 
     414*/ 
     415 
     416function EinBlatt($showParent) { 
     417        // Kennzeichen Bezirk + Blatt wurde eingegeben 
     418        global $con, $gkz, $debug, $gemeinde, $epsg, $auskpath, $zgbbez, $zblatt, $zblattn, $zblattz, $blattgml, $zbvnr; 
     419 
     420        if ($showParent) { 
     421        // +++ nur der Schluessel ist bekannt. Bezirks-Namen und Amtsgericht noch ermitteln ++++ 
     422                echo "\n<div class='gk' title='Grundbuch-Bezirk'>"; 
     423                        echo "\n\t\t<img class='nwlink' src='ico/GB-Bezirk.ico' width='16' height='16' alt='Bez.'> "; 
     424                        echo "Bezirk <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;gbkennz=".$zgbbez."'>";                 
     425                        echo $zgbbez."</a>"; 
     426                echo "\n</div>"; 
     427                echo "\n<div class='gb' title='GB-Blatt'>"; 
     428                        echo "\n\t<a title='Nachweis' href='javascript:imFenster(\"".$auskpath."alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$blattgml."\")'>"; 
     429                                echo "\n\t\t<img class='nwlink' src='ico/GBBlatt_link.ico' width='16' height='16' alt='Blatt'>"; 
     430                        echo "\n\t</a> "; 
     431                        echo "Blatt <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;blattgml=".$blattgml."&amp;gbkennz=".$zgbbez."-".$zblatt."'>&nbsp;".$zblattn.$zblattz."&nbsp;</a>"; 
     432                echo "\n</div>"; 
     433        } 
     434 
     435        // Blatt -> Buchungsstelle -> Flurstueck 
     436        $linelimit = 200; // Max. Anzahl FS 
     437        GB_Buchung_FS($linelimit); // Externe Function 
     438 
     439        return 0;  
     440         
    384441} 
    385442 
     
    427484        // Die gml_id der Buchungsstelle ist bekannt. 
    428485        global $con, $gkz, $debug, $gemeinde, $epsg, $scalefs, $epsg, $auskpath, $gbuchung, $zgbbez, $zblatt, $zblattn, $zblattz, $zbvnr, $gfilter; 
     486        // NoLimit? 
    429487        if ($showParent) { // wenn Kennzeichen bekannt ist, dann auch Blatt ausgeben 
    430                 if (isset($zgbbez) and isset($zblatt)) { 
     488 
     489                if ($zgbbez.$zblatt != "") { 
     490                        // +++ SchlÃŒssel ist bekannt. Namen und Amtsgericht dazu ermitteln 
     491                        // +++ oder Namen als &bez= ÃŒbermitteln? 
    431492                        echo "\n<div class='gk' title='GB-Bezirk'>"; 
    432493                                echo "\n\t\t<img class='nwlink' src='ico/GB-Bezirk.ico' width='16' height='16' alt='Bez.'> "; 
    433494                                echo "<a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;gbkennz=".$zgbbez."'>";                
    434495                                echo "Bezirk ".$zgbbez."</a>"; 
    435                                 // Key ist bekannt. Sollte man sich die Muehe machen, Namen und Amtsgericht zu ermitteln? 
    436                                 // ++++ Namen als &bez= ÃŒbermitteln? 
    437496                        echo "\n</div>";                         
    438497                        echo "\n<div class='gb' title='GB-Blatt'>"; 
     
    443502                        echo "<p class='err'>Kennzeichen Bezirk und Blatt nicht gesetzt</p>"; 
    444503                } 
     504 
    445505                echo "\n<div class='gs'>"; 
    446506                        echo "\n\t\t<img class='nwlink' title='Grundst&uuml;ck' src='ico/Grundstueck.ico' width='16' height='16' alt='GS'> "; 
     
    452512        // +++ Filter "Gemeinde" berÃŒcksichtigt!! Wenn gesetzt. 
    453513 
    454         // Buchungsstelle -> Flurstueck 
    455         $sql ="SELECT t.gemeinde, g.bezeichnung, f.gml_id, f.flurnummer, f.zaehler, f.nenner, "; 
     514        // SQL-Bausteine 
     515        $sql1 ="SELECT g.gemeinde, g.gemarkungsname, f.gml_id, f.flurnummer, f.zaehler, f.nenner, "; 
    456516        if($epsg == "25832") { // Transform nicht notwendig 
    457                 $sql.="st_x(st_Centroid(f.wkb_geometry)) AS x, "; 
    458                 $sql.="st_y(st_Centroid(f.wkb_geometry)) AS y "; 
     517                $sql1.="st_x(st_Centroid(f.wkb_geometry)) AS x, "; 
     518                $sql1.="st_y(st_Centroid(f.wkb_geometry)) AS y "; 
    459519        } else {   
    460                 $sql.="st_x(st_transform(st_Centroid(f.wkb_geometry),".$epsg.")) AS x, "; 
    461                 $sql.="st_y(st_transform(st_Centroid(f.wkb_geometry),".$epsg.")) AS y ";                         
    462         } 
    463         $sql.="FROM ax_gemarkung g "; 
    464         $sql.="JOIN ax_flurstueck f ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer "; 
    465         $sql.="JOIN alkis_beziehungen v ON f.gml_id=v.beziehung_von ";  
    466         $sql.="LEFT JOIN gemeinde_gemarkung t ON g.gemarkungsnummer=t.gemarkung "; 
    467         $sql.="WHERE v.beziehungsart='istGebucht' AND v.beziehung_zu= $1 "; // id buchungsstelle 
    468         $sql.="ORDER BY f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner;"; 
     520                $sql1.="st_x(st_transform(st_Centroid(f.wkb_geometry),".$epsg.")) AS x, "; 
     521                $sql1.="st_y(st_transform(st_Centroid(f.wkb_geometry),".$epsg.")) AS y ";                        
     522        } 
     523        $sql1.="FROM "; 
     524 
     525        $sqla1 ="JOIN alkis_beziehungen vfb ON s1.gml_id = vfb.beziehung_zu "; 
     526        $sqla2 ="JOIN alkis_beziehungen vfb ON s2.gml_id = vfb.beziehung_zu "; 
     527 
     528        // Zwischen-JOIN (zusÀtzlich nur bei zweiter Abfrage) 
     529        $sqlz ="JOIN alkis_beziehungen vss ON vss.beziehung_von = s1.gml_id "; 
     530        $sqlz.="JOIN ax_buchungsstelle s2 ON vss.beziehung_zu = s2.gml_id "; 
     531 
     532        $sql2 ="JOIN ax_flurstueck f ON ....  "; 
     533        $sql2.="JOIN pp_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkung "; 
     534        $sql2.="WHERE v.beziehungsart='istGebucht' AND v.beziehung_zu= $1 "; // id buchungsstelle 
     535        switch ($gfilter) { // Filter Gemeinde 
     536                case 1: // Einzelwert 
     537                        $sql2.="AND g.gemeinde=".$gemeinde." "; break; 
     538                case 2: // Liste 
     539                        $sql2.="AND g.gemeinde in (".$gemeinde.") "; break; 
     540        } 
     541        $sql2.="ORDER BY f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner;"; 
     542 
     543        $sql=$sql1.$sqla1.$sql2; // Direkte Buchungen 
    469544        $v=array($gbuchung); 
    470545        $res=pg_prepare("", $sql); 
     
    478553                $fs_gml=$row["gml_id"]; 
    479554                $gemei=$row["gemeinde"]; 
    480                 $gmkg=$row["bezeichnung"]; 
     555                $gmkg=$row["gemarkungsname"]; 
    481556                $flur=$row["flurnummer"]; 
    482557                $fskenn=$row["zaehler"]; 
     
    484559                $x=$row["x"]; 
    485560                $y=$row["y"]; 
     561 
     562                // FILTER OBEN, IN SQL - nicht HIER 
    486563                if($gemeinde > 0 and $gemeinde != $gemei and $gfilter == 1) { // ex-territorial  
    487                 // +++ Wie Abgleich mit Filter=Gemeinde-Liste? Als Array aufbereiten? 
    488                         if ($debug >= 2) {echo "<p class='dbg'>Gemkg ".$gmkg." liegt in Gemeinde '".$gemei."' nicht '".$gemeinde."'</p>";} 
    489  
     564                        if ($debug >= 2) { 
     565                                echo "<p class='dbg'>Gemkg ".$gmkg." liegt in Gemeinde '".$gemei."' nicht '".$gemeinde."'</p>"; 
     566                        } 
    490567                        echo "\n<div class='fs' title='Kein Zugriff! Liegt au&szlig;erhalb des Gebietes.'>"; 
    491568                                echo "\n\t\t<img class='nwlink' src='ico/Flurstueck_Leer.ico' width='16' height='16' alt='FS'> (".$gmkg." ".$flur."-".$fskenn." )"; 
     
    506583                $zfs++; 
    507584        } 
    508         if($zfs == 0) {echo "\n<p class='err'>Kein Flurst&uuml;ck.</p>";} 
     585        if($zfs == 0) { 
     586                echo "\n<p class='anz'>Kein Flurst&uuml;ck.</p>"; 
     587        } elseif($zfs > 1) { 
     588                echo "\n<p class='anz'>".$zfs." Flurst&uuml;ck.</p>"; 
     589        } 
    509590        return; 
    510591} 
     
    514595// =========== 
    515596if(isset($epsg)) { 
    516         if ($debug >= 2) {echo "<p class='dbg'>aktueller EPSG='".$epsg."'</p>";} // aus MB 
     597        #if ($debug >= 2) {echo "<p class='dbg'>aktueller EPSG='".$epsg."'</p>";} // aus MB 
    517598        $epsg = str_replace("EPSG:", "" , $_REQUEST["epsg"]);    
    518599} else { 
    519         if ($debug >= 1) {echo "<p class='err'>kein EPSG gesetzt</p>";}  
     600        #if ($debug >= 1) {echo "<p class='err'>kein EPSG gesetzt</p>";}         
    520601        $epsg=$gui_epsg; // aus Conf 
    521602} 
    522 if ($debug >= 2) { 
    523         if(isset($gemeinde)) {echo "<p class='dbg'>Filter Gemeinde = ".$gemeinde."</p>"; 
    524         } else {echo "<p class='dbg'>Kein Filter Gemeinde</p>";} 
    525 } 
     603 
    526604if ($gemeinde == "") { 
    527605        $gfilter = 0; // ungefiltert 
     606        #if ($debug >= 2) {echo "<p class='dbg'>Kein Filter Gemeinde</p>";} 
    528607} elseif(strpos($gemeinde, ",") === false) { 
    529608        $gfilter = 1; // Einzelwert 
     609        #if ($debug >= 2) {echo "<p class='dbg'>Filter Gemeinde Einzelwert = '".$gemeinde."'</p>";} 
    530610} else { 
    531611        $gfilter = 2; // Liste 
     612        #if ($debug >= 2) {echo "<p class='dbg'>Filter Gemeinde Liste = '".$gemeinde."'</p>";} 
    532613} 
    533614 
    534615// Auch wenn redundant: Das Kennzeichen fÃŒr Anzeige und weitere Links zerlegen 
    535616$kennztyp=ZerlegungGBKennz($gbkennz); 
    536 if ($debug >= 2) {echo "<p class='dbg'>GB-Kennzeichen Typ=".$kennztyp."</p>";} 
     617#if ($debug >= 2) {echo "<p class='dbg'>GB-Kennzeichen Typ=".$kennztyp."</p>";} 
    537618 
    538619// Wurde eine gml_id (internes Kennzeichen) aus einem Self-Link verwendet? 
    539 // Dann hat das Prioritaet, nicht nach $gbkennz suchen. 
    540 if (isset($gbuchung)) { // gml der Buchungsstelle 
    541         if ($debug >= 2) {echo "<p class='dbg'>Link Buchung(gml)=".$gbuchung."</p>";} 
     620// Dann hat das Prioritaet, also *nicht* nach $gbkennz suchen. 
     621if ($gbuchung != "") { // gml der Buchungsstelle 
     622        $trans="Buchungsstelle"; 
    542623        EinGrundstueck(true); 
    543 } elseif(isset($gblatt)) { // gml des GB-Blattes 
    544         if ($debug >= 2) {echo "<p class='dbg'>Link Blatt(gml)=".$gblatt."</p>";} 
     624 
     625} elseif($blattgml != "") { // gml des GB-Blattes 
     626 
     627        // neue Version -> function GB_Buchung_FS 
     628        $trans="GB-Blatt mit Buchungen und Flst."; 
     629        EinBlatt(true); 
     630 
     631/*      alte Version (ohne die Function)) 
    545632        if (EinBlatt(true) == 1) { // darauf genau eine Buchung 
    546633                $gbuchung=gml_buchungsstelle(); // gml_id zum Kennzeichen 
     634                $trans="Grundbuch-Blatt und 1 Buchung"; 
    547635                EinGrundstueck(false); 
    548636        } 
    549 } elseif(isset($ag)) { // Key 'stelle' des Amtsgerichtes 
    550         if ($debug >= 2) {echo "<p class='dbg'>Link Amtsgericht=".$ag."</p>";} 
     637*/ 
     638 
     639} elseif(isset($ag)) { // Key des Amtsgerichtes 
     640        #if ($debug >= 2) {echo "<p class='dbg'>Link Amtsgericht=".$ag."</p>";} 
     641        $trans="GB-Bezirke zum Amtsgericht"; 
    551642        ListAG( "'".$ag."'" ); // noch mal Kopfzeile 
    552643        ListGBBez("'".$ag."'", false); 
    553 } else { // Kein Self-Link 
    554         // (manuelle) Eingabe im Formular interpretieren. 
    555         switch ($kennztyp) { // +++ Wie kann Filter "Gemeinde" berÃŒcksichtigt werden? 
    556                 case 0: // keine Eingabe, 2 Alternativen 
    557                         // +++ Alternativen-Auswahl konfigurieren? 
    558                 //      ListGBBez($ag_liste, true); // gefilterte Liste der Bezirke 
    559                         ListAG($ag_liste); // gefilterte Liste der Amtsgerichte 
     644 
     645} else { // Kein Self-Link, Eingabe im Formular 
     646 
     647        switch ($kennztyp) { 
     648                case 0: // keine Eingabe 
     649                        $trans="Liste der Amtsgerichte"; 
     650                        ListAG($ag_liste); 
    560651                        break; 
    561652                case 1: // Eingabe Bezirk-Name (-Teil) -> gefilterte Liste der Bezirke 
    562                         if ($debug >= 2) {echo "<p class='dbg'>Eingabe Bez. ".$zgbbez."</p>";} 
     653                        $trans="Grundbuchbezirke gefiltert"; 
    563654                        $beznr=SuchGBBezName(); 
    564655                        if ($beznr > 0) {  // eindeutig 
    565656                                $zgbbez=$beznr; 
     657                                $trans="Bezirk gefunden, Bl&auml;tter dazu"; 
    566658                                EinBezirk(false); // gleich weiter 
    567                         };       
     659                        }; 
    568660                        break; 
    569661                case 2: // Eingabe Bezirk-Nummer -> Liste der BlÀtter 
    570                         if ($debug >= 2) {echo "<p class='dbg'>Eingabe Bez. ".$zgbbez."</p>";}   
     662                        $trans="Bl&auml;tter im GB-Bezirk"; 
    571663                        EinBezirk(true); 
    572664                        break; 
    573665                case 3: // Eingabe Blatt -> Liste der Buchungen 
    574                         if ($debug >= 2) {echo "<p class='dbg'>Eingabe Bez. ".$zgbbez." Blatt ".$zblatt."</p>";} 
    575                         $gblatt=gml_blatt(); // gml_id zum Blatt suchen 
    576                         if ($gblatt != "") { // gefunden                 
     666                        $trans="Buchungen auf GB-Blatt"; 
     667                        $blattgml=gml_blatt(); // gml_id zum Blatt suchen 
     668                        if ($blattgml != "") { // gefunden               
    577669                                if (EinBlatt(true) == 1) { // darauf genau eine Buchung 
     670                                        $trans="GB-Blatt und 1 Buchung"; 
    578671                                        $gbuchung=gml_buchungsstelle(); // gml_id zum Kennzeichen 
    579672                                        EinGrundstueck(false); 
     
    582675                        break; 
    583676                case 4: // Eingabe Buchung (Grundstueck) -> Liste der Flurstuecke 
    584                         if ($debug >= 2) {echo "<p class='dbg'>Eingabe Bez. ".$zgbbez." Blatt ".$zblatt." BVNR ".$zbvnr."</p>";} 
     677                        $trans="Flurst. zur Buchungsstelle"; 
    585678                        $gbuchung=gml_buchungsstelle(); // gml_id zum Kennzeichen 
    586679                        if ($gbuchung != "") { // .. wurde geliefert  
     680                                $trans="Buchungsstelle und 1 Flurst."; 
    587681                                EinGrundstueck(true); 
    588682                        } 
    589683                        break; 
    590684                case 9: // Fehler 
    591                         echo "<p class='err'>Bitte ein g&uuml;ltiges Grundbuchkennzeichen eingegeben, Format 'gggg-999999A-llll</p>"; 
     685                        $trans="fehlerhafte Eingabe"; 
     686                        echo "\n<p class='err'>Bitte ein g&uuml;ltiges Grundbuchkennzeichen eingegeben, Format 'gggg-999999A-llll</p>"; 
    592687                        break; 
    593688        } 
    594689} 
     690// Titel im Kopf anzeigen 
     691echo "\n<script type='text/javascript'>\n\ttranstitle('".$trans."')\n</script>"; 
    595692 
    596693?> 
     694 
    597695</body> 
    598696</html> 
Note: See TracChangeset for help on using the changeset viewer.