Ignore:
Timestamp:
05/08/13 16:44:28 (11 years ago)
Author:
frank.jaeger
Message:

Mapbender-Navigation nochmals ergänzt: aktuell gewählte Ebene wird farblich hinterlegt. Im GB-Teil kann Buchung verlinkt werden.

File:
1 edited

Legend:

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

    r282 r283  
    88        2013-04-29      Test mit IE 
    99        2013-05-07  Strukturierung des Programms, redundanten Code in Functions zusammen fassen 
     10        2013-05-08  Hervorhebung aktuelles Objekt, in Arbeit ... 
    1011*/ 
    1112$cntget = extract($_GET); 
     
    5960        // Das eingegebene Grundbuch-Kennzeichen auseinander nehmen (gggg-999999z-BVNR) 
    6061        // Return: 9=Fehler, 0=Listen alle Bezirke 1=Such Bezirk-Name 
    61         //         2=Such Bezirk-Nummer $zgbbez, 3=Such Blatt $zblatt, 4=Such BVNR $zbvnr 
     62        //  2=Such Bezirk-Nummer, 3=Such Blatt, 4=Such Buchung BVNR 
    6263        global $debug, $zgbbez, $zblatt, $zblattn, $zblattz, $zbvnr;     
    6364        $arr=explode("-", $gbkennz, 3); 
     
    7172        } elseif ($zblatt == "") { 
    7273                return 2; // Such Bezirk-NUMMER 
    73         } else  { // Format von BlattNr pruefen 
     74        } else { // Format von BlattNr pruefen 
    7475        //'19'      linksbÃŒndig 
    7576        //'000019 ' gefÃŒllt 6 + blank 
     
    108109} 
    109110 
    110 function ListAG($liste_ag) { 
     111function ListAG($liste_ag, $aktuell) { 
    111112        // Amtsgerichte (Grundbuch) auflisten, dazu als Filter eine AG-Liste 
    112         global $con, $gkz, $gemeinde, $epsg, $debug, $gbkennz; 
     113        global $debug; 
    113114        $linelimit=40; 
    114115        $sql ="SELECT a.stelle, a.bezeichnung AS ag FROM ax_dienststelle a "; 
     
    119120        if (!$res) { 
    120121                echo "\n<p class='err'>Fehler bei Amtsgerichte</p>"; 
    121                 if ($debug >= 3) {echo "\n<p class='err'>".$sql."</p>";} 
     122                #if ($debug >= 3) {echo "\n<p class='err'>".$sql."</p>";} 
    122123                return 0; 
    123124        } 
     
    126127                $anr=$row["stelle"]; 
    127128                $ag=$row["ag"];          
    128                 zeile_ag ($ag, $anr); 
     129                zeile_ag ($ag, $anr, $aktuell); 
    129130                $cnt++; 
    130131        } 
     
    144145        // Auch wenn BlÀtter da sind, kann es eine Sackgasse sein.  
    145146        // Manchmal haben die BlÀtter keine FlurstÃŒcke im Filter-Bereich 
    146         global $con, $gkz, $gemeinde, $epsg, $debug, $gbkennz; 
     147        global $debug; 
    147148        $linelimit=100; // Bezirke/AG 
     149 
    148150        // Head 
    149         ListAG( "'".$agkey."'" ); // hier nur fÃŒr 1 
     151        ListAG("'".$agkey."'", true); // hier nur fÃŒr 1 
     152 
    150153        // Body 
    151154        $sql ="SELECT g.bezirk, g.bezeichnung FROM ax_buchungsblattbezirk g "; 
     
    167170                $gnam=$row["bezeichnung"]; 
    168171                $gnr=$row["bezirk"]; 
    169                 zeile_gbbez($gnam, $gnr); 
     172                zeile_gbbez($gnam, $gnr, false); 
    170173                $cnt++; 
    171174        } 
     
    181184} 
    182185 
    183 function ag_bez_head($gbbez) { 
     186function ag_bez_head($gbbez, $bezaktuell) { 
    184187        // Zu einem Grundbuchbezirks-SchlÃŒssel die Zeilen AG und Bezirk ausgeben 
    185188        // Parameter = SchlÃŒssel des Bezirks 
     189        #global $debug; 
    186190        $sql ="SELECT a.stelle, a.bezeichnung AS ag, g.bezeichnung FROM ax_buchungsblattbezirk g "; 
    187191        $sql.="JOIN ax_dienststelle a ON g.stelle=a.stelle WHERE g.bezirk= $1 LIMIT 1;"; 
     
    198202                $ag=$row["ag"]; // AG Bezeichnung 
    199203                $anr=$row["stelle"]; // AG Key 
    200                 zeile_ag($ag, $anr); // Amtsgericht 
    201                 zeile_gbbez($gnam, $gbbez); // Bezirk 
     204                zeile_ag($ag, $anr, false); // Amtsgericht 
     205                zeile_gbbez($gnam, $gbbez, $bezaktuell); // Bezirk 
    202206        } else { 
    203207                echo "\n<div class='gk' title='Grundbuchbezirk'>"; 
     
    212216function SuchGBBezName() { 
    213217        // Grundbuch-Bezirk suchen nach Name(-nsanfang) 
    214         global $con, $gkz, $gemeinde, $debug, $gbkennz; 
     218        global $gkz, $gemeinde, $debug, $gbkennz; 
    215219        $linelimit=80; 
    216220        $sql ="SELECT a.stelle, a.bezeichnung AS ag, g.bezirk, g.bezeichnung FROM ax_buchungsblattbezirk g "; 
     
    241245                        $gwag = $anr; 
    242246                        $ag=$row["ag"]; 
    243                         zeile_ag($ag, $anr); 
     247                        zeile_ag($ag, $anr, false); 
    244248                } 
    245249                $gnam=$row["bezeichnung"]; 
    246250                $gnr=$row["bezirk"]; 
    247                 zeile_gbbez ($gnam, $gnr); 
     251                zeile_gbbez ($gnam, $gnr, false); 
    248252                $cnt++; 
    249253        } 
     
    263267function EinBezirk($showParent) { 
    264268        // Kennzeichen bestehend nur aus GB-Bezirk-SchlÃŒssel wurde eingegeben 
    265         global $con, $gkz, $gemeinde, $epsg, $debug, $zgbbez, $auskpath; 
     269        global $gemeinde, $debug, $zgbbez, $auskpath; 
    266270        $linelimit=300; // max. Blatt je Bezirk 
    267271        // Dies Limit ist nicht ausreichend fÃŒr alle BlÀtter eines Bezirks, aber ... 
     
    272276        // Head 
    273277        if ($showParent) { 
    274                 ag_bez_head($zgbbez); // AG und BEZ ausgeben 
     278                ag_bez_head($zgbbez, true); // AG und BEZ ausgeben 
    275279        } 
    276280        // Body 
     
    288292                $blatt=$row["blatt"]; 
    289293                $blattgml=$row["gml_id"]; 
    290                 zeile_blatt($zgbbez, $gnam, $blattgml, $blatt, false, ""); 
     294                zeile_blatt($zgbbez, $gnam, $blattgml, $blatt, false, "", false); 
    291295                $cntbl++; 
    292296        } 
     
    298302                // +++ Hier oft ÃŒberschritten! BlÀtter-Funktion einfÃŒhren 
    299303                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                  
     304                // Vorbelegen des Eingabefeldes fÃŒr neue Suche 
     305                echo "<script type='text/javascript'>parent.GrdGazetteerFrame.gbkennz.value='".$zgbbez."-?';</script>"; 
    304306        } elseif ($cntbl > 1) { 
    305307                echo "\n<p class='anz'>".$cntbl." Bl&auml;tter</p>"; // im Limit         
     
    310312function gml_blatt() { 
    311313        // Kennzeichen "Bezirk + Blatt" eingegeben. Dazu die gml_id des Blattes ermitteln. 
    312         global $con, $gkz, $debug, $zgbbez, $zblatt, $zblattn, $zblattz; 
     314        global $debug, $zgbbez, $zblatt, $zblattn, $zblattz; 
    313315        $sql ="SELECT b.gml_id, b.buchungsblattnummermitbuchstabenerweiterung AS blatt FROM ax_buchungsblatt b ";  
    314316        $sql.="WHERE b.bezirk= $1 AND b.buchungsblattnummermitbuchstabenerweiterung "; 
     
    342344function EinBlatt($showParent) { 
    343345        // Kennzeichen Bezirk + Blatt wurde eingegeben oder verlinkt 
    344         global $con, $gkz, $debug, $gemeinde, $epsg, $zgbbez, $zblatt, $blattgml, $gbbeznam; 
     346        global $debug, $gemeinde, $zgbbez, $zblatt, $blattgml, $gbbeznam; 
    345347        // Head 
    346348        if ($showParent) { 
    347                 ag_bez_head($zgbbez); // AG + BEZ 
    348                 zeile_blatt ($zgbbez, $gbbeznam, $blattgml, $zblatt, false, ""); 
     349                ag_bez_head($zgbbez, false); // AG + BEZ 
     350                zeile_blatt ($zgbbez, $gbbeznam, $blattgml, $zblatt, false, "", true); 
    349351        } 
    350352        // Body 
    351         GB_Buchung_FS(200); // Blatt -> Buchung -> Flurstueck (max. 200) 
     353        GB_Buchung_FS(200, $zgbbez."-".$zblatt); // Blatt -> Buchung -> Flurstueck (max. 200) 
    352354        return;  
    353355} 
     
    356358        // Kennzeichen "Bezirk + Blatt + BVNR" wurde eingegeben. 
    357359        // Dazu die gml_id der Buchungsstelle ermitteln, um "function EinGrundstueck" benutzen zu können. 
    358         global $con, $gkz, $debug, $zgbbez, $zblatt, $zblattn, $zblattz, $zbvnr; 
     360        global $debug, $zgbbez, $zblatt, $zblattn, $zblattz, $zbvnr; 
    359361        // Blatt ->  B u c h u n g s s t e l l e 
    360362        $sql ="SELECT s.gml_id FROM ax_buchungsstelle s "; 
     
    394396        // Die gml_id der Buchungsstelle (BVNR, GrundstÃŒck) ist bekannt = $buchunggml 
    395397        // 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; 
     398        global $debug, $gemeinde, $epsg, $buchunggml, $zgbbez, $zblatt, $zblattn, $zblattz, $zbvnr, $gfilter; 
    397399        // NoLimit? 
     400 
     401        // Head 
    398402        if ($showParent) { // wenn Kennzeichen bekannt ist, dann auch Blatt ausgeben 
    399403                if ($zgbbez.$zblatt != "") { 
    400                         ag_bez_head($zgbbez); // AG + BEZ 
    401                         zeile_blatt ($zgbbez, $gnam, "", $zblatt, false, ""); 
     404                        ag_bez_head($zgbbez, false); // AG + BEZ 
     405                        zeile_blatt ($zgbbez, $gnam, "", $zblatt, false, "", false); 
    402406                        // $gnam leer lassen Knoten "Bezirk" steht drÃŒber 
    403407                } else { 
    404408                        echo "<p class='err'>Kennzeichen Bezirk und Blatt nicht gesetzt</p>"; 
    405                         // +++ Dann suche sie !!                         
    406                 } 
    407                 zeile_buchung ($buchunggml, $zbvnr, $zgbbez."-".$zblattn.$zblattz."-".$zbvnr, false); 
    408         } 
    409  
     409                } // ++ suchen! 
     410                zeile_buchung($buchunggml, $zbvnr, $zgbbez."-".$zblattn.$zblattz, false, true); 
     411        } 
    410412// SQL-Bausteine 
    411413// dienend $1 gml_id von 
    412414//         Buchungsstelle  <vs/an<  Buchungsstelle sh 
    413415//         (dienend)                (herrschend) 
    414 // 
    415416// direkt  $1 gml_id von  
    416417//         Buchungsstelle                              <vs/istGebucht< FlurstÃŒck > Gemarkung 
    417 // 
    418418// Recht   $1 gml_id von  
    419419//         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) 
     420//         (herrschend)             (dienend)      sd  >vd/istBestandteilVon> bd > gd 
     421 
     422        // Body 
     423        // Anfang (Select-Liste) gleich  
    424424        $sqlanf ="SELECT g.gemeinde, g.gemarkungsname, f.gml_id, f.flurnummer, f.zaehler, f.nenner, "; 
    425425        if($epsg == "25832") { // Transform nicht notwendig 
     
    461461                $fskenn=$row["zaehler"]; 
    462462                if ($row["nenner"] != "") {$fskenn.="/".$row["nenner"];} // BruchNr 
    463                 zeile_flurstueck ($fs_gml, $fskenn, $row["x"], $row["y"], $gmkg, $flur ); 
     463                zeile_flurstueck ($fs_gml, $fskenn, $row["x"], $row["y"], $gmkg, $flur, false); 
    464464                $zfs1++; 
    465465        } 
     466        // Zwischen-Foot 
    466467        if($zfs1 == 0) { 
    467468                echo "\n<p class='anz'>Kein Flurst&uuml;ck direkt</p>"; 
     
    512513                if ($gwblatt != $dienblatt) { // Gruppierung Blatt - dienend 
    513514                        $gwblatt = $dienblatt; // Steuerg GW Blatt 
    514                         zeile_blatt ($dienbezirk, $diengbbez, $dienbltgml, $dienblatt, true, ""); 
     515                        zeile_blatt($dienbezirk, $diengbbez, $dienbltgml, $dienblatt, true, ""); 
    515516                        $gwbvnr=""; 
    516517                } 
    517518                if ($gwbvnr != $dienlfd) { // Gruppierung Buchung (BVNR) - dienend 
    518519                        $gwbvnr = $dienlfd; // Steuerg GW BVNR 
    519                         zeile_buchung($diengml, $dienlfd, $dienbezirk."-".$dienblattlnk."-".$dienlfd, true); 
     520                        zeile_buchung($diengml, $dienlfd, $dienbezirk."-".$dienblatt, true); 
    520521                } // ++ Buchungsart? Welches Recht? 
    521522                $fs_gml=$row["gml_id"]; 
     
    525526                $fskenn=$row["zaehler"]; 
    526527                if ($row["nenner"] != "") {$fskenn.="/".$row["nenner"];} // BruchNr 
    527                 zeile_flurstueck ($fs_gml, $fskenn, $row["x"],$row["y"], $gmkg, $flur ); 
     528                zeile_flurstueck ($fs_gml, $fskenn, $row["x"],$row["y"], $gmkg, $flur, false); 
    528529                $zfs2++; 
    529530        } 
     531 
     532// Teil 3 
     533// ++  Wenn nur 1 GrundstÃŒck untersucht wird, dann dazu auch die  
     534//     berechtigten (herrschenden) GrundbÃŒcher anzeigen und verlinken (ohne FS)) 
     535 
     536        // Foot 
    530537        if($zfs2 == 0 AND $zfs1 == 0) { 
    531538                echo "\n<p class='anz'>Kein Recht an Flst.</p>"; 
     
    559566// Dann hat das Prioritaet, also *nicht* nach $gbkennz suchen. 
    560567if ($buchunggml != "") { // gml der Buchungsstelle 
    561         $trans="Flurst. zur Buchungsstelle (Link)"; 
     568        $trans="Flurst&uuml;cke zur Buchungsstelle"; // Link 
    562569        EinGrundstueck(true); 
    563570 
     
    575582                case 0: // keine Eingabe 
    576583                        $trans="Liste der Amtsgerichte"; 
    577                         ListAG($ag_liste); 
     584                        ListAG($ag_liste, false); 
    578585                        break; 
    579586                case 1: // Eingabe Bezirk-Name (-Teil) -> gefilterte Liste der Bezirke 
     
    604611                        $buchunggml=gml_buchungsstelle(); // gml_id zum Kennzeichen 
    605612                        if ($buchunggml != "") {                // .. wurde geliefert  
    606                                 $trans="Flurst. zur Buchungsstelle (Eingabe)"; 
     613                                $trans="Flurst&uuml;cke zur Buchungsstelle"; // Eingabe 
    607614                                EinGrundstueck(true);   // mit Backlink 
    608615                        } else{ 
     
    617624} 
    618625// Titel im Kopf anzeigen 
    619 echo "\n<script type='text/javascript'>\n\ttranstitle('".$trans."')\n</script>"; 
     626echo " 
     627<script type='text/javascript'> 
     628        transtitle('".$trans."');  
     629</script>"; 
    620630 
    621631?> 
Note: See TracChangeset for help on using the changeset viewer.