Ignore:
Timestamp:
06/08/17 16:15:04 (7 years ago)
Author:
frank.jaeger
Message:

Überarbeitung der Buchauskunft: FS-Nachweis enthält optional die berechtigten Buchungen, Input-Validation, Styling, kleinere Korrekturen, HTML-Profilierung

File:
1 edited

Legend:

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

    r377 r387  
    88        2016-02-24 Version fuer norGIS-ALKIS-Import 
    99        2016-11-29 HTML5, Gemeinsam genutzte Datenbanken ermöglichen 
     10        2017-06-02 Validierung Eingabeparameter, Feinkorrekturen 
    1011*/ 
    1112session_start(); 
    12 $id="n"; 
    13 $multiadress="n"; 
    14 $cntget = extract($_GET); 
     13 
     14$multiadress="n"; $showkey="n"; // Var. aus Parameter initalisieren 
     15$cntget = extract($_GET); // Parameter in Variable umwandeln 
     16 
     17// strikte Validierung aller Parameter 
     18if (!isset($gmlid) or !preg_match('#^[0-9A-Za-z]{16}$#', $gmlid)) {die("Eingabefehler gmlid");} 
     19if (!isset($gkz) or !preg_match('#^[0-9]{3}$#', $gkz)) {die("Eingabefehler gkz");} 
     20if (!preg_match('#^[j|n]{0,1}$#', $showkey)) {die ("Eingabefehler showkey");} 
     21if ($showkey == "j") {$showkey=true;} else {$showkey=false;} 
     22if (!preg_match('#^[j|n]{0,1}$#', $multiadress)) {die ("Eingabefehler multiadress");} 
     23 
    1524require_once("alkis_conf_location.php"); 
    1625if ($auth == "mapbender") {require_once($mapbender);} 
    1726include("alkisfkt.php"); 
    18 $keys = isset($_GET["showkey"]) ? $_GET["showkey"] : "n"; 
    19 if ($keys == "j") {$showkey=true;} else {$showkey=false;} 
    2027 
    2128?> 
     
    2431<head> 
    2532        <meta charset="utf-8"> 
     33        <meta name="viewport" content="width=device-width, initial-scale=1.0"> 
    2634        <title>ALKIS Person und Adresse</title> 
    2735        <link rel="stylesheet" type="text/css" href="alkisauszug.css"> 
     
    3240                } 
    3341        </script> 
    34         <style type='text/css' media='print'> 
    35                 .noprint {visibility: hidden;} 
    36         </style> 
    3742</head> 
    3843<body> 
     
    4247// Balken 
    4348echo "<p class='nakennz'>ALKIS Name id=".$gmlid."&nbsp;</p>\n" 
    44 ."\n<h2><img src='ico/Eigentuemer.png' width='16' height='16' alt=''> Person</h2>\n"; 
     49."\n<h2><img src='ico/Eigentuemer.png' width='16' height='16' alt=''> Person</h2>"; 
    4550$con = pg_connect($dbconn." options='--application_name=ALKIS-Auskunft_alkisnamstruk.php'"); 
    46 if (!$con) "\n<p class='err'>Fehler beim Verbinden der DB</p>\n"; 
     51if (!$con) "\n<p class='err'>Fehler beim Verbinden der DB</p>"; 
    4752 
    4853$sql="SELECT p.nachnameoderfirma, p.anrede, p.vorname, p.geburtsname, p.geburtsdatum, p.namensbestandteil, p.akademischergrad, a.v AS anrv 
     
    5560 
    5661if (!$res) { 
    57         echo "\n<p class='err'>Fehler bei Zugriff auf Namensnummer</p>\n"; 
    58         if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";} 
     62        echo "\n<p class='err'>Fehler bei Zugriff auf Namensnummer</p>"; 
     63        if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".htmlentities($sql, ENT_QUOTES, "UTF-8")."<br>$1 = gml_id = '".$gmlid."'</p>";} 
    5964} 
    6065if ($row = pg_fetch_array($res)) { 
     
    6469        $anrk=$row["anrede"]; // Key 
    6570        $anr=$row["anrv"]; // Value 
    66         $nbest=$row["namensbestandteil"]; 
    67         $aka=$row["akademischergrad"]; 
    68  
    69         echo "<table>\n" 
    70                 ."\t<tr><td class='nhd'>Anrede:</td><td class='nam'>"; 
     71        $nbest=htmlentities($row["namensbestandteil"], ENT_QUOTES, "UTF-8"); 
     72        $aka=htmlentities($row["akademischergrad"], ENT_QUOTES, "UTF-8"); 
     73 
     74        echo "<table>" 
     75                ."\n\t<tr><td class='nhd'>Anrede:</td><td class='nam'>"; 
    7176                if ($showkey) {echo "<span class='key' title='Anredekennung'>(".$anrk.")</span> ";} 
    72                 echo $anr."</td></tr>\n" 
    73                 ."\t<tr><td class='nhd'>Nachname oder Firma:</td><td class='nam'>".$nam."</td></tr>\n" 
    74                 ."\t<tr><td class='nhd'>Vorname:</td><td class='nam'>".$vor."&nbsp;</td></tr>\n" 
    75                 ."\t<tr><td class='nhd'>Geburtsname:</td><td class='nam'>".$geb."&nbsp;</td></tr>\n" 
    76                 ."\t<tr><td class='nhd'>Geburtsdatum:</td><td class='nam'>".$row["geburtsdatum"]."&nbsp;</td></tr>\n" 
    77                 ."\t<tr><td class='nhd'>Namensbestandteil:</td><td class='nam'>".$nbest."&nbsp;</td></tr>\n" 
    78                 ."\t<tr><td class='nhd'>akademischer Grad:</td><td class='nam'>".$aka."&nbsp;</td></tr>\n" 
    79         ."\n</table>\n<hr>\n"; 
     77                echo $anr."</td></tr>" 
     78                ."\n\t<tr><td class='nhd'>Nachname oder Firma:</td><td class='nam'>".$nam."</td></tr>" 
     79                ."\n\t<tr><td class='nhd'>Vorname:</td><td class='nam'>".$vor."&nbsp;</td></tr>" 
     80                ."\n\t<tr><td class='nhd'>Geburtsname:</td><td class='nam'>".$geb."&nbsp;</td></tr>" 
     81                ."\n\t<tr><td class='nhd'>Geburtsdatum:</td><td class='nam'>".$row["geburtsdatum"]."&nbsp;</td></tr>" 
     82                ."\n\t<tr><td class='nhd'>Namensbestandteil:</td><td class='nam'>".$nbest."&nbsp;</td></tr>" 
     83                ."\n\t<tr><td class='nhd'>akademischer Grad:</td><td class='nam'>".$aka."&nbsp;</td></tr>" 
     84        ."\n</table>\n<hr>"; 
    8085 
    8186        // A d r e s s e 
    82         echo "\n<h3><img src='ico/Strasse_mit_Haus.png' width='16' height='16' alt=''> Adresse</h3>\n"; 
     87        echo "\n\n<h3><img src='ico/Strasse_mit_Haus.png' width='16' height='16' alt=''> Adresse</h3>"; 
    8388        // Es können redundante Adressen vorhanden sein, z.B. aus Migration, temporÀr aus LBESAS. Die letzte davon anzeigen. 
    8489 
     
    9095        $resa = pg_execute("", $v); 
    9196        if (!$resa) { 
    92                 echo "\n<p class='err'>Fehler bei Adressen</p>\n"; 
    93                 if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sqla."<br>$1=gml(Person)= '".$gmlid."'</p>\n";} 
     97                echo "\n<p class='err'>Fehler bei Adressen</p>"; 
     98                if ($debug > 2) {echo "\n<p class='err'>SQL=<br>".$sqla."<br>$1=gml(Person)= '".$gmlid."'</p>";} 
    9499        } 
    95100 
     
    111116                                ."\t<tr><td class='nhd'>Hausnummer:</td><td class='nam'>".$hsnr."</td></tr>\n" 
    112117                                ."\t<tr><td class='nhd'>Land:</td><td class='nam'>".$land."</td></tr>\n" 
    113                         ."\n</table>\n<br>\n"; 
     118                        ."\n</table>\n<br>"; 
    114119 
    115120                        // Name und Adresse Kompakt (im Rahmen) - Alles was man fuer ein Anschreiben braucht 
    116                         echo "<img src='ico/Namen.png' width='16' height='16' alt='Brief' title='Anschrift'>" 
    117                         ."\n<div class='adr' title='Anschrift'>".$anr." ".$aka." ".$vor." ".$nbest." ".$nam."<br>" 
    118                         ."\n".$str." ".$hsnr."<br>" 
    119                         ."\n".$plz." ".$ort."</div>"; 
     121                        echo "\n<img src='ico/Namen.png' width='16' height='16' alt='Brief' title='Anschrift'>" 
     122                        ."\n<div class='adr' title='Anschrift'>\n\t".$anr." ".$aka." ".$vor." ".$nbest." ".$nam."<br>" 
     123                        ."\n\t".$str." ".$hsnr."<br>" 
     124                        ."\n\t".$plz." ".$ort."\n</div>"; 
    120125                } 
    121126        } 
    122127        pg_free_result($resa); 
    123128        if ($j == 0) { 
    124                 echo "\n<p class='err'>Keine Adressen.</p>\n"; 
     129                echo "\n<p class='err'>Keine Adressen.</p>"; 
    125130        } elseif ($j > 1) { 
    126131                echo "\n\t\t<p class='nwlink noprint'>" 
     
    137142 
    138143        // *** G R U N D B U C H *** 
    139         echo "\n<hr>\n<h3><img src='ico/Grundbuch_zu.png' width='16' height='16' alt=''> Grundb&uuml;cher</h3>\n"; 
     144        echo "\n<hr>\n<h3><img src='ico/Grundbuch_zu.png' width='16' height='16' alt=''> Grundb&uuml;cher</h3>"; 
    140145        // person <benennt< namensnummer >istBestandteilVon>                Buchungsblatt 
    141146        //                               >bestehtAusRechtsverhaeltnissenZu> namensnummer   (Nebenzweig/SonderfÀlle?) 
    142147 
    143         $sqlg ="SELECT n.gml_id AS gml_n, n.laufendenummernachdin1421 AS lfd, n.zaehler, n.nenner, g.gml_id AS gml_g, g.bezirk, g.buchungsblattnummermitbuchstabenerweiterung as nr, g.blattart, wb.v AS blattartv, b.bezeichnung AS beznam  
    144         FROM ax_person p JOIN ax_namensnummer n ON p.gml_id=n.benennt  
    145         JOIN ax_buchungsblatt g ON g.gml_id=n.istbestandteilvon  
    146         LEFT JOIN ax_buchungsblattbezirk b ON g.land=b.land AND g.bezirk=b.bezirk  
    147         LEFT JOIN alkis_wertearten wb ON cast(g.blattart AS character varying)=wb.k AND wb.element='ax_buchungsblatt' AND wb.bezeichnung='blattart' 
    148         WHERE p.gml_id= $1 
    149         ORDER BY b.bezeichnung, g.buchungsblattnummermitbuchstabenerweiterung, n.laufendenummernachdin1421;"; 
     148        $sqlg ="SELECT n.gml_id AS gml_n, n.laufendenummernachdin1421 AS lfd, n.zaehler, n.nenner, g.gml_id AS gml_g, g.bezirk, g.buchungsblattnummermitbuchstabenerweiterung as nr, g.blattart, wb.v AS blattartv, b.bezeichnung AS beznam " 
     149        ."FROM ax_person p JOIN ax_namensnummer n ON p.gml_id=n.benennt " 
     150        ."JOIN ax_buchungsblatt g ON g.gml_id=n.istbestandteilvon " 
     151        ."LEFT JOIN ax_buchungsblattbezirk b ON g.land=b.land AND g.bezirk=b.bezirk " 
     152        ."LEFT JOIN alkis_wertearten wb ON cast(g.blattart AS character varying)=wb.k AND wb.element='ax_buchungsblatt' AND wb.bezeichnung='blattart' " 
     153        ."WHERE p.gml_id= $1 " 
     154        ."ORDER BY b.bezeichnung, g.buchungsblattnummermitbuchstabenerweiterung, n.laufendenummernachdin1421;"; 
    150155        // buchungsblatt... mal mit und mal ohne fuehrende Nullen, bringt die Sortierung durcheinander 
    151156 
     
    155160 
    156161        if (!$resg) { 
    157                 echo "\n<p class='err'>Fehler bei Grundbuch</p>\n"; 
    158                 if ($debug > 2) {echo "\n<p class='err'>SQL=".$sqlg."</p>\n";} 
     162                echo "\n<p class='err'>Fehler bei Grundbuch</p>"; 
     163                if ($debug > 2) { 
     164                        echo "\n<p class='err'>SQL=<br>".htmlentities($sqlg, ENT_QUOTES, "UTF-8")."<br>$1 = gml_id = '".$gmlid."'</p>"; 
     165                } 
    159166        } 
    160167        echo "<table class='eig'>" 
     
    165172                ."\n\t<td class='heads'>Namensnummer<img src='ico/sort.png' width='10' height='10' alt='' title='Sortierung'></td>" 
    166173                ."\n\t<td class='head'>Anteil</td>" 
    167                 ."\n\t<td class='head nwlink noprint' title='Link: weitere Auskunft'>weit. Auskunft</td>" 
     174                ."\n\t<td class='head nwlink noprint' title='Verlinkung zu anderen Nachweis-Arten und verbundenen Objekten'>weitere Auskunft</td>" 
    168175        ."\n</tr>"; 
    169176 
    170177        $i=0; 
     178        $zpaar=false; 
    171179        while($rowg = pg_fetch_array($resg)) { 
    172180                $gmln=$rowg["gml_n"]; 
     
    176184                $blattkey=$rowg["blattart"]; // Key 
    177185                $blattart=$rowg["blattartv"]; // Value 
    178  
    179                 echo "\n<tr>" 
    180                         ."\n\t<td class='gbl'>"; // GB-Bezirk" 
     186                if ($zpaar) {$trclass='paa';} else {$trclass='unp';} 
     187                $zpaar=!$zpaar; 
     188                echo "\n<tr class='".$trclass."'>" 
     189                        ."\n\t<td>"; // GB-Bezirk <td class='gbl'> 
    181190                                if ($showkey) {echo "<span class='key'>".$rowg["bezirk"]."</span> ";} 
    182191                                echo $rowg["beznam"] 
    183192                        ."</td>"; 
    184193 
    185                         echo "\n\t<td class='gbl'>"; // Blattart 
     194                        echo "\n\t<td>"; // Blattart 
    186195                                if ($showkey) {echo "<span class='key'>".$blattkey."</span> ";} 
    187196                                echo $blattart 
    188197                        ."</td>"; 
    189198 
    190                         echo "\n\t<td class='gbl'>"; // Blatt 
     199                        echo "\n\t<td>"; // Blatt 
    191200                                echo "<span class='wichtig'>".$rowg["nr"]."</span>" 
    192201                        ."</td>"; 
    193202 
    194                         echo "\n\t<td class='gbl'>"; // Namensnummer 
     203                        echo "\n\t<td>"; // Namensnummer 
    195204                                if ($namnum == "") { 
    196205                                        echo "&nbsp;"; 
     
    200209                        echo "</td>"; 
    201210 
    202                         echo "\n\t<td class='gbl'>"; // Anteil 
     211                        echo "\n\t<td>"; // Anteil 
    203212                                if ($zae == "") { 
    204213                                        echo "&nbsp;"; 
     
    207216                                }  
    208217                        echo "</td>" 
    209                         ."\n\t<td class='gbl'>" 
     218                        ."\n\t<td>" 
    210219                                ."\n\t\t<p class='nwlink noprint'>" 
    211220                                        ."\n\t\t\t<a href='alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$gmlg; 
     
    222231        pg_free_result($resg); 
    223232        echo "</table>"; 
    224         if ($i == 0) {echo "\n<p class='err'>Kein Grundbuch.</p>\n";} 
     233        if ($i == 0) {echo "\n<p class='err'>Kein Grundbuch.</p>";} 
    225234} else { 
    226235        echo "\n\t<p class='err'>Fehler! Kein Treffer f&uuml;r\n\t<a target='_blank' href='alkisrelationen.php?gkz=".$gkz."&amp;gmlid=".$gmlid."'>".$gmlid."</a>\n</p>\n\n"; 
Note: See TracChangeset for help on using the changeset viewer.