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_fls.php

    r282 r283  
    77        2013-04-29      Test mit IE 
    88        2013-05-07  Strukturierung des Programms, redundanten Code in Functions zusammen fassen 
     9        2013-05-08  Variablen-Namen geordnet, Hervorhebung aktuelles Objekt, in Arbeit ... 
    910*/ 
    1011$cntget = extract($_GET); 
     
    6667 
    6768function ZerlegungFsKennz($fskennz) { 
    68 // Das eingegebene FlurstÃŒcks-Kennzeichen auseinander nehmen. Erwartet wird gggg-fff-zzzz/nnn 
     69        // Das eingegebene FlurstÃŒcks-Kennzeichen auseinander nehmen. Erwartet wird gggg-fff-zzzz/nnn 
     70        // Teile der Zerlegung in global-Vars "$z..." 
    6971        global $debug, $zgemkg, $zflur, $zzaehler, $znenner;     
    7072        $arr = explode("-", $fskennz, 4); 
     
    105107function flurstueckskoordinaten($gml) { 
    106108        // Die Koordinaten zu einem FlurstÃŒck aus der Datenbank liefern 
     109        // Parameter: gml_id des FlurstÃŒcke 
     110        // Return: Array(x,y) 
    107111        global $epsg; 
    108112        $sqlk ="SELECT "; 
     
    124128} 
    125129 
    126 function zeile_gemeinde ($gnr, $gemeindename) { 
     130function zeile_gemeinde ($gmdnr, $gmdname, $aktuell) { 
    127131        // Eine Zeile zu Gemeinde ausgeben, SchlÃŒssel und Name wird ÃŒbergeben 
    128132        global $gkz, $gemeinde, $epsg; 
    129         $stadt=htmlentities($gemeindename, ENT_QUOTES, "UTF-8"); 
    130         $bez=urlencode($gemeindename); 
    131         echo "\n<div class='gm' title='Gemeinde'>"; 
     133        $stadt=htmlentities($gmdname, ENT_QUOTES, "UTF-8"); 
     134        $bez=urlencode($gmdname); 
     135        if ($aktuell) {$cls=" aktuell";} 
     136        echo "\n<div class='gm".$cls."' title='Gemeinde'>"; 
    132137                echo "\n\t\t<img class='nwlink' src='ico/Gemeinde.ico' width='16' height='16' alt='Stadt'>"; 
    133                 echo " Gem. <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;gm=".$gnr."&amp;bez=".$bez."'>";                 
    134                 echo  " ".$stadt."</a> (".$gnr.")"; 
     138                echo " Gem. <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;gm=".$gmdnr."&amp;bez=".$bez."'>";               
     139                echo  " ".$stadt."</a> (".$gmdnr.")"; 
    135140        echo "\n</div>"; 
    136141        return; 
    137142} 
    138143 
    139 function zeile_gemarkung($gnr, $gemkgname) { 
     144function zeile_gemarkung($gkgnr, $gkgname, $aktuell) { 
    140145        // Eine Zeile zu Gemarkung ausgeben 
    141146        global $con, $gkz, $gemeinde, $epsg, $gfilter; 
    142         if ($gemkgname == "") { // Falls Gem.-Name fehlt, in DB nachschlagen 
     147        if ($gkgname == "") { // Falls Gem.-Name fehlt, in DB nachschlagen 
    143148                $sql ="SELECT g.gemarkungsname FROM pp_gemarkung g WHERE g.gemarkung = $1 LIMIT 1;"; 
    144149                $v=array($gnr); 
     
    147152                if (!$res) {echo "\n<p class='err'>Fehler bei Gemarkungsname.</p>";} 
    148153                $row = pg_fetch_array($res); 
    149                 $gemkgname=$row["gemarkungsname"]; 
    150         } 
    151         if ($gemkgname == "") {$gemkgname = "(unbekannt)";} 
    152         $gnam=htmlentities($gemkgname, ENT_QUOTES, "UTF-8"); 
    153         echo "\n<div class='gk' title='Gemarkung'>"; 
     154                $gkgname=$row["gemarkungsname"]; 
     155        } 
     156        if ($gkgname == "") {$gkgname = "(unbekannt)";} 
     157        $gnam=htmlentities($gkgname, ENT_QUOTES, "UTF-8"); 
     158        if ($aktuell) {$cls=" aktuell";} 
     159        echo "\n<div class='gk".$cls."' title='Gemarkung'>"; 
    154160        echo "\n\t\t<img class='nwlink' src='ico/Gemarkung.ico' width='16' height='16' alt='Gemarkung'>"; 
    155         echo " OT <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;fskennz=".$gnr."'>";               
    156         echo  " ".$gnam."</a> (".$gnr.")"; 
     161        echo " OT <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;fskennz=".$gkgnr."'>";             
     162        echo  " ".$gnam."</a> (".$gkgnr.")"; 
    157163        echo "\n</div>"; 
    158164        return; 
    159165} 
    160166 
    161 function zeile_flur($zgemkg, $zflur, $historie) { // Eine Zeile zur Flur ausgeben 
     167function zeile_flur($gkgnr, $flurnr, $histlnk, $aktuell) { // Eine Zeile zur Flur ausgeben 
    162168        global $gkz, $gemeinde, $epsg; 
    163         echo "\n<div class='fl' title='Flur'>"; 
     169        if ($aktuell) {$cls=" aktuell";} 
     170        echo "\n<div class='fl".$cls."' title='Flur'>"; 
    164171        echo "\n\t\t<img class='nwlink' src='ico/Flur.ico' width='16' height='16' alt='Flur'> "; 
    165         $url=$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;fskennz=".$zgemkg."-".$zflur; 
    166         echo "<a title='Aktuelle Flurst&uuml;cke suchen' href='".$url."'>Flur ".$zflur." </a>";  
    167         If ($historie) { // Link zur hist. Suche anbieten 
     172        $url=$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;fskennz=".$gkgnr."-".$flurnr; 
     173        echo "<a title='Aktuelle Flurst&uuml;cke suchen' href='".$url."'>Flur ".$flurnr." </a>";  
     174        If ($histlnk) { // Link zur hist. Suche anbieten 
    168175                echo " <a class='hislnk' title='Historische Flurst&uuml;cke der Flur' href='".$url."&amp;hist=j'>Hist.</a>"; 
    169176        } 
     
    172179} 
    173180 
    174 function zeile_hist_fs($fs_gml, $fskenn, $ftyp, $gknr, $flur) { 
     181function zeile_hist_fs($fs_gml, $fskenn, $ftyp, $gknr, $flur, $aktuell) { 
    175182        // Eine Zeile fÃŒr ein historisches FlurstÃŒck ausgeben  
    176183        global $gkz, $gemeinde, $epsg, $auskpath; 
     
    182189                $titl="Historisches Flurst&uuml;ck ohne Raumbezug"; 
    183190        } 
    184         echo "\n<div class='hi' title='".$titl."'>"; 
     191        if ($aktuell) {$cls=" aktuell";} 
     192        echo "\n<div class='hi".$cls."' title='".$titl."'>"; 
    185193 
    186194        // Icon -> Buchnachweis 
     
    203211        $fs=$gknr."-".$flur."-".$fskenn; 
    204212        switch ($ftyp) { 
    205  
    206         #case "a": 
    207         #       // Fuer ein akt. FS wird hier ein Link auf FS-Kennzeichen-Eingabe angeboten. 
    208         #       // Erst aus der nÀchsten Anzeige kann dann positioniert werden. 
    209         #       $ico="Flurstueck_Link.ico"; 
    210         #       $titl="Aktuelles Flurst&uuml;ck"; 
    211         #       $hisparm=""; 
    212         #       $auskprog="alkisfsnw"; 
    213         #       break; 
    214                  
    215         case "a": // Alternativ: hier gleich eine FS-Zeile mit Link ausgeben (EinrÃŒckung css passt nicht) 
     213        case "a": // eine FS-Zeile mit Link ausgeben (EinrÃŒckung css passt nicht) 
    216214                $koor=flurstueckskoordinaten($gml); 
    217                 zeile_flurstueck($gml, $fskenn, $koor["x"], $koor["y"], "", ""); 
     215                zeile_flurstueck($gml, $fskenn, $koor["x"], $koor["y"], "", "", false); 
    218216                return; 
    219217                break; 
    220  
    221218        case "h": 
    222219                $ico="Flurstueck_Historisch_Lnk.ico"; 
     
    288285 
    289286        // Head 
    290         zeile_gemeinde($gkey, $bez); 
     287        zeile_gemeinde($gkey, $bez, true); 
    291288 
    292289        // Body 
     
    302299                $gnr=$row["gemarkung"]; 
    303300                $gnam=$row["gemarkungsname"]; 
    304                 zeile_gemarkung($gnr, $gnam, ""); 
     301                zeile_gemarkung($gnr, $gnam, false); 
    305302                $cnt++; 
    306303        } 
     
    351348                        $gwgem = $gemeindename; 
    352349                        $skey=$row["gemeinde"]; 
    353                         zeile_gemeinde($skey, $gemeindename); 
     350                        zeile_gemeinde($skey, $gemeindename, false); 
    354351                } 
    355352                $gnam=$row["gemarkungsname"]; 
    356353                $gnr=$row["gemarkung"]; 
    357                 zeile_gemarkung($gnr, $gnam, $gemeindename); 
     354                zeile_gemarkung($gnr, $gnam, false); // wenn am Ende nur ein Treffer, dann aktuell=true 
    358355                $cnt++; 
    359356        } 
     
    371368} 
    372369 
    373 function gg_head($gkgnr) { 
     370function gg_head($gkgnr, $gkgaktuell) { 
    374371        // Übergeordnete Zeilen (Head) fÃŒr Gemeinde und Gemarkung ausgeben 
    375372        // Parameter = Gemarkungsnummer 
     
    385382        $skey=$rowh["gemeinde"]; 
    386383        $snam=$rowh["gemeindename"]; 
    387         zeile_gemeinde($skey, $snam); 
    388         zeile_gemarkung($gkgnr, $gmkg); 
     384        zeile_gemeinde($skey, $snam, false); 
     385        zeile_gemarkung($gkgnr, $gmkg, $gkgaktuell); 
    389386        return; 
    390387} 
     
    397394 
    398395        // Head 
    399         if ($AuchGemkZeile) {gg_head($zgemkg);} 
     396        if ($AuchGemkZeile) {gg_head($zgemkg, true);} 
    400397        // Body 
    401398        $sql ="SELECT gemarkungsteilflur AS flur FROM ax_gemarkungsteilflur f "; 
     
    408405        while($row = pg_fetch_array($res)) {     
    409406                $zflur=$row["flur"]; 
    410                 zeile_flur($zgemkg, $zflur, false); 
     407                zeile_flur($zgemkg, $zflur, false, false); 
    411408                $zfl++; 
    412409        } 
     
    428425 
    429426        // Head 
    430         gg_head($zgemkg); 
    431         zeile_flur($zgemkg, $zflur, true); 
     427        gg_head($zgemkg, false); 
     428        zeile_flur($zgemkg, $zflur, true, true); 
    432429 
    433430        // Body 
     
    451448                $flur=$row["flurnummer"]; 
    452449                $fskenn=$row["zaehler"]; 
    453                 if ($row["nenner"] != "") {$fskenn.="/".$row["nenner"];} // Bruchnummer 
    454                 $x=$row["x"]; 
    455                 $y=$row["y"]; 
    456                 zeile_flurstueck ($fs_gml, $fskenn, $x, $y, "", ""); 
     450                if ($row["nenner"] != "") {$fskenn.="/".$row["nenner"];} 
     451                zeile_flurstueck($fs_gml, $fskenn, $row["x"], $row["y"], "", "", false); 
    457452                $zfs++; 
    458453        } 
     454        // Foot 
    459455        if($zfs == 0) { 
    460456                echo "\n<p class='anz'>Kein Flurst&uuml;ck.</p>"; 
     
    474470 
    475471        // Head  
    476         gg_head($zgemkg); 
    477         zeile_flur($zgemkg, $zflur, true); 
     472        gg_head($zgemkg, false); 
     473        zeile_flur($zgemkg, $zflur, true, true); 
    478474 
    479475        // Body 
     
    493489                $fskenn=$row["zaehler"]; 
    494490                if ($row["nenner"] != "") {$fskenn.="/".$row["nenner"];} // Bruchnummer 
    495                 zeile_hist_fs($fs_gml, $fskenn, $ftyp, $zgemkg, $zflur); 
     491                zeile_hist_fs($fs_gml, $fskenn, $ftyp, $zgemkg, $zflur, false); 
    496492                $zfs++; 
    497493        } 
     
    515511 
    516512        // Head 
    517         gg_head($zgemkg); 
     513        gg_head($zgemkg, false); 
    518514        zeile_flur($zgemkg, $zflur, true); 
    519515 
     
    541537                $fskenn=$row["zaehler"]; 
    542538                if ($row["nenner"] != "") {$fskenn.="/".$row["nenner"];} 
    543                 zeile_flurstueck($fs_gml, $fskenn, $row["x"], $row["y"], "", ""); 
     539                zeile_flurstueck($fs_gml, $fskenn, $row["x"], $row["y"], "", "", true); 
    544540                $zfs++; 
    545541        } 
     
    563559 
    564560        // Head 
    565         gg_head($zgemkg); 
    566         zeile_flur($zgemkg, $zflur, true); 
     561        gg_head($zgemkg, false); 
     562        zeile_flur($zgemkg, $zflur, true, false); 
    567563 
    568564        // Body 
     
    596592                        $koor=flurstueckskoordinaten($fs_gml); 
    597593                        echo "\n<p>Flurst&uuml;ck ".$fskenn." ist aktuell, nicht historisch</p>";        
    598                         zeile_flurstueck ($fs_gml, $fskenn, $koor["x"], $koor["y"], $gknr, $flur); 
     594                        zeile_flurstueck ($fs_gml, $fskenn, $koor["x"], $koor["y"], $gknr, $flur, true); 
    599595                } else { // Historisches FS gefunden (h oder o) 
    600                         zeile_hist_fs($fs_gml, $fskenn, $ftyp, $gknr, $flur); 
     596                        zeile_hist_fs($fs_gml, $fskenn, $ftyp, $gknr, $flur, true); 
    601597                        if ($nachf == "") { 
    602598                                echo "\n<p class='err'>keine Nachfolger</p>";    
     
    730726 
    731727// Titel im Kopf anzeigen 
    732 echo "\n<script type='text/javascript'>\n\ttranstitle('".$trans."')\n</script>"; 
     728echo " 
     729<script type='text/javascript'> 
     730        transtitle('".$trans."');  
     731</script>"; 
    733732 
    734733?> 
Note: See TracChangeset for help on using the changeset viewer.