Ignore:
Timestamp:
02/15/18 17:46:51 (3 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/info/info/alkisn/alkisfsnw.php

    r394 r399  
    1616        2017-10-17 Zeitpunkt der Entstehung in deutschen Datumsformat 
    1717        2017-11-03 Wertelisten fÃŒr Arrays in BodenschÀtzung ausgeben. 
    18  
    19         ToDo: 
     18        2017-12-08 Planung (Kommentare) der Erweiterung fÃŒr Berechtigte GrundbÃŒcher 
     19        2017-12-20 Links auf Lagebezeichnung verbessert. 
     20 
     21+++     ToDo: +++ 
     22        - Wenn nur 1 Buchung auf der nÀchsten Stufe "Recht an" vorliegt (z.B. Erbbaurecht), dann sofort anzeigen. $berbu='' 
     23          Bei vielen Buchungen auf der nÀchsten Stufe (Miteigentumsanteil) nur die Anzahl, erst auf Anforderung (Parameter) &berbu='j' oder 2,3,4,fÃŒr maximale Stufen. 
     24      Anzahl weiterer "Rechte an" auf jeder Stufe anzeigen, auch wenn noch kein Link möglich ist. 
     25          MEHR: Alle "Rechte an" RÃŒckwÀrts auflisten analog View "buchungsrechte_3text". Bis zu 4 Buchungen weit. 
     26      Im Gegensatz zum "Bestandsnachweis" aber nur je eine BVNR weiter verfolgen, die auf dies eine FlurstÃŒck bezogen ist. 
     27      Dabei berechtigte Buchungen VOR dem Grundbuch anzeigen, also eine Berechtigungs-"Hierarchie" abbilden. 
    2028        - Parameter zum Umschalten mit/ohne BodenschÀtzung? 
    2129        - Bessere Differenzierung bei den Nutzungsarten (Tabelle dafÃŒr aufbauen)  
     
    286294// ** L a g e b e z e i c h n u n g ** 
    287295 
    288 // Lagebezeichnung MIT Hausnummer 
     296// Lagebezeichnung  M I T  Hausnummer 
     297 
    289298// ax_flurstueck  >weistAuf>  AX_LagebezeichnungMitHausnummer 
    290 $sql="SELECT DISTINCT l.gml_id, l.gemeinde, l.lage, l.hausnummer, s.bezeichnung  
     299$sql="SELECT DISTINCT l.gml_id, l.gemeinde, l.lage, l.hausnummer, s.bezeichnung, s.gml_id AS kgml 
    291300FROM ax_flurstueck f JOIN ax_lagebezeichnungmithausnummer l ON l.gml_id=ANY(f.weistauf)   
    292301JOIN ax_lagebezeichnungkatalogeintrag s ON l.land=s.land AND l.regierungsbezirk=s.regierungsbezirk AND l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage  
     
    306315} else { 
    307316        $j=0; 
     317        $kgmlalt=""; 
    308318        while($row = pg_fetch_array($res)) { 
    309                 $sname = htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); // Str.-Name 
     319                $sname=htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); // Str.-Name 
     320                if (substr($sname, strlen($sname) -3, 3) == 'weg') { // Versuch fuer korrekten Satzbau 
     321                        $slink=" am ".$sname; 
     322                } else { 
     323                        $slink=" an der ".$sname; 
     324                } 
     325                $hsnr=$row["hausnummer"]; 
    310326                echo "\n<tr>\n\t"; 
    311327                        if ($j == 0) { 
     
    319335                                echo "<span class='key' title='Straßenschl&uuml;ssel'>(".$row["lage"].")</span>&nbsp;"; 
    320336                        } 
    321                         echo $sname."&nbsp;".$row["hausnummer"]."</td>" 
    322                         ."\n\t<td>\n\t\t<p class='nwlink noprint'>" 
    323                                 ."\n\t\t\t<a title='Lagebezeichnung mit Hausnummer' href='alkislage.php?gkz=".$gkz."&amp;ltyp=m&amp;gmlid=".$row["gml_id"]; 
     337                        echo $sname."&nbsp;".$hsnr."</td>"; 
     338 
     339                        // rechte Spalte 
     340                        echo "\n\t<td>\n\t\t<p class='nwlink noprint'>"; 
     341 
     342                        // +++ davor auch Link "Straße" 
     343                        $kgml=$row["kgml"]; // Wiederholung vermeiden 
     344                        if ($kgml != $kgmlalt) { // NEUE Strasse vor Lage 
     345                                $kgmlalt=$kgml; // Katalog GML-ID 
     346                                echo "\n\t\t\t<a title='Flurst&uuml;cke mit oder ohne Hausnummer".$slink."' " 
     347                                ."href='alkisstrasse.php?gkz=".$gkz."&amp;gmlid=".$kgml."'>Stra&szlig;e " 
     348                                ."<img src='ico/Strassen.png' width='16' height='16' alt='STRA'></a> "; 
     349                        } 
     350 
     351                        echo "\n\t\t\t<a title='Flurst&uuml;cke und Geb&auml;ude mit Hausnummer ".$hsnr."' href='alkislage.php?gkz=".$gkz."&amp;ltyp=m&amp;gmlid=".$row["gml_id"]; 
    324352                                if ($showkey) {echo "&amp;showkey=j";} 
    325353                                echo "'>Lage <img src='ico/Lage_mit_Haus.png' width='16' height='16' alt=''></a>" 
     
    333361// +++ Verbesserung: mehrere HsNr zur gleichen Straße als Liste? 
    334362 
    335 // Lagebezeichnung OHNE Hausnummer  (Gewanne oder nur Strasse) 
     363// Lagebezeichnung  O H N E  Hausnummer  (Gewanne oder nur Strasse) 
     364 
    336365// ax_flurstueck  >zeigtAuf>  AX_LagebezeichnungOhneHausnummer 
    337366$sql ="SELECT l.gml_id, l.unverschluesselt, l.gemeinde, l.lage, s.bezeichnung  
     
    349378} 
    350379$j=0; 
    351 // Es wird auch eine Zeile ausgegeben, wenn kein Eintrag gefunden! 
    352380while($row = pg_fetch_array($res)) { 
    353         $gewann = htmlentities($row["unverschluesselt"], ENT_QUOTES, "UTF-8"); 
    354381        $skey=$row["lage"]; // Strassenschl. 
    355382        $lgml=$row["gml_id"]; // key der Lage 
    356         if (!$gewann == "") { 
     383        $gewann = htmlentities($row["unverschluesselt"], ENT_QUOTES, "UTF-8"); 
     384 
     385        if ($gewann != "") { 
    357386                echo "\n<tr>" 
    358                         ."\n\t<td class='ll' title='Lagebezeichnung'><img src='ico/Lage_Gewanne.png' width='16' height='16' alt=''> Gewanne:</td>" 
     387                        ."\n\t<td class='ll' title='unverschl&uuml;sselte Lagebezeichnung'><img src='ico/Lage_Gewanne.png' width='16' height='16' alt=''> Gewanne:</td>" 
    359388                        ."\n\t<td></td>" 
    360389                        ."\n\t<td class='lr' colspan='3'>".$gewann."</td>" 
    361390                        ."\n\t<td>\n\t\t<p class='nwlink noprint'>" 
    362                                 ."\n\t\t\t<a title='Lagebezeichnung Ohne Hausnummer' href='alkislage.php?gkz=".$gkz."&amp;ltyp=o&amp;gmlid=".$lgml; 
     391                                ."\n\t\t\t<a title='Flurst&uuml;cke mit der Gewanne ".$gewann."' href='alkislage.php?gkz=".$gkz."&amp;ltyp=o&amp;gmlid=".$lgml; 
    363392                                if ($showkey) {echo "&amp;showkey=j";}                           
    364393                                echo "'>\n\t\t\tLage <img src='ico/Lage_Gewanne.png' width='16' height='16' alt=''></a>" 
    365394                        ."\n\t\t</p>\n\t</td>" 
    366395                ."\n</tr>"; 
    367         } 
    368         // Gleicher DB-Eintrag in zwei HTML-Zeilen, besser nur ein Link 
    369         if ($skey > 0) { 
     396        } elseif ($skey > 0) { 
     397                $sname=htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); // Str.-Name 
     398                if (substr($sname, strlen($sname) -3, 3) == 'weg') { // Versuch fuer korrekten Satzbau 
     399                        $slink=" am ".$sname; 
     400                } else { 
     401                        $slink=" an der ".$sname; 
     402                } 
    370403                echo "\n<tr>" 
    371404                        ."\n\t<td class='ll'><img src='ico/Lage_an_Strasse.png' width='16' height='16' alt=''> Stra&szlig;e:</td>" 
    372405                        ."\n\t<td></td>" 
    373406                        ."\n\t<td class='lr' colspan='3'>"; 
    374                         if ($showkey) { 
    375                                 echo "<span class='key'>(".$skey.")</span>&nbsp;"; 
    376                         } 
    377                         echo $row["bezeichnung"]."</td>" 
    378                         ."\n\t<td>\n\t\t<p class='nwlink noprint'>" 
    379                                 ."\n\t\t\t<a title='Lagebezeichnung Ohne Hausnummer' href='alkislage.php?gkz=".$gkz."&amp;ltyp=o&amp;gmlid=".$lgml; 
     407                        if ($showkey) {echo "<span class='key'>(".$skey.")</span>&nbsp;";} 
     408                        echo $sname."</td>"; 
     409 
     410                        // rechte Spalte 
     411                        echo "\n\t<td>\n\t\t<p class='nwlink noprint'>" 
     412                                ."\n\t\t\t<a title='FlurstÃŒcke ".$slink."' href='alkislage.php?gkz=".$gkz."&amp;ltyp=o&amp;gmlid=".$lgml; 
    380413                                if ($showkey) {echo "&amp;showkey=j";}                           
    381414                                echo "'>\n\t\t\tLage <img src='ico/Lage_an_Strasse.png' width='16' height='16' alt=''>\n\t\t\t</a>" 
     
    583616                        if ($showkey) {echo "&amp;showkey=j";} 
    584617                        if ($cnt_adressen > 0) { // wenn Adresse vorgekommen ist 
    585                                 echo "' title='Geb&auml;udenachweis'>Geb&auml;ude "; 
     618                                echo "' title='Geb&auml;ude auf oder an dem Flurst&uuml;ck'>Geb&auml;ude "; 
    586619                        } else { // GebÀude mit Adresse gibt es NICHT, das ist klar 
    587620                                echo "' title='Suche Geb&auml;ude ohne Adresse auf dem Flurst&uuml;ck oder angrenzende Geb&auml;ude'>Suche "; 
     
    740773        ."\n\t<td class='fla sum' title='Summe der Ertragsmesszahlen f&uuml;r dies Flurst&uuml;ck'>".$gesertragsmz."</td>" 
    741774        ."\n\t<td class='re'>".$klasflaedis."</td>\n\t<td colspan='3'>&nbsp;</td>\n</tr>"; 
    742  
    743 //} else { // Result ist leer 
    744 //      if ($debug > 1) { 
    745 //              echo "\n<p class='dbg'>Keine BodenschÀtzung gefunden</p>"; 
    746 //              if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";} 
    747 //      } 
    748775} 
    749776 
    750777// H i n w e i s  auf Bodenneuordnung oder eine strittige Grenze 
    751 // b.name, b.artderfestlegung,  
    752778$sql_boden ="SELECT a.k AS wert, a.v AS art_verf, b.gml_id AS verf_gml, b.bezeichnung AS verf_bez,  
    753779b.name AS verf_name, d.bezeichnung AS stelle_bez, d.stelle AS stelle_key  
     
    859885                                // Umschalter: FS-Nachweis ruft sich selbst mit geaendertem Parameter auf. Positionierung auf Marke "#gb" 
    860886                                if ($eig=="j") { 
    861                                         echo "&amp;eig=n#gb' title='Flurst&uuml;cksnachweis'>ohne Eigent&uuml;mer</a>"; 
     887                                        echo "&amp;eig=n#gb' title='Umschalter: Flurst&uuml;cksnachweis'>ohne Eigent&uuml;mer</a>"; 
    862888                                } else { 
    863                                         echo "&amp;eig=j#gb' title='Flurst&uuml;cks- und Eigent&uuml;mernachweis'>mit Eigent&uuml;mer " 
     889                                        echo "&amp;eig=j#gb' title='Umschalter: Flurst&uuml;cks- und Eigent&uuml;mernachweis'>mit Eigent&uuml;mer " 
    864890                                        ."<img src='ico/EigentuemerGBzeile.png' width='16' height='16' alt=''></a>"; 
    865891                                } 
Note: See TracChangeset for help on using the changeset viewer.