Ignore:
Timestamp:
06/24/21 15:59:16 (3 years ago)
Author:
frank.jaeger
Message:

Aktualisierungen der ALKIS-Buchauskunft, neues Modul für Bauwerke, Härtung

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/info/info/alkisn/alkisgsnw.php

    r412 r422  
    88        2018-05-03 Neues Modul "gsnw" abgeleitet aus "fsnw" 
    99        2018-11-09 Umstellung Full-Schema 
     10        2020-02-20 Authentifizierung ausgelagert in Function darf_ich() 
     11        2020-12-03 function selbstverlinkung() statt $_SERVER['PHP_SELF'] 
     12        2020-12-15 Input-Validation und Strict Comparisation (===) 
     13 
     14++ ToDo: Den Fall berÃŒcksichtigen, dass die Buchung vorhanden ist, aber das GB nicht (ModellschwÀche). Meldungen ausgeben. 
    1015*/ 
    1116 
     
    1722        $sqlgs="SELECT s.gml_id, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung AS blatt, s.laufendenummer, s.buchungsart " 
    1823                ."FROM ax_buchungsstelle s JOIN ax_buchungsblatt b ON s.istbestandteilvon=b.gml_id "; 
     24        // Falls das Buchungsblatt fehlt (ModellschwÀche) wÀre ein LEFT JOIN hier nÃŒtzlich. Das Fehlen aber kontrollieren! ++ 
     25 
    1926        if ($gskennz == '') { // normaler Link ÃŒber gmlid 
    2027                $sqlgs.="WHERE s.gml_id= $1 "; 
     
    2330                $arr=explode("-", $gskennz, 4); // zerlegen 
    2431                $zbez=trim($arr[0]); // Bezirk 
    25                 if (strlen($zbez) == 6) { 
     32                if (strlen($zbez) === 6) { 
    2633                        $land=substr($zbez, 0, 2); 
    2734                        $zbez=substr($zbez, 2, 4); 
     
    7380                $gmlid_d=$rowd["gml_id"]; 
    7481        } 
    75         if ($cntd == 0) { // KEINE dienende BS 
     82        if ($cntd === 0) { // KEINE dienende BS 
    7683                $gmlid_d=""; 
    7784        } elseif ($cntd > 1) { // Problem: mehrere dienende BS 
     
    93100        $gd=$gh; // dienend 
    94101        $gr=$gd; // root 
    95         //$steps=0; // wie oft? 
    96102        while($gd != "") { 
    97                 //$steps++; 
    98103                $gr=$gd; // sichern 
    99104                $gd=bs_dienend($gh); // an? 
    100105                $gh=$gd; // fuer weitere Loop 
    101106        } 
    102         //$steps=$steps -1; // erfolgreiche Suchen 
    103107        return $gr; 
    104108} 
    105109 
     110// H i e r   S t a r t 
     111ini_set("session.cookie_httponly", 1); 
    106112session_start(); 
    107113$showkey="n"; $nodebug=""; 
     
    118124        } else { 
    119125                $gskennz=''; 
    120         } 
    121 } 
    122 if (!isset($gkz) or !preg_match('#^[0-9]{3}$#', $gkz)) {die("Eingabefehler gkz");} 
     126                die("Fehlender Parameter"); 
     127        } 
     128} 
     129if (isset($gkz)) { 
     130        if (!preg_match('#^[0-9]{3}$#', $gkz)) {die("Eingabefehler gkz");} 
     131} else { 
     132        die("Fehlender Parameter"); 
     133} 
    123134if (!preg_match('#^[j|n]{0,1}$#', $showkey)) {die ("Eingabefehler showkey");} 
    124 if ($showkey == "j") {$showkey=true;} else {$showkey=false;} 
     135if ($showkey === "j") {$showkey=true;} else {$showkey=false;} 
    125136if (!preg_match('#^j{0,1}$#', $nodebug)) {die("Eingabefehler nodebug");} 
    126137 
    127 require_once("alkis_conf_location.php"); 
    128 if ($auth == "mapbender") {require_once($mapbender);} 
    129 include("alkisfkt.php"); 
     138include "alkis_conf_location.php"; 
     139include "alkisfkt.php"; 
    130140?> 
    131141<!doctype html> 
     
    145155<body> 
    146156<?php 
    147 if ($nodebug == "j") {$debug=0;}  
     157$erlaubnis = darf_ich(); if ($erlaubnis === 0) { die('<p class="stop1">Abbruch</p></body>'); } 
     158 
     159if ($nodebug === "j") {$debug=0;}  
    148160$con = pg_connect($dbconn." options='--application_name=ALKIS-Auskunft_alkisgsnw.php'"); 
    149161if (!$con) echo "\n<p class='err'>Fehler beim Verbinden der DB</p>"; 
     
    163175        } 
    164176} 
    165 echo "<p class='gskennz'>ALKIS Grundst&uuml;ck ".$gsbez."-".rtrim($gsblatt)."-".$gslfdnr."&nbsp;</p>\n\n<h2>Grundst&uuml;ck</h2>"; // Balken 
     177echo "<p class='balken gskennz'>ALKIS Grundst&uuml;ck ".$gsbez."-".rtrim($gsblatt)."-".$gslfdnr."&nbsp;</p>\n\n<h2>Grundst&uuml;ck</h2>"; // Balken 
    166178 
    167179if ($gerooted) { 
     
    176188                ."\n\t<td class='head nwlink noprint' title='Verlinkung zu anderen Nachweis-Arten und verbundenen Objekten'>weitere Auskunft</td>" 
    177189        ."\n</tr>"; 
    178         //+++ Lage oder Nutzung zum FS in eine zus. Spalte oder Zeile? 
    179         //+++ Tabelle hat noch Platz, SQL in der Loop oder Subquery wÀre möglich, weil i.d.R. nur wenige FS je GS gebucht sind. 
     190        //++ Lage oder Nutzung zum FS in eine zus. Spalte oder Zeile? 
     191        //++ Tabelle hat noch Platz, SQL in der Loop oder Subquery wÀre möglich, weil i.d.R. nur wenige FS je GS gebucht sind. 
    180192 
    181193        $sqlfs="SELECT g.gemarkungsnummer, g.bezeichnung, f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche  
    182194        FROM ax_flurstueck f LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer  
    183195        WHERE f.istgebucht = $1 AND f.endet IS NULL AND g.endet IS NULL "; 
    184         if ($filtgem == '' ) { // ungefiltert 
     196        if ($filtgem === '' ) { // ungefiltert 
    185197                $v=array($gmlid); 
    186198        } else { 
     
    222234        } 
    223235        pg_free_result($resfs); 
    224         if ($j == 0) {echo "\n<tr class='unp'>\n\t<td colspan='5'><p class='warn'>Keine Flurst&uuml;cke im berechtigten Bereich.</p></td>\n</tr>";} 
     236        if ($j === 0) {echo "\n<tr class='unp'>\n\t<td colspan='5'><p class='warn'>Keine Flurst&uuml;cke im berechtigten Bereich.</p></td>\n</tr>";} 
    225237        echo "\n</table>"; 
    226238} else { // konnte nicht bis zur Basis aufsteigen 
     
    236248echo "\n<table class='outer'>"; 
    237249        $stufe=1; 
    238         $gezeigt=buchung_anzg($gmlid, "j", false, "", 2); 
     250        $gezeigt = buchung_anzg($gmlid, "j", false, "", 2); 
    239251        $anzber=ber_bs_zaehl($gmlid); 
    240252        $verf_next = array($gmlid); 
     
    257269        } 
    258270echo "\n</table>\n\n"; 
     271//if ($debug > 1) {echo "<p class='dbg'>Buchung gezeigt = ".$gezeigt."</p>";} 
    259272 
    260273pg_close($con); 
     
    272285echo "&nbsp;\n</div>"; 
    273286 
    274 footer($gmlid, $_SERVER['PHP_SELF']."?", ""); 
     287footer($gmlid, selbstverlinkung()."?", ""); 
    275288?> 
    276289</body> 
Note: See TracChangeset for help on using the changeset viewer.