Ignore:
Timestamp:
02/15/18 17:46:51 (6 years ago)
Author:
frank.jaeger
Message:

ALKIS-Navigation für Mapbender 2: Input Validation für alle Parameter. Kleine Korrekturen.

File:
1 edited

Legend:

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

    r376 r399  
    11<?php 
    2 /*      Navigation mit ALKIS-Daten im Mapbender 2.7 - Teil "Funktionen" 
     2/*      Navigation mit ALKIS-Daten im Mapbender 2 - Teil "Funktionen" 
    33        (Wird nicht direkt aufgerufen sonden in den anderen Modulen eingebunden). 
    4         Diese Version des Programms verwendet die Datenbank-Struktur aus dem norGIS-ALKIS-Importer. 
    5  
     4        Datenbank-Struktur aus dem norGIS-ALKIS-Importer. 
    65Version vom  
    76        2016-02-11 Version fÃŒr norGIS-ALKIS-Import aus Version Classic abgeleitet. 
    87        2016-11-28 Gemeinsam genutzte Datenbanken ermöglichen 
     8        2018-02-15 Überarbeitung des Code 
    99*/ 
    1010 
     
    9494        } 
    9595        if ($aktuell) {$cls=" aktuell";} else {$cls="";} 
    96         echo "\n<div class='ga".$cls."' title='Amtsgericht'>"; 
    97                 echo "\n\t\t<img class='nwlink' src='ico/Gericht.png' width='16' height='16' alt='AG' title='Amtsgericht'> "; 
    98                 echo "AG <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;ag=".$anr."'>";             
    99                 echo $agd."</a> (".$anr.")"; 
    100         echo "\n</div>"; 
     96        echo "\n<div class='ga".$cls."' title='Amtsgericht'>" 
     97                ."\n\t\t<img class='nwlink' src='ico/Gericht.png' width='16' height='16' alt='AG' title='Amtsgericht'> " 
     98                ."AG <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;ag=".$anr."'>"  
     99                .$agd."</a> (".$anr.")" 
     100        ."\n</div>"; 
    101101        return; 
    102102} 
     
    108108        $gnamd=htmlentities($gnam, ENT_QUOTES, "UTF-8"); 
    109109        if ($aktuell) {$cls=" aktuell";} else {$cls="";} 
    110         echo "\n<div class='gk".$cls."' title='GB-Bezirk'>"; 
    111         echo "\n\t\t<img class='nwlink' src='ico/GB-Bezirk.png' width='16' height='16' alt='Bez.' title='GB-Bezirk'> "; 
    112         echo "<a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;gbkennz=".$zgbbez; 
    113         echo "&amp;gbbeznam=".urlencode($gnam); 
    114         if ($person != "") { // EigentÃŒmer-Suche 
    115                 echo "&amp;person=".$person."'>"; 
    116                 echo "Bezirk ".$gnamd."</a> (".$zgbbez.")";              
    117         } else {  // Grundbuch-Suche 
    118                 echo "'>"; 
    119                 echo "Bezirk ".$gnamd."</a> (".suchfeld($zgbbez).")";            
    120         } 
     110        echo "\n<div class='gk".$cls."' title='GB-Bezirk'>" 
     111                ."\n\t\t<img class='nwlink' src='ico/GB-Bezirk.png' width='16' height='16' alt='Bez.' title='GB-Bezirk'> " 
     112                ."<a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;gbkennz=".$zgbbez 
     113                ."&amp;gbbeznam=".urlencode($gnam); 
     114                if ($person != "") { // EigentÃŒmer-Suche 
     115                        echo "&amp;person=".$person."'>" 
     116                        ."Bezirk ".$gnamd."</a> (".$zgbbez.")";          
     117                } else {  // Grundbuch-Suche 
     118                        echo "'>" 
     119                        ."Bezirk ".$gnamd."</a> (".suchfeld($zgbbez).")";                
     120                } 
    121121        echo "\n</div>"; 
    122122        return; 
     
    142142                echo "\n\t<img class='nwlink' src='ico/GBBlatt.png' width='16' height='16' alt='Blatt' title='".$dientxt."GB-Blatt'>"; 
    143143        } else { 
    144                 echo "\n\t<a title='Nachweis' href='javascript:imFenster(\"".$auskpath."alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$blattgml."\")'>"; 
    145                         echo "\n\t\t<img class='nwlink' src='ico/GBBlatt_link.png' width='16' height='16' alt='Blatt' title='Nachweis'>"; 
    146                 echo "\n\t</a> "; 
     144                echo "\n\t<a title='Nachweis' href='javascript:imFenster(\"".$auskpath."alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$blattgml."\")'>" 
     145                        ."\n\t\t<img class='nwlink' src='ico/GBBlatt_link.png' width='16' height='16' alt='Blatt' title='Nachweis'>" 
     146                ."\n\t</a> "; 
    147147        } 
    148148 
    149149        // Text, Self-Link 
    150         echo $nam." <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg; 
    151         echo "&amp;blattgml=".$blattgml."&amp;gbkennz=".$bezirk."-".$blattlnk; 
     150        echo $nam." <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg 
     151        ."&amp;blattgml=".$blattgml."&amp;gbkennz=".$bezirk."-".$blattlnk; 
    152152 
    153153        echo "&amp;gbbeznam=".urlencode($beznam); 
     
    176176        } 
    177177        if ($aktuell) {$cls=" aktuell";} else {$cls="";} 
    178         echo "\n<div class='gs".$cls."' title='".$ti."Grundst&uuml;ck'>"; 
    179         echo "\n\t<img class='nwlink' src='ico/Grundstueck.png' width='16' height='16' alt='GS'  title='".$ti."Grundst&uuml;ck'> ".$re; 
     178        echo "\n<div class='gs".$cls."' title='".$ti."Grundst&uuml;ck'>" 
     179        ."\n\t<img class='nwlink' src='ico/Grundstueck.png' width='16' height='16' alt='GS'  title='".$ti."Grundst&uuml;ck'> ".$re; 
    180180        if ($blattkennz == "") { // ohne Link 
    181181                echo "Buchung ".$bvnra; 
    182182        } else { 
    183183                $gbkennlnk=urlencode($blattkennz."-".$bvnr); // Trailing Blanks! 
    184                 echo "<a href='".$_SERVER['SCRIPT_NAME']. "?gkz=". $gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;buchunggml=".$buchunggml; 
    185                 echo "&amp;gbkennz=".$gbkennlnk."'>Buchung ".$bvnra."</a>"; 
     184                echo "<a href='".$_SERVER['SCRIPT_NAME']. "?gkz=". $gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;buchunggml=".$buchunggml 
     185                ."&amp;gbkennz=".$gbkennlnk."'>Buchung ".$bvnra."</a>"; 
    186186        } 
    187187        echo "\n</div>"; 
     
    195195        $bez=urlencode($gmdname); 
    196196        if ($aktuell) {$cls=" aktuell";} else {$cls="";} 
    197         echo "\n<div class='gm".$cls."' title='Gemeinde'>"; 
    198                 echo "\n\t\t<img class='nwlink' src='ico/Gemeinde.png' width='16' height='16' alt='Stadt'>"; 
    199                 echo " Gem. <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;gm=".$gmdnr."&amp;bez=".$bez."'>";               
    200                 echo  " ".$stadt."</a> (".substr($gmdnr, 5).")"; 
    201         echo "\n</div>"; 
     197        echo "\n<div class='gm".$cls."' title='Gemeinde'>" 
     198                ."\n\t\t<img class='nwlink' src='ico/Gemeinde.png' width='16' height='16' alt='Stadt'>" 
     199                ." Gem. <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;gm=".$gmdnr."&amp;bez=".$bez."'>" 
     200                ." ".$stadt."</a> (".substr($gmdnr, 5).")" 
     201        ."\n</div>"; 
    202202        return; 
    203203} 
     
    221221        if ($aktuell) {$cls=" aktuell";} else {$cls="";} 
    222222 
    223         echo "\n<div class='gk".$cls."' title='Gemarkung'>"; 
    224         echo "\n\t\t<img class='nwlink' src='ico/Gemarkung.png' width='16' height='16' alt='GKG' title='Gemarkung'>"; 
    225         echo " OT <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;fskennz=".$gkgnr."'>";             
    226         echo  " ".$gnam."</a> (".substr($gkgnr, 2).")"; 
    227         echo "\n</div>"; 
     223        echo "\n<div class='gk".$cls."' title='Gemarkung'>" 
     224                ."\n\t\t<img class='nwlink' src='ico/Gemarkung.png' width='16' height='16' alt='GKG' title='Gemarkung'>" 
     225                ." OT <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;fskennz=".$gkgnr."'>"  
     226                ." ".$gnam."</a> (".substr($gkgnr, 2).")" 
     227        ."\n</div>"; 
    228228        return; 
    229229} 
     
    234234 
    235235        if ($aktuell) {$cls=" aktuell";} else {$cls="";} 
    236         echo "\n<div class='fs".$cls."'>"; 
    237         echo "\n\t<a title='Nachweis' href='javascript:imFenster(\"".$auskpath."alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$fs_gml."\")'>"; 
    238                 echo "\n\t\t<img class='nwlink' src='ico/Flurstueck_Link.png' width='16' height='16' alt='FS' title='Nachweis'>"; 
    239         echo "\n\t</a>\n\t";                     
    240  
    241         echo "&nbsp;<a title='Flurst&uuml;ck positionieren 1:".$scalefs."' href='"; 
    242         echo "javascript:"; 
    243                 echo "transtitle(\"auf Flurst&uuml;ck positioniert\"); "; 
    244                 echo "parent.parent.parent.mb_repaintScale(\"mapframe1\",".$x.",".$y.",".$scalefs."); "; 
    245                 echo "parent.parent.showHighlight(".$x.",".$y.");' "; 
    246         echo "onmouseover='parent.parent.showHighlight(".$x.",".$y.")' "; 
    247         echo "onmouseout='parent.parent.hideHighlight()'>"; 
     236        echo "\n<div class='fs".$cls."'>" 
     237        ."\n\t<a title='Nachweis' href='javascript:imFenster(\"".$auskpath."alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$fs_gml."\")'>" 
     238                ."\n\t\t<img class='nwlink' src='ico/Flurstueck_Link.png' width='16' height='16' alt='FS' title='Nachweis'>" 
     239        ."\n\t</a>\n\t";                 
     240 
     241        echo "&nbsp;<a title='Flurst&uuml;ck positionieren 1:".$scalefs."' href='" 
     242        ."javascript:transtitle(\"auf Flurst&uuml;ck positioniert\"); " 
     243                ."parent.parent.parent.mb_repaintScale(\"mapframe1\",".$x.",".$y.",".$scalefs."); " 
     244                ."parent.parent.showHighlight(".$x.",".$y.");' " 
     245        ."onmouseover='parent.parent.showHighlight(".$x.",".$y.")' " 
     246        ."onmouseout='parent.parent.hideHighlight()'>"; 
    248247 
    249248        if ($gmkg == "" ) { 
     
    262261 
    263262        $nnam=htmlentities($nachname, ENT_QUOTES, "UTF-8"); 
    264         $namlnk=urlencode($nachname); 
     263        $namlnk=urlencode(substr($nachname,0,50)); 
    265264        $vnam=htmlentities($vorname, ENT_QUOTES, "UTF-8"); 
    266         // Link zur Auskunft Person ++ Icon differenzieren nach Eigentuemerart? 
    267  
    268 echo "<div class='pe'> 
    269         <a title='Nachweis' href='javascript:imFenster(\"".$auskpath."alkisnamstruk.php?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;gmlid=".$persongml."\")'> 
    270                 <img class='nwlink' src='ico/Eigentuemer.png' width='16' height='16' alt='EIG' title='Nachweis'> 
    271         </a>             
    272         <a title='Person' href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;person=".$persongml."&amp;name=".$namlnk."'>".$nnam.", ".$vnam."</a> 
    273 </div>"; 
     265        // Link zur Auskunft Person, Icon differenzieren nach Eigentuemerart? 
     266        echo "<div class='pe'>" 
     267                ."\n\t<a title='Nachweis' href='javascript:imFenster(\"".$auskpath."alkisnamstruk.php?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;gmlid=".$persongml."\")'>" 
     268                        ."\n\t\t<img class='nwlink' src='ico/Eigentuemer.png' width='16' height='16' alt='EIG' title='Nachweis'>" 
     269                ."\n\t</a>"              
     270                ."\n\t<a title='Person' href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;person=".$persongml."&amp;name=".$namlnk."'>".$nnam.", ".$vnam."</a>" 
     271        ."</div>"; 
    274272return; 
    275273} 
     
    279277        // Die Kopfzeile ÃŒber den Hausnummern hat einen zusÀtzlichen Koordinaten-Map-Link, das ist in der Liste zu aufwÀndig? 
    280278        global $gkz, $gemeinde, $epsg, $auskpath, $gfilter, $debug; 
    281         //if ($debug > 1) {echo "<p class='dbg'>function zeile_strasse()<p>";} // Ablauf-Verfolgung 
    282279 
    283280        echo "\n\t<div class='stl' title='Stra&szlig;enschl&uuml;ssel ".$skey."'>"; 
    284281 
    285282        // Icon -> Buchnachweis 
    286         echo "\n\t<a title='Nachweis' href='javascript:imFenster(\"".$auskpath."alkisstrasse.php?gkz=".$gkz."&amp;gmlid=".$kgml."\")'>"; 
    287                 echo "\n\t\t<img class='nwlink' src='ico/Lage_mit_Haus.png' width='16' height='16' alt='STR' title='Auskunft Stra&szlig;e'>"; 
    288         echo "\n\t</a>"; 
     283        echo "\n\t<a title='Nachweis' href='javascript:imFenster(\"".$auskpath."alkisstrasse.php?gkz=".$gkz."&amp;gmlid=".$kgml."\")'>" 
     284                ."\n\t\t<img class='nwlink' src='ico/Lage_mit_Haus.png' width='16' height='16' alt='STR' title='Auskunft Stra&szlig;e'>" 
     285        ."\n\t</a>"; 
    289286        // Zeile -> Suche HsNr 
    290         echo " <a class='st' href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;str_schl=".$gkey."' title='in ".$gemname."'>".$sname; 
    291         echo "</a> (".$skey.")"; 
     287        echo " <a class='st' href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;str_schl=".$gkey."' title='in ".$gemname."'>".$sname 
     288        ."</a> (".$skey.")"; 
    292289 
    293290        // Die Gemeinde dahinter falls mehrere möglich 
     
    311308        $sql1 ="SELECT s1.laufendenummer AS lfd, s1.gml_id AS bsgml, f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.gemeinde, "; 
    312309        if($epsg == "25832") { // Transform nicht notwendig 
    313                 $sql1.="st_x(st_centroid(f.wkb_geometry)) AS x, "; 
    314                 $sql1.="st_y(st_centroid(f.wkb_geometry)) AS y, "; 
     310                $sql1.="st_x(st_centroid(f.wkb_geometry)) AS x, st_y(st_centroid(f.wkb_geometry)) AS y, "; 
    315311        } else {   
    316                 $sql1.="st_x(st_transform(st_centroid(f.wkb_geometry), ".$epsg.")) AS x, "; 
    317                 $sql1.="st_y(st_transform(st_centroid(f.wkb_geometry), ".$epsg.")) AS y, ";                      
     312                $sql1.="st_x(st_transform(st_centroid(f.wkb_geometry), ".$epsg.")) AS x, " 
     313                        ."st_y(st_transform(st_centroid(f.wkb_geometry), ".$epsg.")) AS y, ";                    
    318314        } 
    319315        $sql1.="g.bezeichnung FROM ax_buchungsstelle s1 ";  
     
    323319 
    324320        // zwischen, Variante 2. Nur an oder "an" und "zu"? 
    325         $sqlz2 ="JOIN ax_buchungsstelle s2 ON s2.gml_id=ANY(s1.an)  
    326         JOIN ax_flurstueck f ON f.istgebucht=s2.gml_id "; 
     321        $sqlz2 ="JOIN ax_buchungsstelle s2 ON s2.gml_id=ANY(s1.an) " 
     322                ."JOIN ax_flurstueck f ON f.istgebucht=s2.gml_id "; 
    327323 
    328324        // hinten gleich 
    329         $sql2="JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer  
    330         WHERE s1.istbestandteilvon = $1 AND f.endet IS NULL AND s1.endet IS NULL "; 
     325        $sql2="JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer " 
     326                ."WHERE s1.istbestandteilvon = $1 AND f.endet IS NULL AND s1.endet IS NULL "; 
    331327 
    332328        switch ($gfilter) { 
Note: See TracChangeset for help on using the changeset viewer.