Ignore:
Timestamp:
05/08/13 09:04:34 (11 years ago)
Author:
frank.jaeger
Message:

Mapbender-ALKIS-Navigation korrigiert und verbessert.

File:
1 edited

Legend:

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

    r280 r282  
    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 
    83        2013-04-16      "import_request_variables" entfÀllt in PHP 5.4 
    94        2013-04-26      Ersetzen View "gemeinde_gemarkung" durch Tabelle "pp_gemarkung" 
     
    127                                        ZurÃŒck-Link, Titel der Transaktion anzeigen. 
    138        2013-04-29      Test mit IE 
     9        2013-05-07  Strukturierung des Programms, redundanten Code in Functions zusammen fassen 
    1410*/ 
    1511$cntget = extract($_GET); 
    16  
    1712include("../../conf/alkisnav_conf.php"); // Konfigurations-Einstellungen 
    1813include("alkisnav_fkt.php"); // Funktionen 
     
    3833                        document.getElementById('transaktiontitle').innerHTML = trans; 
    3934                } 
     35                function formular_belegung(suchMich) { 
     36                        parent.GrdGazetteerFrame.gbkennz.value=suchMich; 
     37                } 
    4038        </script> 
    4139</head> 
    4240<body> 
    4341<a href='javascript:history.back()'> 
    44         <img src="ico/zurueck.ico" width="16" height="16" alt="&lt;&lt;" title="zur&uuml;ck" /> 
     42        <img src="ico/zurueck.ico" width="16" height="16" alt="&lt;&lt;" title="zur&uuml;ck"> 
    4543</a> 
    4644<dfn class='title' id='transaktiontitle'></dfn> 
    4745 
    4846END; 
     47 
     48function suchfeld($suchstring) {        // Suchstring Ausgeben UND das Eingabeformular damit belegen 
     49        $out="<a title='Dies als Suchbegriff setzen' href='javascript:formular_belegung(\"".$suchstring."-\")'>".$suchstring."</a>"; 
     50        return $out; 
     51} 
    4952 
    5053function is_ne_zahl($wert) { 
     
    6972                return 2; // Such Bezirk-NUMMER 
    7073        } else  { // Format von BlattNr pruefen 
    71         //'19'       linksbÃŒndig 
    72         //'000019 '  gefÃŒllt 6 + blank 
    73         //'000019A'  .. mit Zusatzbuchstabe 
    74         //'0300001'  gefÃŒllt 7, bei Blattart 5000 "fiktives Blatt" 
     74        //'19'      linksbÃŒndig 
     75        //'000019 ' gefÃŒllt 6 + blank 
     76        //'000019A' .. mit Zusatzbuchstabe 
     77        //'0300001' gefÃŒllt 7, bei Blattart 5000 "fiktives Blatt" 
    7578                $len=strlen($zblatt); 
    7679                if ($len > 0 AND $len < 8) {             
     
    106109 
    107110function ListAG($liste_ag) { 
    108         // Amtsgerichte (Grundbuch) auflisten, dazu als Filter eine AG-Liste aus conf 
     111        // Amtsgerichte (Grundbuch) auflisten, dazu als Filter eine AG-Liste 
    109112        global $con, $gkz, $gemeinde, $epsg, $debug, $gbkennz; 
    110113        $linelimit=40; 
     
    122125        while($row = pg_fetch_array($res)) { // Loop AG  
    123126                $anr=$row["stelle"]; 
    124                 $ag=htmlentities($row["ag"], ENT_QUOTES, "UTF-8");               
    125                 echo "\n<div class='ga' title='Amtsgricht'>"; 
    126                         echo "\n\t\t<img class='nwlink' src='ico/Gericht.ico' width='16' height='16' alt='Amtsgericht'> "; 
    127                         echo "AG <a href='alkisnav_grd.php?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;ag=".$anr."'>";                
    128                                 echo $ag."</a> (".$anr.")"; 
    129                 echo "\n</div>"; 
     127                $ag=$row["ag"];          
     128                zeile_ag ($ag, $anr); 
    130129                $cnt++; 
    131130        } 
    132         if($cnt == 0){ // falsch configuriert! 
     131        // Foot 
     132        if($cnt == 0){ 
    133133                echo "\n<p class='anz'>Kein Amtsgericht aus Liste ".$$liste_ag.".</p>"; 
    134134        } elseif ($cnt >= $linelimit) { 
     
    140140} 
    141141 
    142 function ListGBBez($liste_ag, $mit_ag) { 
    143         // Grundbuch-Bezirke auflisten. 
    144         // +++ auch wenn BlÀtter da sind, kann es eine Sackgasse sein. 
    145         // +++ manchmal haben die BlÀtter keine FlurstÃŒcke. 
     142function ListGBBez($agkey) { 
     143        // Grundbuch-Bezirke zu einem Amtsgericht auflisten. 
     144        // Auch wenn BlÀtter da sind, kann es eine Sackgasse sein.  
     145        // Manchmal haben die BlÀtter keine FlurstÃŒcke im Filter-Bereich 
    146146        global $con, $gkz, $gemeinde, $epsg, $debug, $gbkennz; 
    147         $linelimit=90; 
    148         $sql ="SELECT a.stelle, a.bezeichnung AS ag, g.bezirk, g.bezeichnung FROM ax_buchungsblattbezirk g "; 
     147        $linelimit=100; // Bezirke/AG 
     148        // Head 
     149        ListAG( "'".$agkey."'" ); // hier nur fÃŒr 1 
     150        // Body 
     151        $sql ="SELECT g.bezirk, g.bezeichnung FROM ax_buchungsblattbezirk g "; 
    149152        $sql.="JOIN ax_dienststelle a ON g.stelle=a.stelle "; 
    150         $sql.="WHERE a.stelle IN (".$liste_ag.") AND a.stellenart = 1000 "; // Amtsgericht aus Liste 
    151         // Diese Subquery stellt sicher, dass nur Bezirke aufgelistett werden, die auch BlÀtter enthalten: 
     153        $sql.="WHERE a.stelle = $1 AND a.stellenart = 1000 "; 
     154        // Diese Subquery stellt sicher, dass nur Bezirke aufgelistet werden, die auch BlÀtter enthalten: 
    152155        $sql.="AND NOT (SELECT gml_id FROM ax_buchungsblatt b WHERE b.land=g.land and b.bezirk=g.bezirk LIMIT 1) IS NULL "; 
    153         $sql.="ORDER BY g.bezeichnung LIMIT $1 ;"; 
     156        $sql.="ORDER BY g.bezeichnung LIMIT $2 ;"; 
     157        $v = array($agkey, $linelimit); 
    154158        $res = pg_prepare("", $sql); 
    155         $res = pg_execute("", array($linelimit)); 
     159        $res = pg_execute("", $v); 
    156160        if (!$res) { 
    157161                echo "\n<p class='err'>Fehler bei Grundbuch-Bezirk</p>"; 
    158                 if ($debug >= 3) {echo "\n<p class='err'>".$sql."</p>";} 
     162                #if ($debug >= 3) {echo "\n<p class='err'>".$sql."</p>";} 
    159163                return 0; 
    160164        } 
    161165        $cnt = 0; 
    162         while($row = pg_fetch_array($res)) { // Loop  B E Z I R K 
    163                 $gnam=htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); 
     166        while($row = pg_fetch_array($res)) { // Loop BEZIRK 
     167                $gnam=$row["bezeichnung"]; 
    164168                $gnr=$row["bezirk"]; 
    165                 $ag=htmlentities($row["ag"], ENT_QUOTES, "UTF-8"); 
    166                 $anr=$row["stelle"]; 
    167                 echo "\n<div class='gk' title='GB-Bezirk'>"; 
    168                         echo "\n\t\t<img class='nwlink' src='ico/GB-Bezirk.ico' width='16' height='16' alt='Gemkg'> "; 
    169                         echo "Bezirk <a href='alkisnav_grd.php?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;gbkennz=".$gnr."'>";               
    170                                 echo $gnam."</a> (".$gnr.")"; 
    171                                 if ($mit_ag) { 
    172                                         echo " AG <a href='alkisnav_grd.php?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;ag=".$anr."'>".$ag."</a>"; 
    173                                 } 
    174                 echo "\n</div>"; 
     169                zeile_gbbez($gnam, $gnr); 
    175170                $cnt++; 
    176171        } 
     172        // Foot 
    177173        if($cnt == 0){ 
    178174                echo "\n<p class='anz'>Kein Bezirk mit Bl&auml;ttern.</p>"; 
    179175        } elseif ($cnt >= $linelimit) { 
    180                 echo "\n<p class='anz' title='Bitte eindeutiger qualifizieren'>".$cnt." Bezirke ... und weitere</p>"; 
     176                echo "\n<p class='anz' title='Bitte Name des Bezirks suchen lassen'>".$cnt." Bezirke ... und weitere</p>"; 
    181177        } elseif($cnt > 1) { 
    182178                echo "\n<p class='anz'>".$cnt." Bezirke</p>"; // im Limit        
    183179        } 
    184         return 0; 
     180        return; 
     181} 
     182 
     183function ag_bez_head($gbbez) { 
     184        // Zu einem Grundbuchbezirks-SchlÃŒssel die Zeilen AG und Bezirk ausgeben 
     185        // Parameter = SchlÃŒssel des Bezirks 
     186        $sql ="SELECT a.stelle, a.bezeichnung AS ag, g.bezeichnung FROM ax_buchungsblattbezirk g "; 
     187        $sql.="JOIN ax_dienststelle a ON g.stelle=a.stelle WHERE g.bezirk= $1 LIMIT 1;"; 
     188        $v=array($gbbez); 
     189        $res=pg_prepare("", $sql); 
     190        $res=pg_execute("", $v); 
     191        if (!$res) { 
     192                echo "\n<p class='err'>Fehler bei Amtsgericht und Grundbuchbezirk.</p>"; 
     193                #if ($debug >= 3) {echo "\n<p class='err'>".$sql."</p>";} 
     194        } 
     195        $row = pg_fetch_array($res); 
     196        if ($row) { 
     197                $gnam=$row["bezeichnung"]; // GB-Bezirk Bezeichnung 
     198                $ag=$row["ag"]; // AG Bezeichnung 
     199                $anr=$row["stelle"]; // AG Key 
     200                zeile_ag($ag, $anr); // Amtsgericht 
     201                zeile_gbbez($gnam, $gbbez); // Bezirk 
     202        } else { 
     203                echo "\n<div class='gk' title='Grundbuchbezirk'>"; 
     204                        echo "\n\t\t<p class='err'><img class='nwlink' src='ico/GB-Bezirk.ico' width='16' height='16' alt='Bez.'>"; 
     205                                echo  " Bezirk '".$gbbez."' ist unbekannt.</p>"; 
     206                echo "\n</div>"; 
     207                return; 
     208        } 
     209        return; 
    185210} 
    186211 
     
    188213        // Grundbuch-Bezirk suchen nach Name(-nsanfang) 
    189214        global $con, $gkz, $gemeinde, $debug, $gbkennz; 
    190         $linelimit=50; 
     215        $linelimit=80; 
    191216        $sql ="SELECT a.stelle, a.bezeichnung AS ag, g.bezirk, g.bezeichnung FROM ax_buchungsblattbezirk g "; 
    192217        $sql.="JOIN ax_dienststelle a ON g.stelle=a.stelle "; 
    193218        $sql.="WHERE g.bezeichnung ILIKE $1 "; //       "AND a.stellenart=1000 " // Amtsgericht 
    194         $sql.="ORDER BY g.bezeichnung LIMIT $2 ;"; 
     219        $sql.="ORDER BY a.bezeichnung, g.bezeichnung LIMIT $2 ;"; 
    195220        if ( $gbkennz == "") { 
    196221                $match = "%"; 
     
    207232        if (!$res) { 
    208233                echo "\n<p class='err'>Fehler bei Grundbuch-Bezirk</p>"; 
    209                 if ($debug >= 3) {echo "\n<p class='err'>".$sql."</p>";} 
    210                 return 0; 
    211         } 
    212         $cnt = 0; 
    213         // Loop  B E Z I R K 
    214         while($row = pg_fetch_array($res)) { 
    215                 $gnam=htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); 
     234                return 1; 
     235        } 
     236        $cnt=0; 
     237        $gwag=""; 
     238        while($row = pg_fetch_array($res)) { // Loop BEZIRK 
     239                $anr=$row["stelle"]; // Gruppierung AG 
     240                if ($gwag != $anr) { 
     241                        $gwag = $anr; 
     242                        $ag=$row["ag"]; 
     243                        zeile_ag($ag, $anr); 
     244                } 
     245                $gnam=$row["bezeichnung"]; 
    216246                $gnr=$row["bezirk"]; 
    217                 $ag=htmlentities($row["ag"], ENT_QUOTES, "UTF-8");               
    218                 $anr=$row["stelle"]; 
    219                 echo "\n<div class='gk' title='Grundbuch-Bezirk'>"; 
    220                         echo "\n\t\t<img class='nwlink' src='ico/GB-Bezirk.ico' width='16' height='16' alt='Gemkg'> "; 
    221                         echo "Bezirk <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;gbkennz=".$gnr."'>";            
    222                                 echo $gnam."</a> (".$gnr.")"; 
    223                                 echo " AG <a href='alkisnav_grd.php?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;ag=".$anr."'>".$ag."</a>"; 
    224                 echo "\n</div>"; 
     247                zeile_gbbez ($gnam, $gnr); 
    225248                $cnt++; 
    226249        } 
     250        // Foot 
    227251        if($cnt == 0){  
    228252                echo "\n<p class='anz'>Kein Grundbuchbezirk.</p>"; 
     
    234258                echo "\n<p class='anz'>".$cnt." Bezirke</p>"; // im Limit        
    235259        } 
    236         return 0; 
     260        return; 
    237261} 
    238262  
     
    240264        // Kennzeichen bestehend nur aus GB-Bezirk-SchlÃŒssel wurde eingegeben 
    241265        global $con, $gkz, $gemeinde, $epsg, $debug, $zgbbez, $auskpath; 
    242         $linelimit=250; // max. Blatt je Bezirk 
     266        $linelimit=300; // max. Blatt je Bezirk 
    243267        // Dies Limit ist nicht ausreichend fÃŒr alle BlÀtter eines Bezirks, aber ... 
    244268        // Wenn man die Blatt-Nr nicht kennt, kommt man hier sowieso nicht weiter. 
    245269        // Es nutzt also nichts, hier tausende Nummern aufzulisten. 
    246270        // +++ BlÀtter-Funktion einfÃŒhren analog Modul _eig 
     271 
     272        // Head 
    247273        if ($showParent) { 
    248                 $sql ="SELECT a.stelle, a.bezeichnung AS ag, g.bezeichnung FROM ax_buchungsblattbezirk g "; 
    249                 $sql.="JOIN ax_dienststelle a ON g.stelle=a.stelle WHERE g.bezirk= $1 ;"; 
    250                 $v=array($zgbbez); 
    251                 $res=pg_prepare("", $sql); 
    252                 $res=pg_execute("", $v); 
    253                 if (!$res) { 
    254                         echo "\n<p class='err'>Fehler bei Brundbuchbezirk.</p>"; 
    255                         if ($debug >= 3) {echo "\n<p class='err'>".$sql."</p>";} 
    256                 } 
    257                 $zgmk=0; 
    258                 while($row = pg_fetch_array($res)) {     
    259                         $gnam=htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); 
    260                         $gnr=$row["bezirk"]; 
    261                         $ag=htmlentities($row["ag"], ENT_QUOTES, "UTF-8");       
    262                         $anr=$row["stelle"]; 
    263                         $zgmk++; 
    264                 } 
    265                 if ($zgmk == 0) { 
    266                         echo "\n<div class='gk' title='Grundbuchbezirk'>"; 
    267                                 echo "\n\t\t<p class='err'><img class='nwlink' src='ico/GB-Bezirk.ico' width='16' height='16' alt='Bez.'>"; 
    268                                         echo  " Bezirk ".$zgbbez." ist unbekannt.</p>"; 
    269                         echo "\n</div>"; 
    270                         return; 
    271                 } 
    272  
    273                 // AG-Knoten davor setzen 
    274                 echo "\n<div class='ga' title='Amtsgricht'>"; 
    275                         echo "\n\t\t<img class='nwlink' src='ico/Gericht.ico' width='16' height='16' alt='Amtsgericht'> "; 
    276                         echo "AG <a href='alkisnav_grd.php?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;ag=".$anr."'>";                
    277                                 echo $ag."</a> (".$anr.")"; 
    278                 echo "\n</div>"; 
    279                 echo "\n<div class='gk' title='GB-Bezirk'>"; 
    280                         echo "\n\t\t<img class='nwlink' src='ico/GB-Bezirk.ico' width='16' height='16' alt='Bez.'> "; 
    281                         echo "<a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;gbkennz=".$zgbbez."'>";                
    282                         echo $gnam."</a> (".$zgbbez.")"; 
    283                         // alternativ AG-Link hinter dem Bezirk 
    284                 //      echo " des AG <a href='alkisnav_grd.php?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;ag=".$anr."'>".$ag."</a>";                        
    285                 echo "\n</div>"; 
    286         } 
     274                ag_bez_head($zgbbez); // AG und BEZ ausgeben 
     275        } 
     276        // Body 
    287277        $sql ="SELECT b.gml_id, b.buchungsblattnummermitbuchstabenerweiterung AS blatt FROM ax_buchungsblatt b "; 
    288278        $sql.="WHERE b.bezirk= $1 ORDER BY b.buchungsblattnummermitbuchstabenerweiterung LIMIT $2 ;"; 
     
    292282        if (!$res) { 
    293283                echo "\n<p class='err'>Fehler bei Bezirk.</p>"; 
    294                 if ($debug >= 3) {echo "\n<p class='err'>".$sql."</p>";} 
     284                #if ($debug >= 3) {echo "\n<p class='err'>".$sql."</p>";} 
    295285        } 
    296286        $cntbl=0; // Counter Blatt/Bezirk 
    297         // Loop  B L A T T       
    298         while($row = pg_fetch_array($res)) {     
     287        while($row = pg_fetch_array($res)) { // Loop BLATT       
    299288                $blatt=$row["blatt"]; 
    300                 $blattd=ltrim($blatt, "0"); 
    301                 $gml=$row["gml_id"]; 
    302                 echo "\n<div class='gb' title='GB-Blatt'>"; 
    303                         echo "\n\t<a title='Nachweis' href='javascript:imFenster(\"".$auskpath."alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$gml."\")'>"; 
    304                                 echo "\n\t\t<img class='nwlink' src='ico/GBBlatt_link.ico' width='16' height='16' alt='Blatt'>"; 
    305                         echo "\n\t</a> "; 
    306                         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>"; 
    307                 echo "\n</div>"; 
     289                $blattgml=$row["gml_id"]; 
     290                zeile_blatt($zgbbez, $gnam, $blattgml, $blatt, false, ""); 
    308291                $cntbl++; 
    309292        } 
     293        // Foot 
    310294        if($cntbl == 0) {  
    311295                echo "\n<p class='anz'>Kein Blatt im Bezirk.</p>"; 
     
    314298                // +++ Hier oft ÃŒberschritten! BlÀtter-Funktion einfÃŒhren 
    315299                echo "\n<p>Geben sie ein: '".$zgbbez."-999A'<br>wobei '999A' = gesuchtes GB-Blatt</p>"; 
     300 
     301                // Vorbelegen des Eingabefeldes fÃŒr neue Suche? 
     302                echo "<script type='text/javascript'>parent.GrdGazetteerFrame.gbkennz.value='".$zgbbez."-??';</script>"; 
     303                 
    316304        } elseif ($cntbl > 1) { 
    317305                echo "\n<p class='anz'>".$cntbl." Bl&auml;tter</p>"; // im Limit         
     
    352340} 
    353341 
    354 /* 
    355 function EinBlatt_ALT($showParent) { 
    356         // Kennzeichen Bezirk + Blatt wurde eingegeben 
    357         // UrsprÃŒngliche Version bis 2013-04-24 
    358         global $con, $gkz, $debug, $gemeinde, $epsg, $auskpath, $zgbbez, $zblatt, $zblattn, $zblattz, $blattgml, $zbvnr; 
    359  
     342function EinBlatt($showParent) { 
     343        // Kennzeichen Bezirk + Blatt wurde eingegeben oder verlinkt 
     344        global $con, $gkz, $debug, $gemeinde, $epsg, $zgbbez, $zblatt, $blattgml, $gbbeznam; 
     345        // Head 
    360346        if ($showParent) { 
    361         // +++ nur der Schluessel ist bekannt. Bezirks-Namen und Amtsgericht noch ermitteln ++++ 
    362                 echo "\n<div class='gk' title='Grundbuch-Bezirk'>"; 
    363                         echo "\n\t\t<img class='nwlink' src='ico/GB-Bezirk.ico' width='16' height='16' alt='Bez.'> "; 
    364                         echo "Bezirk <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;gbkennz=".$zgbbez."'>";                 
    365                         echo $zgbbez."</a>"; 
    366                 echo "\n</div>"; 
    367                 echo "\n<div class='gb' title='GB-Blatt'>"; 
    368                         echo "\n\t<a title='Nachweis' href='javascript:imFenster(\"".$auskpath."alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$blattgml."\")'>"; 
    369                                 echo "\n\t\t<img class='nwlink' src='ico/GBBlatt_link.ico' width='16' height='16' alt='Blatt'>"; 
    370                         echo "\n\t</a> "; 
    371                         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>"; 
    372                 echo "\n</div>"; 
    373         } 
    374         // Blatt ->  B u c h u n g s s t e l l e 
    375         $sql ="SELECT s.gml_id, s.laufendenummer AS lfd FROM ax_buchungsstelle s "; 
    376         $sql.="JOIN alkis_beziehungen v ON s.gml_id=v.beziehung_von ";  
    377         $sql.="JOIN ax_buchungsblatt b ON v.beziehung_zu=b.gml_id "; 
    378         $sql.="WHERE v.beziehungsart='istBestandteilVon' AND b.gml_id= $1 ORDER BY s.laufendenummer;"; 
    379         // +++ Buchungen ohne FLST weglassen? 
    380         // +++ Counter FLST ausgeben, Buchungen mit 0 weglassen  
    381         $v=array($blattgml); 
    382         $res=pg_prepare("", $sql); 
    383         $res=pg_execute("", $v); 
    384         if (!$res) { 
    385                 echo "\n<p class='err'>Fehler bei Blatt.</p>"; 
    386                 if ($debug >= 3) {echo "\n<p class='err'>".$sql."</p>";} 
    387         } 
    388         $cntbu=0; // Counter Buchung/Blatt 
    389         while($row = pg_fetch_array($res)) {     
    390                 $bs_gml=$row["gml_id"];          
    391                 $lfd=$row["lfd"]; 
    392                 echo "\n<div class='gs'>"; 
    393                         echo "\n\t\t<img class='nwlink' title='Grundst&uuml;ck' src='ico/Grundstueck.ico' width='16' height='16' alt='GS'> "; 
    394                         echo "Buchung <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;gbuchung=".$bs_gml."&amp;gbkennz=".$zgbbez."-".$zblatt."-".$lfd."'>&nbsp;".$lfd."&nbsp;</a>"; 
    395                 echo "\n</div>"; 
    396                 $cntbu++; 
    397         } 
    398         if($cntbu == 0) {  
    399                 echo "\n<p class='anz'>Keine Buchung gefunden.</p>"; 
    400         } elseif($cntbu == 1) { 
    401                 $zbvnr=$lfd; // mit dieser BVNR gleich weiter machen 
    402                 // Blatt zerteilen (benoetigt in gml_buchungsstelle) 
    403                 if (trim($zblatt, "0..9") == "") { // Normalfall: nur Zahlen 
    404                         $zblattn= ltrim($zblatt, "0"); 
    405                         $zblattz=""; 
    406                 } else { // Sonderfall: Zusatz-Buchstabe am Ende 
    407                         $zblattn=ltrim(substr($zblatt,0,$len-1), "0"); // ohne fuehrende Nullen 
    408                         $zblattz=strtoupper(substr($zblatt,$len-1,1));  
    409                 } 
    410         } else { 
    411                 echo "\n<p class='anz'>".$cntbu."Buchungen.</p>"; 
    412         } 
    413         return $cntbu; 
    414 } 
    415 */ 
    416  
    417 function EinBlatt($showParent) { 
    418         // Kennzeichen Bezirk + Blatt wurde eingegeben 
    419         global $con, $gkz, $debug, $gemeinde, $epsg, $auskpath, $zgbbez, $zblatt, $zblattn, $zblattz, $blattgml, $zbvnr; 
    420  
    421         if ($showParent) { 
    422         // +++ nur der Schluessel ist bekannt. Bezirks-Namen und Amtsgericht noch ermitteln ++++ 
    423                 echo "\n<div class='gk' title='Grundbuch-Bezirk'>"; 
    424                         echo "\n\t\t<img class='nwlink' src='ico/GB-Bezirk.ico' width='16' height='16' alt='Bez.'> "; 
    425                         echo "Bezirk <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;gbkennz=".$zgbbez."'>";                 
    426                         echo $zgbbez."</a>"; 
    427                 echo "\n</div>"; 
    428                 echo "\n<div class='gb' title='GB-Blatt'>"; 
    429                         echo "\n\t<a title='Nachweis' href='javascript:imFenster(\"".$auskpath."alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$blattgml."\")'>"; 
    430                                 echo "\n\t\t<img class='nwlink' src='ico/GBBlatt_link.ico' width='16' height='16' alt='Blatt'>"; 
    431                         echo "\n\t</a> "; 
    432                         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>"; 
    433                 echo "\n</div>"; 
    434         } 
    435  
    436         // Blatt -> Buchungsstelle -> Flurstueck 
    437         $linelimit = 200; // Max. Anzahl FS 
    438         GB_Buchung_FS($linelimit); // Externe Function 
    439  
    440         return 0;  
    441          
     347                ag_bez_head($zgbbez); // AG + BEZ 
     348                zeile_blatt ($zgbbez, $gbbeznam, $blattgml, $zblatt, false, ""); 
     349        } 
     350        // Body 
     351        GB_Buchung_FS(200); // Blatt -> Buchung -> Flurstueck (max. 200) 
     352        return;  
    442353} 
    443354 
    444355function gml_buchungsstelle() { 
    445         // Kennzeichen "Bezirk + Blatt + BVNR" eingegeben. Dazu die gml_id der Buchungsstelle ermitteln. 
     356        // Kennzeichen "Bezirk + Blatt + BVNR" wurde eingegeben. 
     357        // Dazu die gml_id der Buchungsstelle ermitteln, um "function EinGrundstueck" benutzen zu können. 
    446358        global $con, $gkz, $debug, $zgbbez, $zblatt, $zblattn, $zblattz, $zbvnr; 
    447359        // Blatt ->  B u c h u n g s s t e l l e 
     
    474386                echo "\n<p class='err'>Buchung ".$zgbbez."-".$zblattn.$zblattz."-".$zbvnr." nicht gefunden.</p>"; 
    475387                return; 
    476         } elseif($zbs > 1) { // nur TEST 
    477                 echo "\n<p class='err'>Buchungsstelle mehrfach gefunden.</p>"; 
    478                 return; 
    479388        } else { 
    480389                return $bs_gml; 
     
    483392 
    484393function EinGrundstueck($showParent) { 
    485         // Die gml_id der Buchungsstelle ist bekannt. 
    486         global $con, $gkz, $debug, $gemeinde, $epsg, $scalefs, $epsg, $auskpath, $gbuchung, $zgbbez, $zblatt, $zblattn, $zblattz, $zbvnr, $gfilter; 
     394        // Die gml_id der Buchungsstelle (BVNR, GrundstÃŒck) ist bekannt = $buchunggml 
     395        // Die gebuchten FlurstÃŒcke und dienende/herrschenden Buchungen werden ausgegeben. 
     396        global $con, $gkz, $debug, $gemeinde, $epsg, $scalefs, $epsg, $auskpath, $buchunggml, $zgbbez, $zblatt, $zblattn, $zblattz, $zbvnr, $gfilter; 
    487397        // NoLimit? 
    488398        if ($showParent) { // wenn Kennzeichen bekannt ist, dann auch Blatt ausgeben 
    489  
    490399                if ($zgbbez.$zblatt != "") { 
    491                         // +++ SchlÃŒssel ist bekannt. Namen und Amtsgericht dazu ermitteln 
    492                         // +++ oder Namen als &bez= ÃŒbermitteln? 
    493                         echo "\n<div class='gk' title='GB-Bezirk'>"; 
    494                                 echo "\n\t\t<img class='nwlink' src='ico/GB-Bezirk.ico' width='16' height='16' alt='Bez.'> "; 
    495                                 echo "<a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;gbkennz=".$zgbbez."'>";                
    496                                 echo "Bezirk ".$zgbbez."</a>"; 
    497                         echo "\n</div>";                         
    498                         echo "\n<div class='gb' title='GB-Blatt'>"; 
    499                                 echo "\n\t\t<img class='nwlink' src='ico/GBBlatt.ico' width='16' height='16' alt='Blatt'> "; 
    500                                 echo "Blatt <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;gbkennz=".$zgbbez."-".$zblatt."'>&nbsp;".$zblattn.$zblattz."&nbsp;</a>"; 
    501                         echo "\n</div>"; 
     400                        ag_bez_head($zgbbez); // AG + BEZ 
     401                        zeile_blatt ($zgbbez, $gnam, "", $zblatt, false, ""); 
     402                        // $gnam leer lassen Knoten "Bezirk" steht drÃŒber 
    502403                } else { 
    503404                        echo "<p class='err'>Kennzeichen Bezirk und Blatt nicht gesetzt</p>"; 
    504                 } 
    505  
    506                 echo "\n<div class='gs'>"; 
    507                         echo "\n\t\t<img class='nwlink' title='Grundst&uuml;ck' src='ico/Grundstueck.ico' width='16' height='16' alt='GS'> "; 
    508                         echo "Buchung <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;gbuchung=".$gbuchung."&amp;gbkennz=".$zgbbez."-".$zblattn.$zblattz."-".$zbvnr."'>&nbsp;".$zbvnr."&nbsp;</a>"; 
    509                 echo "\n</div>"; 
    510         } 
    511         // +++ Ermitteln anderer Buchungsstellen mit Rechten an dieser 
    512         // +++ Ermitteln anderer Buchungsstellen wo diese Rechte hat 
    513         // +++ Filter "Gemeinde" berÃŒcksichtigt!! Wenn gesetzt. 
    514  
    515         // SQL-Bausteine 
    516         $sql1 ="SELECT g.gemeinde, g.gemarkungsname, f.gml_id, f.flurnummer, f.zaehler, f.nenner, "; 
     405                        // +++ Dann suche sie !!                         
     406                } 
     407                zeile_buchung ($buchunggml, $zbvnr, $zgbbez."-".$zblattn.$zblattz."-".$zbvnr, false); 
     408        } 
     409 
     410// SQL-Bausteine 
     411// dienend $1 gml_id von 
     412//         Buchungsstelle  <vs/an<  Buchungsstelle sh 
     413//         (dienend)                (herrschend) 
     414// 
     415// direkt  $1 gml_id von  
     416//         Buchungsstelle                              <vs/istGebucht< FlurstÃŒck > Gemarkung 
     417// 
     418// Recht   $1 gml_id von  
     419//         Buchungsstelle  >vs/an>  Buchungsstelle sd  <vf/istGebucht< FlurstÃŒck > Gemarkung 
     420//         (herrschend)             (dienend) 
     421//                                                 sd  >vd/istBestandteilVon> bd > gd 
     422 
     423        // Anfang gleich (Select-Liste) 
     424        $sqlanf ="SELECT g.gemeinde, g.gemarkungsname, f.gml_id, f.flurnummer, f.zaehler, f.nenner, "; 
    517425        if($epsg == "25832") { // Transform nicht notwendig 
    518                 $sql1.="st_x(st_Centroid(f.wkb_geometry)) AS x, "; 
    519                 $sql1.="st_y(st_Centroid(f.wkb_geometry)) AS y "; 
     426                $sqlanf.="st_x(st_Centroid(f.wkb_geometry)) AS x, "; 
     427                $sqlanf.="st_y(st_Centroid(f.wkb_geometry)) AS y "; 
    520428        } else {   
    521                 $sql1.="st_x(st_transform(st_Centroid(f.wkb_geometry),".$epsg.")) AS x, "; 
    522                 $sql1.="st_y(st_transform(st_Centroid(f.wkb_geometry),".$epsg.")) AS y ";                        
    523         } 
    524         $sql1.="FROM "; 
    525  
    526         $sqla1 ="JOIN alkis_beziehungen vfb ON s1.gml_id = vfb.beziehung_zu "; 
    527         $sqla2 ="JOIN alkis_beziehungen vfb ON s2.gml_id = vfb.beziehung_zu "; 
    528  
    529         // Zwischen-JOIN (zusÀtzlich nur bei zweiter Abfrage) 
    530         $sqlz ="JOIN alkis_beziehungen vss ON vss.beziehung_von = s1.gml_id "; 
    531         $sqlz.="JOIN ax_buchungsstelle s2 ON vss.beziehung_zu = s2.gml_id "; 
    532  
    533         $sql2 ="JOIN ax_flurstueck f ON ....  "; 
    534         $sql2.="JOIN pp_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkung "; 
    535         $sql2.="WHERE v.beziehungsart='istGebucht' AND v.beziehung_zu= $1 "; // id buchungsstelle 
     429                $sqlanf.="st_x(st_transform(st_Centroid(f.wkb_geometry),".$epsg.")) AS x, "; 
     430                $sqlanf.="st_y(st_transform(st_Centroid(f.wkb_geometry),".$epsg.")) AS y ";                      
     431        } 
     432        // Filter gleich 
    536433        switch ($gfilter) { // Filter Gemeinde 
    537434                case 1: // Einzelwert 
    538                         $sql2.="AND g.gemeinde=".$gemeinde." "; break; 
     435                        $sqlfitler="AND g.gemeinde=".$gemeinde." "; break; 
    539436                case 2: // Liste 
    540                         $sql2.="AND g.gemeinde in (".$gemeinde.") "; break; 
    541         } 
    542         $sql2.="ORDER BY f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner;"; 
    543  
    544         $sql=$sql1.$sqla1.$sql2; // Direkte Buchungen 
    545         $v=array($gbuchung); 
     437                        $sqlfilter="AND g.gemeinde in (".$gemeinde.") "; break; 
     438        } 
     439 
     440        // Abfrage: Direkte Buchungen (FlurstÃŒcke) 
     441        $sql =$sqlanf."FROM alkis_beziehungen vs JOIN ax_flurstueck f ON vs.beziehung_von = f.gml_id "; 
     442        $sql.="JOIN pp_gemarkung  g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkung "; 
     443        $sql.="WHERE vs.beziehung_zu= $1 AND vs.beziehungsart='istGebucht' "; 
     444        $sql.=$sqlfilter."ORDER BY f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner;"; 
     445 
     446        $v=array($buchunggml); 
    546447        $res=pg_prepare("", $sql); 
    547448        $res=pg_execute("", $v); 
    548449        if (!$res) { 
    549                 echo "\n<p class='err'>Fehler bei Buchungsstelle (gml).</p>"; 
    550                 if ($debug >= 3) {echo "\n<p class='err'>".$sql."</p>";} 
    551         } 
    552         $zfs=0; 
     450                echo "\n<p class='err'>Fehler bei Buchungsstelle (gml, direkt).</p>"; 
     451                if ($debug >= 3) { 
     452                        echo "\n<p class='err'>'".$sql."'<br>\nmit $1 ='".$buchunggml."'</p>"; 
     453                } 
     454        } 
     455        $zfs1=0; 
    553456        while($row = pg_fetch_array($res)) {     
    554457                $fs_gml=$row["gml_id"]; 
     
    557460                $flur=$row["flurnummer"]; 
    558461                $fskenn=$row["zaehler"]; 
    559                 if ($row["nenner"] != "") {$fskenn.="/".$row["nenner"];} // Bruchnummer 
    560                 $x=$row["x"]; 
    561                 $y=$row["y"]; 
    562  
    563                 // FILTER OBEN, IN SQL - nicht HIER 
    564                 if($gemeinde > 0 and $gemeinde != $gemei and $gfilter == 1) { // ex-territorial  
    565                         if ($debug >= 2) { 
    566                                 echo "<p class='dbg'>Gemkg ".$gmkg." liegt in Gemeinde '".$gemei."' nicht '".$gemeinde."'</p>"; 
    567                         } 
    568                         echo "\n<div class='fs' title='Kein Zugriff! Liegt au&szlig;erhalb des Gebietes.'>"; 
    569                                 echo "\n\t\t<img class='nwlink' src='ico/Flurstueck_Leer.ico' width='16' height='16' alt='FS'> (".$gmkg." ".$flur."-".$fskenn." )"; 
    570                         echo "\n</div>";                         
    571                 } else { 
    572                         echo "\n<div class='fs'>"; 
    573                                 echo "\n\t<a title='Nachweis' href='javascript:imFenster(\"".$auskpath."alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$fs_gml."\")'>"; 
    574                                         echo "\n\t\t<img class='nwlink' src='ico/Flurstueck_Link.ico' width='16' height='16' alt='FS'>"; 
    575                                 echo "\n\t</a> "; 
    576                                 echo "\n\t".$gmkg." <a title='Flurst&uuml;ck positionieren 1:".$scalefs."' href='"; 
    577                                                 echo "javascript:parent.parent.parent.mb_repaintScale(\"mapframe1\",".$x.",".$y.",".$scalefs."); "; 
    578                                                 echo "parent.parent.showHighlight(".$x.",".$y.")' "; 
    579                                         echo "onmouseover='parent.parent.showHighlight(".$x.",".$y.")' "; 
    580                                         echo "onmouseout='parent.parent.hideHighlight()'>&nbsp;"; 
    581                                 echo $flur."-".$fskenn."&nbsp;</a>"; 
    582                         echo "\n</div>"; 
    583                 } 
    584                 $zfs++; 
    585         } 
    586         if($zfs == 0) { 
    587                 echo "\n<p class='anz'>Kein Flurst&uuml;ck.</p>"; 
    588         } elseif($zfs > 1) { 
    589                 echo "\n<p class='anz'>".$zfs." Flurst&uuml;ck.</p>"; 
     462                if ($row["nenner"] != "") {$fskenn.="/".$row["nenner"];} // BruchNr 
     463                zeile_flurstueck ($fs_gml, $fskenn, $row["x"], $row["y"], $gmkg, $flur ); 
     464                $zfs1++; 
     465        } 
     466        if($zfs1 == 0) { 
     467                echo "\n<p class='anz'>Kein Flurst&uuml;ck direkt</p>"; 
     468        } elseif($zfs1 > 1) { 
     469                echo "\n<p class='anz'>".$zfs1." Flurst&uuml;cke</p>"; 
     470        } 
     471        if($zfs1 > 0) { // wenn's was zu trennen gibt 
     472                echo "<hr>"; // Trennen 
     473        } 
     474 
     475        // Abfrage: Rechte an (dienende Buchungen und ihre FlurstÃŒcke) 
     476        $sql =$sqlanf.", sd.gml_id AS diengml, sd.laufendenummer AS dienlfd, ";         // Stelle dienend 
     477        $sql.="bd.gml_id AS dienbltgml, bd.buchungsblattnummermitbuchstabenerweiterung AS dienblatt, "; // Blatt dienend 
     478        $sql.="gd.stelle, gd.gml_id AS dienbezgml, gd.bezirk, gd.bezeichnung AS diengbbez ";    // AG und Bezirk dazu 
     479        $sql.="FROM alkis_beziehungen vs "; 
     480        $sql.="JOIN ax_buchungsstelle sd ON vs.beziehung_zu=sd.gml_id "; 
     481        $sql.="JOIN alkis_beziehungen vf ON vf.beziehung_zu=sd.gml_id "; // sd=Stelle dienend 
     482        $sql.="JOIN ax_flurstueck f ON vf.beziehung_von = f.gml_id "; 
     483        $sql.="JOIN pp_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkung "; 
     484 
     485        // Blatt und Bezirk (dienend) 
     486        $sql.="JOIN alkis_beziehungen vd ON vd.beziehung_von=sd.gml_id "; 
     487        $sql.="JOIN ax_buchungsblatt bd ON vd.beziehung_zu=bd.gml_id "; // Blatt dienend 
     488        $sql.="JOIN ax_buchungsblattbezirk gd ON bd.land=gd.land AND bd.bezirk=gd.bezirk "; // GB-Bez. dienend 
     489        $sql.="WHERE vs.beziehung_von = $1 AND vs.beziehungsart='an' AND vf.beziehungsart='istGebucht' AND vd.beziehungsart='istBestandteilVon' "; 
     490        $sql.=$sqlfilter."ORDER BY gd.bezeichnung, bd.buchungsblattnummermitbuchstabenerweiterung, cast(sd.laufendenummer AS integer), f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner;"; 
     491 
     492        $v=array($buchunggml); 
     493        $res=pg_prepare("", $sql); 
     494        $res=pg_execute("", $v); 
     495        if (!$res) { 
     496                echo "\n<p class='err'>Fehler bei Buchungsstelle (gml, Recht an).</p>"; 
     497                if ($debug >= 3) { 
     498                        echo "\n<p class='err'>'".$sql."'<br>\nmit $1 ='".$buchunggml."'</p>"; 
     499                } 
     500        } 
     501        $zfs2=0; 
     502        $gwblatt=""; 
     503        while($row = pg_fetch_array($res)) { 
     504                $dienstelle=$row["stelle"];             // Stelle (AG) des dienenden GrundstÃŒcks 
     505                $dienbezgml=$row["dienbezgml"]; // Bezirks des dien. GS: gml, Nr. und Bezeichnung 
     506                $diengbbez=$row["diengbbez"];   // Bezeichnung 
     507                $dienbezirk=$row["bezirk"];     // Key 
     508                $dienbltgml=$row["dienbltgml"]; // dienendes Blatt, gml und Nr 
     509                $dienblatt=$row["dienblatt"]; 
     510                $diengml=$row["diengml"];               // gml_id des dienenden GrundstÃŒcks 
     511                $dienlfd=$row["dienlfd"];               // BVNR (laufendNr) des dien. GS 
     512                if ($gwblatt != $dienblatt) { // Gruppierung Blatt - dienend 
     513                        $gwblatt = $dienblatt; // Steuerg GW Blatt 
     514                        zeile_blatt ($dienbezirk, $diengbbez, $dienbltgml, $dienblatt, true, ""); 
     515                        $gwbvnr=""; 
     516                } 
     517                if ($gwbvnr != $dienlfd) { // Gruppierung Buchung (BVNR) - dienend 
     518                        $gwbvnr = $dienlfd; // Steuerg GW BVNR 
     519                        zeile_buchung($diengml, $dienlfd, $dienbezirk."-".$dienblattlnk."-".$dienlfd, true); 
     520                } // ++ Buchungsart? Welches Recht? 
     521                $fs_gml=$row["gml_id"]; 
     522                $gemei=$row["gemeinde"]; 
     523                $gmkg=$row["gemarkungsname"]; 
     524                $flur=$row["flurnummer"]; 
     525                $fskenn=$row["zaehler"]; 
     526                if ($row["nenner"] != "") {$fskenn.="/".$row["nenner"];} // BruchNr 
     527                zeile_flurstueck ($fs_gml, $fskenn, $row["x"],$row["y"], $gmkg, $flur ); 
     528                $zfs2++; 
     529        } 
     530        if($zfs2 == 0 AND $zfs1 == 0) { 
     531                echo "\n<p class='anz'>Kein Recht an Flst.</p>"; 
     532        } elseif($zfs2 > 1) { 
     533                echo "\n<p class='anz'>".$zfs2." Rechte an Flurst.</p>"; 
    590534        } 
    591535        return; 
     
    596540// =========== 
    597541if(isset($epsg)) { 
    598         #if ($debug >= 2) {echo "<p class='dbg'>aktueller EPSG='".$epsg."'</p>";} // aus MB 
    599542        $epsg = str_replace("EPSG:", "" , $_REQUEST["epsg"]);    
    600543} else { 
    601         #if ($debug >= 1) {echo "<p class='err'>kein EPSG gesetzt</p>";}         
    602544        $epsg=$gui_epsg; // aus Conf 
    603545} 
     
    605547if ($gemeinde == "") { 
    606548        $gfilter = 0; // ungefiltert 
    607         #if ($debug >= 2) {echo "<p class='dbg'>Kein Filter Gemeinde</p>";} 
    608549} elseif(strpos($gemeinde, ",") === false) { 
    609550        $gfilter = 1; // Einzelwert 
    610         #if ($debug >= 2) {echo "<p class='dbg'>Filter Gemeinde Einzelwert = '".$gemeinde."'</p>";} 
    611551} else { 
    612552        $gfilter = 2; // Liste 
    613         #if ($debug >= 2) {echo "<p class='dbg'>Filter Gemeinde Liste = '".$gemeinde."'</p>";} 
    614553} 
    615554 
    616555// Auch wenn redundant: Das Kennzeichen fÃŒr Anzeige und weitere Links zerlegen 
    617556$kennztyp=ZerlegungGBKennz($gbkennz); 
    618 #if ($debug >= 2) {echo "<p class='dbg'>GB-Kennzeichen Typ=".$kennztyp."</p>";} 
    619557 
    620558// Wurde eine gml_id (internes Kennzeichen) aus einem Self-Link verwendet? 
    621559// Dann hat das Prioritaet, also *nicht* nach $gbkennz suchen. 
    622 if ($gbuchung != "") { // gml der Buchungsstelle 
    623         $trans="Buchungsstelle"; 
     560if ($buchunggml != "") { // gml der Buchungsstelle 
     561        $trans="Flurst. zur Buchungsstelle (Link)"; 
    624562        EinGrundstueck(true); 
    625563 
    626564} elseif($blattgml != "") { // gml des GB-Blattes 
    627  
    628         // neue Version -> function GB_Buchung_FS 
    629565        $trans="GB-Blatt mit Buchungen und Flst."; 
    630566        EinBlatt(true); 
    631567 
    632 /*      alte Version (ohne die Function)) 
    633         if (EinBlatt(true) == 1) { // darauf genau eine Buchung 
    634                 $gbuchung=gml_buchungsstelle(); // gml_id zum Kennzeichen 
    635                 $trans="Grundbuch-Blatt und 1 Buchung"; 
    636                 EinGrundstueck(false); 
    637         } 
    638 */ 
    639  
    640 } elseif(isset($ag)) { // Key des Amtsgerichtes 
    641         #if ($debug >= 2) {echo "<p class='dbg'>Link Amtsgericht=".$ag."</p>";} 
     568} elseif($ag != "") { // Key des Amtsgerichtes 
    642569        $trans="GB-Bezirke zum Amtsgericht"; 
    643         ListAG( "'".$ag."'" ); // noch mal Kopfzeile 
    644         ListGBBez("'".$ag."'", false); 
    645  
    646 } else { // Kein Self-Link, Eingabe im Formular 
     570        ListGBBez($ag); 
     571 
     572} else { // Eingabe im Formular 
    647573 
    648574        switch ($kennztyp) { 
     
    652578                        break; 
    653579                case 1: // Eingabe Bezirk-Name (-Teil) -> gefilterte Liste der Bezirke 
    654                         $trans="Grundbuchbezirke gefiltert"; 
     580                        $trans="Bezirke suchen \"".$gbkennz."\""; 
    655581                        $beznr=SuchGBBezName(); 
    656582                        if ($beznr > 0) {  // eindeutig 
     
    670596                                if (EinBlatt(true) == 1) { // darauf genau eine Buchung 
    671597                                        $trans="GB-Blatt und 1 Buchung"; 
    672                                         $gbuchung=gml_buchungsstelle(); // gml_id zum Kennzeichen 
     598                                        $buchunggml=gml_buchungsstelle(); // gml_id zum Kennzeichen 
    673599                                        EinGrundstueck(false); 
    674600                                } 
    675601                        } 
    676602                        break; 
    677                 case 4: // Eingabe Buchung (Grundstueck) -> Liste der Flurstuecke 
    678                         $trans="Flurst. zur Buchungsstelle"; 
    679                         $gbuchung=gml_buchungsstelle(); // gml_id zum Kennzeichen 
    680                         if ($gbuchung != "") { // .. wurde geliefert  
    681                                 $trans="Buchungsstelle und 1 Flurst."; 
    682                                 EinGrundstueck(true); 
     603                case 4: // Eingabe Buchung (GrundstÃŒck) -> Liste der FlurstÃŒcke 
     604                        $buchunggml=gml_buchungsstelle(); // gml_id zum Kennzeichen 
     605                        if ($buchunggml != "") {                // .. wurde geliefert  
     606                                $trans="Flurst. zur Buchungsstelle (Eingabe)"; 
     607                                EinGrundstueck(true);   // mit Backlink 
     608                        } else{ 
     609                                $trans="Suche Buchungsstelle"; 
    683610                        } 
    684611                        break; 
Note: See TracChangeset for help on using the changeset viewer.