Ignore:
Timestamp:
12/05/16 10:57:00 (7 years ago)
Author:
frank.jaeger
Message:

ALKIS-Auskunft: in info/alkis/ den Stand 372 wieder hergestellt (Versionen aus "alkisn" versehendlich dort hoch geladen).
In info/alkisn/ Nachbesserungen an Gebäude-Name und Nutzungsart.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/info/info/alkis/alkisfkt.php

    r376 r377  
    11<?php 
    22/*      Modul: alkisfkt.php 
    3  
    43        ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo). 
    54        Functions 
    65 
    76        Version: 
    8         2016-02-24 Version fuer norGIS-ALKIS-Import, "function linkgml" raus. Case-EntschlÃŒsselung raus. 
    9         2016-03-03 Hinweis auf Datenfehler wenn "ax_person" fehlt in function "eigentuemer" 
    10         2016-03-14 Kleine Korrekturen 
    11         2016-11-29 Gemeinsam genutzte Datenbanken ermöglichen (Filter Gemeinde) 
     7        2010-12-17 Astrid Emde: Prepared Statements (pg_query -> pg_prepare + pg_execute) 
     8        2011-11-01 *Left* Join - Fehlertoleranz bei unvollstaendigen Schluesseltabellen 
     9        2011-11-02 Parameter debug in function eigentuemer 
     10        2011-11-17 Variable ($debug, $idanzeige, $showkey) von Parameter nach global. Die heißen in allen Programmteilen gleich. 
     11        2014-01-22 Eigentuemerart: Mehr Werte und Zugriff auf DB-SchlÃŒssel-Tabelle 
     12        2014-02-06 Korrektur EigentÃŒmerart 
     13        2014-09-09 PostNAS 0.8: ohne Tab. "alkis_beziehungen", mehr "endet IS NULL", Spalten varchar statt integer 
     14        2014-09-15 Bei Relationen den Timestamp abschneiden 
     15        2014-09-30 Umbenennung SchlÃŒsseltabellen (Prefix), RÃŒckbau substring(gml_id) 
     16        2014-12-30 class='fsnr' 
     17        2015-12-09 Austausch .ico durch .png 
    1218*/ 
    1319 
    1420function footer($gmlid, $link, $append) { 
    1521        // Einen Seitenfuss ausgeben. 
     22        // Den URL-Parameter "&id=j/n" und "&showkey=j/n" in allen Kombinationen umschalten lassen. 
    1623        // Die Parameter &gkz= und &gmlid= kommen in allen Modulen einheitlich vor 
    17         // Den URL-Parameter "&showkey=j/n" umschalten lassen. 
    18         // $append wird angehaengt wenn gefuellt. Anwendung: &eig=j bei FS-NW, &ltyp=m/p/o bei Lage 
    19         global $gkz, $showkey, $hilfeurl, $auth; 
    20  
    21         echo "\n<div class='confbereich noprint'>" 
    22         ."\n<table class='outer'>\n<tr>"; 
     24 
     25        // Der Parameter $append wird angehaengt wenn gefuellt 
     26        //  Anwendung: &eig=j bei FS-NW, &ltyp=m/p/o bei Lage 
     27        global $gkz, $idumschalter, $idanzeige, $showkey, $hilfeurl; 
     28 
     29        $customer=$_SESSION["mb_user_name"]; 
     30        echo "\n<div class='confbereich noprint'>"; 
     31        echo "\n<table class='outer'>\n<tr>"; 
    2332 
    2433        // Spalte 1: Info Benutzerkennung 
    25         if ($auth == "mapbender") { 
    26                 $customer=$_SESSION["mb_user_name"]; 
    27                 echo "\n\t<td title='Info'><i>Benutzer:&nbsp;".$customer."</i></td>"; 
    28         } else { 
    29                 echo "\n\t<td>&nbsp;</td>"; 
    30         } 
     34        echo "\n\t<td title='Info'><i>Benutzer:&nbsp;".$customer."</i></td>"; 
    3135 
    3236        // Spalte 2: Umschalter 
    3337        echo "\n\t<td title='Konfiguration'>"; 
    3438                $mylink ="\n\t\t<a class='gmlid' href='".$link."gkz=".$gkz."&amp;gmlid=".$gmlid.$append; 
    35  
    36                 if ($showkey) { // Umschalten SchlÃŒssel ein/aus 
    37                         echo $mylink."&amp;showkey=n' title='Verschl&uuml;sselungen ausblenden'>Schl&uuml;ssel aus</a>"; 
     39                if ($showkey) {$mykey = "&amp;showkey=j";} else {$mykey = "&amp;showkey=n";} 
     40                if ($idumschalter) { // fuer Entwicklung ODER Test 
     41                        if ($idanzeige) {$myid = "&amp;id=j";} else {$myid = "&amp;id=n";} 
     42 
     43                        // Umschalter nur ausgeben, wenn in conf gesetzt 
     44                        if ($idanzeige) { // Umschalten ID ein/aus 
     45                                echo $mylink.$mykey."&amp;id=n' title='Ohne Verfolgung der ALKIS-Beziehungen'>"; 
     46                                echo "<img src='ico/Beziehung_link.png' width='16' height='16' alt=''> ID aus</a>"; 
     47                        } else { 
     48                                echo $mylink.$mykey."&amp;id=j' title='Verfolgung der GML-ID in den ALKIS-Beziehungen'>"; 
     49                                echo "<img src='ico/Beziehung_link.png' width='16' height='16' alt=''> ID ein</a>"; 
     50                        } 
     51                        echo " | "; 
     52                } else { // keinen ID-Umschalter 
     53                        $myid = ""; 
     54                } 
     55 
     56                if ($showkey) { // // Umschalten SchlÃŒssel ein/aus 
     57                        echo $mylink.$myid."&amp;showkey=n' title='Verschl&uuml;sselungen ausblenden'>Schl&uuml;ssel aus</a>"; 
    3858                } else { 
    39                         echo $mylink."&amp;showkey=j' title='Verschl&uuml;sselungen anzeigen'>Schl&uuml;ssel ein</a>"; 
     59                        echo $mylink.$myid."&amp;showkey=j' title='Verschl&uuml;sselungen anzeigen'>Schl&uuml;ssel ein</a>"; 
    4060                } 
    4161        echo "\n\t</td>"; 
    4262 
    4363        // Spalte 3 
    44         echo "\n\t<td title='Hilfe'>" 
    45         ."\n\t\t<p class='nwlink'>\n\t\t\t<a target='_blank' href='".$hilfeurl."' title='Dokumentation'>Hilfe zur ALKIS-Auskunft</a>\n\t\t</p>\n\t</td>" 
    46         ."\n</tr>\n</table>\n</div>\n"; 
     64        echo "\n\t<td title='Hilfe'>"; 
     65        echo "\n\t\t<p class='nwlink'>\n\t\t\t<a target='_blank' href='".$hilfeurl."' title='Dokumentation'>Hilfe zur ALKIS-Auskunft</a>\n\t\t</p>\n\t</td>"; 
     66        echo "\n</tr>\n</table>\n</div>\n"; 
    4767        return 0; 
    4868} 
    4969 
    50 function ber_bs_hinw($gmls) { 
    51         // Unter einem Grundbuch-Link den Hinweis auf "berechtigte Buchungssstellen" anzeigen 
    52         // In FS-Nachweis wird nur der EigentÃŒmer des direkt gebuchten GrundstÃŒcks angezeigt. 
    53         // Den Erbbauberechtigten sieht man erst in der Grundbuch-Auskunft. 
    54         global $debug, $showkey; 
    55  
    56         // Buchungstelle dien. >an> Buchungstelle herr. 
    57         $sql ="SELECT count(sh.gml_id) AS anz, sh.buchungsart, a.v " 
    58         ."FROM ax_buchungsstelle sd JOIN ax_buchungsstelle sh ON sd.gml_id=ANY(sh.an) "  
    59         ."LEFT JOIN alkis_wertearten a ON sh.buchungsart=cast(a.k AS integer) "  
    60         ."WHERE sd.gml_id= $1 AND sh.endet IS NULL AND sd.endet IS NULL AND a.element='ax_buchungsstelle' and a.bezeichnung='buchungsart' " 
    61         ."GROUP BY sh.buchungsart, a.v;"; 
    62  
    63         $v = array($gmls); // id dienende BS 
    64         $resan = pg_prepare("", $sql); 
    65         $resan = pg_execute("", $v); 
    66         if (!$resan) { 
    67                 echo "\n<p class='err'>Fehler bei 'berechtigte Buchungsstellen'.</p>\n"; 
    68                 if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmls."'</p>";} 
    69         } 
    70         $an=0; 
    71         while($rowan = pg_fetch_array($resan)) { 
    72                 $an++; 
    73                 if ($an == 1) {echo "\n\t<br>\n\t<p class='nwlink' title='Andere Grundst&uuml;cke mit Rechten an diesem.'>Berechtigte Buchungen:<br><b>";} 
    74                 if ($an > 1) {echo",<br>";} // kann es gemischste Buchungsarten geben? 
    75                 echo $rowan["anz"]." ".htmlentities($rowan["v"], ENT_QUOTES, "UTF-8"); 
    76                 if ($showkey) {echo " <span class='key'>(".$rowan["buchungsart"].")</span>";} 
    77         } 
    78         if ($an == 0) { 
    79                 echo "<br><p class='nwlink' title='Kein anderes Grundst&uuml;ck hat ein Recht an diesem.'>Keine berechtigte Buchung</p>"; 
    80         } else { 
    81                 echo "</b></p>"; 
    82         } 
    83         pg_free_result($resan); 
     70function linkgml($gkz, $gml, $typ, $tabelle)  { 
     71        // Einen Link zur Verfolgung der Beziehungen mit dem Modul alkisrelationen.php 
     72        // tabelle = nur angeben fÃŒr Tabellen, die Relationen-Spalten besitzen, sonst leer 
     73        $kurzid=substr($gml, 12, 4); // ID in Anzeige kuerzen (4 Zeichen), der Anfang ist immer gleich 
     74        // PostNAS 0.8: Timestamp abschneiden 
     75        echo "\n\t\t<a target='_blank' title='ID ".$typ."' class='gmlid noprint' "; 
     76        echo "href='alkisrelationen.php?gkz=".$gkz."&amp;gmlid=".$gml."&amp;otyp=".$typ."&amp;tabelle=".$tabelle."'>"; 
     77        echo "<img src='ico/Beziehung_link.png' width='16' height='16' alt=''>".$kurzid."</a>"; 
     78        return 0; 
    8479} 
    8580 
     
    9085        $kurz=ltrim($kurz, "0"); // fuehrende Nullen am Anfang 
    9186        $kurz=str_replace(".0",".",$kurz); // fuehrende Null jeder Stufe 
    92         $kurz=rtrim($kurz); // Leerzeichen hinten 
    93         // echo "/n<p class='dbg'> lang='".$lang."'</p>/n<p class='dbg'> kurz='".$kurz."'</p>"; 
    9487        return $kurz; 
    9588} 
    9689 
    97 function bnw_fsdaten($con, $lfdnr, $gml_bs, $ba, $anteil, $bvnraus, $bartkey, $bartstory) { 
     90function bnw_fsdaten($con, $lfdnr, $gml_bs, $ba, $anteil, $bvnraus) { 
    9891/*      Bestandsnachweis - Flurstuecksdaten 
    9992        Die Tabellenzeilen mit den Flurstuecksdaten zu einer Buchungsstelle im Bestandsnachweis ausgeben. 
    10093        Die Funktion wird je einmal aufgerufen fÃŒr die Buchungen direkt auf dem GB (Normalfall). 
    10194        Weiterere Aufrufe ggf. bei Erbbaurecht fÃŒr die mit "an" verknuepften Buchungsstellen. 
    102         Table-Tag und Tabellenkopf werden im aufrufenden Programm ausgegeben. */ 
    103         global $debug, $gkz, $showkey, $filtkreis, $filtgem; 
     95        Table-Tag und Kopfzeile im aufrufenden Programm. */ 
     96        global $debug, $gkz, $idanzeige, $showkey; 
    10497 
    10598        // F L U R S T U E C K 
     
    107100        FROM ax_flurstueck f JOIN ax_buchungsstelle s ON f.istgebucht=s.gml_id  
    108101        LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer  
    109         WHERE f.endet IS NULL AND s.endet IS NULL AND g.endet IS NULL AND s.gml_id= $1 "; 
    110         if ($filtgem == '' ) { // ungefiltert 
    111                 $v=array($gml_bs); 
    112         } else { 
    113                 $sql.="AND f.kreis = $2 AND f.gemeinde = $3 "; // ZustÀndiges Gebiet 
    114                 $v=array($gml_bs, $filtkreis, $filtgem); 
    115         } 
    116         $sql.="ORDER BY f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner;"; 
     102        WHERE s.gml_id= $1 AND f.endet IS NULL AND s.endet IS NULL AND g.endet IS NULL ORDER BY f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner;"; 
     103 
     104        $v = array($gml_bs); 
    117105        $resf = pg_prepare("", $sql); 
    118106        $resf = pg_execute("", $v); 
     
    121109        if($bvnraus) { // nur bei direkten Buchungen die lfdNr ausgeben 
    122110                $bvnr=str_pad($lfdnr, 4, "0", STR_PAD_LEFT); 
    123         } else { 
    124                 $bvnr=""; 
    125111        } 
    126112        $altlfdnr=""; 
     
    137123                echo "\n<tr>"; // eine Zeile je Flurstueck 
    138124                        // Sp. 1-3 der Tab. aus Buchungsstelle, nicht aus FS 
    139                         if($lfdnr == $altlfdnr) { // gleiches Grundstueck 
    140                                 echo "\n\t<td>&nbsp;</td>" 
    141                                 ."\n\t<td>&nbsp;</td>" 
    142                                 ."\n\t<td>&nbsp;</td>"; 
    143                         } else { // Sprungmarke, BVNR 
    144                                 echo "\n\t<td>" 
    145                                         ."<a id='bvnr".$lfdnr."'></a><span class='wichtig'>".$bvnr."</span>" /// ++++ FEHLER?? $bvnr 
    146                                 ."</td>"; 
    147  
    148                                 echo "\n\t<td title ='".$bartstory."'>"; // Buchungsart  
    149                                         if ($showkey) {echo "<span class='key'>".$bartkey."</span>&nbsp;";} // Schluessel 
     125                        if($lfdnr == $altlfdnr) {       // gleiches Grundstueck 
     126                                echo "\n\t<td>&nbsp;</td>"; 
     127                                echo "\n\t<td>&nbsp;</td>"; 
     128                                echo "\n\t<td>&nbsp;</td>"; 
     129                        } else { 
     130                                echo "\n\t<td>"; 
     131                                        echo "<a name='bvnr".$lfdnr."'></a>"; // Sprungmarke 
     132                                        echo "<span class='wichtig'>".$bvnr."</span>";  // BVNR 
     133                                        if ($idanzeige) {linkgml($gkz, $gml_bs, "Buchungsstelle", "ax_buchungsstelle");} 
     134                                echo "</td>"; 
     135 
     136                                echo "\n\t<td>"; // Buchungsart  
     137                                        //      if ($showkey) {echo "<span class='key'>".$???."</span>&nbsp;";} // Schluessel 
    150138                                        echo $ba; // entschluesselt 
    151                                 echo "</td>" 
    152                                 ."\n\t<td>&nbsp;</td>"; // Anteil 
     139                                echo "</td>";  
     140                                echo "\n\t<td>&nbsp;</td>"; // Anteil 
    153141                                $altlfdnr=$lfdnr; 
    154142                        } 
    155143                        //Sp. 4-7 aus Flurstueck 
    156144                        echo "\n\t<td>"; 
    157                         if ($showkey) {echo "<span class='key'>".$rowf["gemarkungsnummer"]."</span> ";} 
    158                         echo $rowf["bezeichnung"]."</td>" 
    159                         ."\n\t<td>".$flur."</td>" 
    160                         ."\n\t<td class='fsnr'><span class='wichtig'>".$fskenn."</span>" 
    161                         ."</td>" 
    162                         ."\n\t<td class='fla'>".$flae."</td>"; 
    163  
    164                         echo "\n\t<td><p class='nwlink noprint'>" 
    165                                 ."<a href='alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$rowf["gml_id"]."&amp;eig=n"; 
     145                        if ($showkey) { 
     146                                echo "<span class='key'>".$rowf["gemarkungsnummer"]."</span> "; 
     147                        } 
     148                        echo $rowf["bezeichnung"]."</td>"; 
     149                        echo "\n\t<td>".$flur."</td>"; 
     150                        echo "\n\t<td class='fsnr'><span class='wichtig'>".$fskenn."</span>"; 
     151                                if ($idanzeige) {linkgml($gkz, $rowf["gml_id"], "Flurst&uuml;ck", "ax_flurstueck");} 
     152                        echo "</td>"; 
     153                        echo "\n\t<td class='fla'>".$flae."</td>"; 
     154 
     155                        echo "\n\t<td><p class='nwlink noprint'>"; 
     156                                echo "<a href='alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$rowf["gml_id"]."&amp;eig=n"; 
     157                                        if ($idanzeige) {echo "&amp;id=j";} 
    166158                                        if ($showkey)   {echo "&amp;showkey=j";} 
    167                                         echo "' title='Flurst&uuml;cksnachweis'>Flurst&uuml;ck " 
    168                                         ."<img src='ico/Flurstueck_Link.png' width='16' height='16' alt=''>" 
    169                                 ."</a>" 
    170                         ."</p></td>" 
    171                 ."\n</tr>"; 
     159                                        echo "' title='Flurst&uuml;cksnachweis'>Flurst&uuml;ck "; 
     160                                        echo "<img src='ico/Flurstueck_Link.png' width='16' height='16' alt=''>"; 
     161                                echo "</a>"; 
     162                        echo "</p></td>"; 
     163                echo "\n</tr>"; 
    172164 
    173165                $j++; 
     
    178170                if ($debug > 2) {echo "<p class='dbg'>SQL='".$sql."'<br>$1 = '".$gml_bs."'</p>";} 
    179171        } */ 
     172 
    180173        pg_free_result($resf); 
    181174        return $j; 
     
    192185        // Schleife 1: N a m e n s n u m m e r 
    193186        // Beziehung: ax_namensnummer >istBestandteilVon> ax_buchungsblatt 
    194         global $debug, $gkz, $showkey; 
     187        global $debug, $gkz, $idanzeige, $showkey; 
    195188 
    196189        // Link ÃŒber Java-Class? (Ja in alkisinlayausk.php, sonst normal) 
     
    203196        } // Beispiel-Link href='javascript:imFenster(\"alkislage.php?gkz= ... ."\")'>xxx "; 
    204197 
    205         $sqln="SELECT n.gml_id, n.laufendenummernachdin1421 AS lfd, n.zaehler, n.nenner, n.artderrechtsgemeinschaft AS adr, n.beschriebderrechtsgemeinschaft as beschr, n.eigentuemerart, n.anlass, n.benennt, wn.v AS adrv, we.v AS eiartv 
    206 FROM ax_namensnummer n  
    207 LEFT JOIN alkis_wertearten wn ON cast(n.artderrechtsgemeinschaft AS character varying)=wn.k AND wn.element='ax_namensnummer' AND wn.bezeichnung='artderrechtsgemeinschaft'  
    208 LEFT JOIN alkis_wertearten we ON cast(n.eigentuemerart AS character varying)=we.k AND we.element='ax_namensnummer' AND we.bezeichnung='eigentuemerart' 
    209 WHERE n.istbestandteilvon= $1 AND n.endet IS NULL ORDER BY n.laufendenummernachdin1421;"; 
     198        $sqln="SELECT n.gml_id, n.laufendenummernachdin1421 AS lfd, n.zaehler, n.nenner, n.artderrechtsgemeinschaft AS adr, n.beschriebderrechtsgemeinschaft as beschr, n.eigentuemerart, n.anlass "; 
     199        $sqln.="FROM ax_namensnummer n WHERE n.istbestandteilvon= $1 AND n.endet IS NULL ORDER BY n.laufendenummernachdin1421;"; 
    210200 
    211201        $v = array($gmlid); // 16 Stellen bei Relationen 
     
    214204 
    215205        if (!$resn) { 
    216                 echo "\n<p class='err'>Fehler bei Eigent&uuml;mer</p>\n"; 
     206                echo "<p class='err'>Fehler bei Eigent&uuml;mer</p>\n"; 
    217207                if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sqln."<br>$1=gml= '".$gmlid."'</p>";} 
    218208        } 
    219209 
    220         echo "\n<table class='eig'>"; 
     210        echo "\n\n<table class='eig'>"; 
    221211        $n=0; // Z.NamNum. 
    222212 
    223213        while($rown = pg_fetch_array($resn)) { 
    224214                $gmlnn=$rown["gml_id"]; 
    225                 $namnum=kurz_namnr($rown["lfd"]); 
    226                 $rechtsg=$rown["adr"]; 
    227                 echo "\n<tr>" 
    228                         ."\n\t<td class='nanu' title='Namens-Nummer'>\n\t\t<p>" // Sp. 1 
    229                                 .$namnum."&nbsp;" // VOR die Tabelle: "EigentÃŒmer" 
    230                         ."</p>\n\t</td>" 
    231                         . "\n\t<td>"; // Sp. 2 
     215                echo "\n<tr>"; 
     216                        echo "\n\t<td class='nanu' title='Namens-Nummer'>\n\t\t<p>"; // Sp. 1 
     217                                // VOR die Tabelle: "EigentÃŒmer" 
     218                                $namnum=kurz_namnr($rown["lfd"]); 
     219                                echo $namnum."&nbsp;"; 
     220                                if ($idanzeige) {linkgml($gkz, $rown["gml_id"], "Namensnummer", "ax_namensnummer");} 
     221                        echo "</p>\n\t</td>"; 
     222 
     223                        echo "\n\t<td>"; // Sp. 2 
     224                        $rechtsg=$rown["adr"]; 
    232225                        if ($rechtsg != "" ) { 
    233226                                if ($rechtsg == 9999) { // sonstiges 
    234227                                        echo "\n\t\t<p class='zus' title='Beschrieb der Rechtsgemeinschaft'>".htmlentities($rown["beschr"], ENT_QUOTES, "UTF-8")."</p>"; 
    235228                                } else { 
    236                                         echo "\n\t\t<p class='zus' title='Art der Rechtsgemeinschaft'>".htmlentities($rown["adrv"], ENT_QUOTES, "UTF-8")."</p>"; 
     229                                        echo "\n\t\t<p class='zus' title='Art der Rechtsgemeinschaft'>".htmlentities(rechtsgemeinschaft($rown["adr"]), ENT_QUOTES, "UTF-8")."</p>"; 
    237230                                } 
    238231                        } 
     
    247240                        // die zu allen Namensnummern der Rechtsgemeinschaft eine Relation besitzt. 
    248241 
     242 
    249243                // Schleife 2: P e r s o n 
    250244                // Beziehung: ax_person  <benennt<  ax_namensnummer 
    251  
    252         //      $sqlp="SELECT p.gml_id, p.nachnameoderfirma, p.vorname, p.geburtsname, p.geburtsdatum, p.namensbestandteil, p.akademischergrad " 
    253         //      ."FROM ax_person p JOIN ax_namensnummer nn ON nn.benennt=p.gml_id WHERE nn.gml_id= $1 AND p.endet IS NULL AND nn.endet IS NULL;"; 
    254         //      $v = array($gmlnn); 
    255  
    256         // 03.03.16: 
    257                 $sqlp="SELECT gml_id, nachnameoderfirma, vorname, geburtsname, geburtsdatum, namensbestandteil, akademischergrad " 
    258                 ."FROM ax_person WHERE gml_id= $1 AND endet IS NULL;"; 
    259                 $gmlpers=$rown["benennt"]; 
    260                 $v = array($gmlpers); // gml_id von ax_person 
     245                $sqlp ="SELECT p.gml_id, p.nachnameoderfirma, p.vorname, p.geburtsname, p.geburtsdatum, p.namensbestandteil, p.akademischergrad "; 
     246                $sqlp.="FROM ax_person p JOIN ax_namensnummer nn ON nn.benennt=p.gml_id WHERE nn.gml_id= $1 AND p.endet IS NULL AND nn.endet IS NULL;"; 
     247 
     248                $v = array($gmlnn); 
    261249                $resp = pg_prepare("", $sqlp); 
    262250                $resp = pg_execute("", $v); 
     251 
    263252                if (!$resp) { 
    264253                        echo "\n\t<p class='err'>Fehler bei Person</p>\n"; 
    265                         if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sqlp."<br>$1=gml= '".$gmlpers."'</p>";} 
     254                        if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sqlp."<br>$1=gml= '".$gmlnn."'</p>";} 
    266255                } 
    267256 
    268257                $i=0; // cnt Person 
    269                 while($rowp = pg_fetch_array($resp)) { // Schleife weglassen? nn >benennt> Person ist KEIN Array! 
    270                         $diePerson=""; //++ Anrede? 
     258                while($rowp = pg_fetch_array($resp)) {  // ++ Schleife? nn >benennt> Person ist kein Array! 
     259                        $diePerson=""; 
    271260                        if ($rowp["akademischergrad"] <> "") {$diePerson=$rowp["akademischergrad"]." ";} 
    272261                        $diePerson.=$rowp["nachnameoderfirma"]; 
     
    277266                        $diePerson=htmlentities($diePerson, ENT_QUOTES, "UTF-8"); // Umlaute 
    278267 
    279                         if ($i > 0) { // Spalte 1 enthÀlt die Namensnummer, nur in Zeile 0 
     268                        // Spalte 1 enthÀlt die Namensnummer, nur in Zeile 0 
     269                        if ($i > 0) { 
    280270                                echo "\n<tr>\n\t<td>&nbsp;</td>\n\t<td>"; 
    281271                        } 
    282272                        // Spalte 2 = Angaben 
    283                         $eiartkey=$rown["eigentuemerart"]; // Key 
    284                         $eiart=$rown["eiartv"]; // Value 
     273                        $eiartkey=$rown["eigentuemerart"]; 
     274                        $eiart=eigentuemerart($eiartkey); 
    285275                        echo "\n\t\t<p class='geig' title='Eigent&uuml;merart: ".$eiart."'>".$diePerson."</p>\n\t</td>"; 
    286276 
    287277                        // Spalte 3 = Link 
    288278                        echo "\n\t<td>\n\t\t<p class='nwlink noprint'>"; 
     279                                if ($idanzeige) {linkgml($gkz, $rowp["gml_id"], "Person", "ax_person"); echo "&nbsp";} 
    289280                                if ($showkey AND $eiartkey != '') { // oft leer 
    290281                                                echo "<span class='key'>(".$eiartkey.")</span> "; 
    291282                                } 
    292                                 echo "\n\t\t<a href='".$lnkvor."alkisnamstruk.php?gkz=".$gkz."&amp;gmlid=".$rowp[0]; 
     283                                echo "\n\t\t<a href='".$lnkvor."alkisnamstruk.php?gkz=".$gkz."&amp;gmlid=".$rowp["gml_id"]; 
     284                                if ($idanzeige) {echo "&amp;id=j";} 
    293285                                if ($showkey)   {echo "&amp;showkey=j";} 
    294                                 echo $lnknach."' title='vollst&auml;ndiger Name und Adresse eines Eigent&uuml;mers'>".$eiart 
    295                                 ." <img src='ico/Eigentuemer.png' width='16' height='16' alt=''></a>\n\t\t</p>" 
    296                         ."\n\t</td>\n</tr>"; 
     286                                echo $lnknach."' title='vollst&auml;ndiger Name und Adresse eines Eigent&uuml;mers'>".$eiart; 
     287                                echo " <img src='ico/Eigentuemer.png' width='16' height='16' alt=''></a>\n\t\t</p>"; 
     288                        echo "\n\t</td>\n</tr>"; 
    297289 
    298290                        if ($mitadresse) { 
    299291                                // Schleife 3:  A d r e s s e  (OPTIONAL) 
    300                                 $sqla ="SELECT a.gml_id, a.ort_post, a.postleitzahlpostzustellung AS plz, a.strasse, a.hausnummer, a.bestimmungsland " 
    301                                 ."FROM ax_anschrift a JOIN ax_person p ON a.gml_id=ANY(p.hat) WHERE p.gml_id= $1 AND a.endet IS NULL AND p.endet IS NULL LIMIT 2;"; 
     292                                $sqla ="SELECT a.gml_id, a.ort_post, a.postleitzahlpostzustellung AS plz, a.strasse, a.hausnummer, a.bestimmungsland  
     293                                FROM ax_anschrift a JOIN ax_person p ON a.gml_id=ANY(p.hat) WHERE p.gml_id= $1 AND a.endet IS NULL AND p.endet IS NULL LIMIT 2;"; 
    302294                                $gmlp=$rowp["gml_id"]; // Person 
    303295                                $v = array($gmlp); 
     
    327319                                                echo "\n<tr>\n\t<td>&nbsp;</td>"; //Sp. 1 
    328320                                                echo "\n\t<td><p class='gadr'>"; //Sp. 2 
    329                                                 if ($str.$hsnr != "") {echo $str." ".$hsnr."<br>";} 
    330                                                 if ($plz.$ort != "") {echo $plz." ".$ort;} 
    331                                                 if ($land != "" and $land != "DEUTSCHLAND") {echo ", ".$land;} 
    332                                                 echo "</p></td>\n\t<td>"; // Sp. 3 
    333                                                 echo "&nbsp;</td>\n</tr>"; 
     321                                                if ($str.$hsnr != "") { 
     322                                                        echo $str." ".$hsnr."<br>"; 
     323                                                } 
     324                                                if ($plz.$ort != "") { 
     325                                                        echo $plz." ".$ort; 
     326                                                } 
     327                                                if ($land != "" and $land != "DEUTSCHLAND") { 
     328                                                        echo ", ".$land; 
     329                                                } 
     330                                                echo "</p></td>"; 
     331                                                echo "\n\t<td>"; // Sp. 3 
     332                                                if ($idanzeige) { 
     333                                                        echo "<p class='nwlink noprint'>"; 
     334                                                        linkgml($gkz, $gmla, "Adresse", "ax_adresse"); 
     335                                                        echo "</p>"; 
     336                                                } else {  
     337                                                        echo "&nbsp;"; 
     338                                                } 
     339                                                echo "</td>\n</tr>"; 
    334340                                        } else { // manchmal dopplete Angaben (_straße / _str.) 
    335341                                                echo "\n<tr>\n\t<td>&nbsp;</td>\n\t<td><p class='dbg' title='Siehe Auskunft zur Person'>weitere Adresse</p></td>\n\t<td>&nbsp;</td>\n</tr>"; 
     
    348354                                $nenner=str_replace(".", ",", $rown["nenner"]); 
    349355                                $comnt="Anteil der Berechtigten in Bruchteilen (Par. 47 GBO) an einem gemeinschaftlichen Eigentum (Grundst&uuml;ck oder Recht)."; 
    350                                 echo "\n<tr>\n\t<td>&nbsp;</td>" // Sp. 1 
    351                                 ."\n\t<td><p class='avh' title='".$comnt."'>".$zaehler."/".$nenner." Anteil</p></td>" 
    352                                 ."\n\t<td>&nbsp;</td>\n</tr>"; // Sp. 3 
     356                                echo "\n<tr>\n\t<td>&nbsp;</td>"; // Sp. 1 
     357                                echo "\n\t<td><p class='avh' title='".$comnt."'>".$zaehler."/".$nenner." Anteil</p></td>"; 
     358                                echo "\n\t<td>&nbsp;</td>\n</tr>"; // Sp. 3 
    353359                        } 
    354360                } // End Loop Person 
    355                 if ($i == 0) { // Kine Parson. Kommt vor hinter Zeile "Erbengemeinschaft", ist dann KEIN Fehler 
    356                         if ($rechtsg != 9999) { 
    357                                 echo "\n<p class='err'>(Die Person mit der ID '".$gmlpers."' fehlt im Datenbestand)</p>"; 
    358                         } else { 
    359                                 if ($debug > 1) { // nur bei Entwicklung 
    360                                         echo "\n\t\t<p class='dbg'>Rechtsgemeinschaft = '".$rechtsg."'</p>"; 
     361                if ($i == 0) { // kommt vor hinter Zeile Erbengemeinschaft, ist dann KEIN Fehler 
     362                        if ($debug > 1) { // nur bei Entwicklung 
     363                                echo "\n<p class='dbg'>Rechtsgemeinschaft = '".$rechtsg."'</p>"; 
     364                                if ($rechtsg != 9999) { 
     365                                        echo "\n<p class='dbg'>Fehler: Keine Person zur Namensnummer ".$namnum."</p>"; 
     366                                //      if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".$sqlp."<br>$1 = gml(NamNum) = '".$gmlnn."'</p>";} 
    361367                                } 
    362368                        } 
    363                         echo "</td>\n\t<td>&nbsp;</td>\n</tr>"; 
     369                        echo "</td>\n\t<td>&nbsp;</td>\n<tr>"; 
    364370                } 
    365371                $n++; // cnt NamNum 
    366372        } // End Loop NamNum 
    367         echo "\n</table>"; 
     373        echo "\n</table>\n"; 
    368374        if ($n == 0) { // bei "Fiktives Blatt" KEIN Fehler  
    369                 if ($debug > 1) { 
    370                         echo "\n<p class='dbg'>keine Namensnummern zum Blatt</p>"; 
    371                         if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".$sqln."<br>$1=gml(Blatt)= '".$gmlid."'</p>";} 
    372                 } 
     375                if ($debug > 1) {echo "<p class='dbg'>keine Namensnummern zum Blatt</p>";} 
     376        //      if ($debug > 2) {echo "<p class='dbg'>Namensnummern: SQL=<br>".$sqln."<br>$1=gml(Blatt)= '".$gmlid."'</p>";} 
    373377        } 
    374378        pg_free_result($resn); 
    375379        return $n;  
    376 } // End function eigentuemer 
    377  
     380} // End Function eigentuemer 
     381 
     382// **  Functions  zum   E n t s c h l u e s s e l n  ** 
     383 
     384// Entschluesslung ax_person.anrede 
     385function anrede($key) { 
     386        switch ($key) { 
     387                case 1000: $wert = "Frau"; break; 
     388                case 2000: $wert = "Herr"; break; 
     389                case 3000: $wert = "Firma"; break; 
     390                default:   $wert = ""; break; 
     391        } 
     392        return $wert; 
     393} 
     394 
     395// Entschluesslung AX_Namensnummer.artDerRechtsgemeinschaft 
     396function rechtsgemeinschaft($key) { 
     397        switch ($key) { 
     398                case 1000: $wert = "Erbengemeinschaft"; break; 
     399                case 2000: $wert = "GÃŒtergemeinschaft"; break; 
     400                case 3000: $wert = "BGB-Gesellschaft"; break; 
     401                case 9999: $wert = "Sonstiges"; break;  // dann: beschriebDerRechtsgemeinschaft 
     402                default:   $wert = ""; break; 
     403        } 
     404        return $wert; 
     405} 
     406 
     407// Entschluesslung AX_Namensnummer.eigentuemerart 
     408function eigentuemerart($key) { 
     409        // Die hÀufigsten Werte direkt aus den Programmcode liefern, ggf. angepasst. 
     410        // FÃŒr seltene Werte in der Datenbank nachschlagen. 
     411        // SchlÃŒsseltabelle dazu ist vorhanden seit 2014-01-22. 
     412        // Hier Verwendung fÃŒr Text zum Link. 
     413        // FÃŒr korrekte Wiedergabe der amtlichen Werte einen Join auf Tabelle verwenden statt dieser Function.  
     414        global $debug; 
     415        switch ($key) { 
     416                case 1000: $wert = "Nat&uuml;rliche Person"; break; // singular fuer Link-Text 
     417                case 2000: $wert = "Juristische Person"; break; // singl. 
     418                case 3000: $wert = "Körperschaft"; break; // singl. 
     419                case 4000: $wert = "Kirchliches Eigentum"; break; 
     420                case 4100: $wert = "Evangelische Kirche"; break; 
     421                case 4200: $wert = "Katholische Kirche"; break; 
     422                case 5100: $wert = "Bundesrepublik Deutschland"; break; 
     423                case 5400: $wert = "Kreis"; break; 
     424                case 5500: $wert = "Gemeinde"; break; 
     425                case 5920: $wert = "Land"; break; // "Eigenes Bundesland" 
     426                case "":   $wert = "Person"; break; // falls (noch) nicht gefuellt 
     427                default: // Datenbank-Abfrage 
     428                        $sql="SELECT bezeichner FROM v_namnum_eigart WHERE wert= $1 ;"; 
     429                        $v=array($key); 
     430                        $res=pg_prepare("", $sql); 
     431                        $res=pg_execute("", $v); 
     432                        if ($res) { 
     433                                $row=pg_fetch_array($res); 
     434                                $wert=htmlentities($row["bezeichner"], ENT_QUOTES, "UTF-8"); 
     435                                if ($wert == "") {$wert="** Eigent&uuml;merart '".$key."' nicht gefunden **";} 
     436                        } else { 
     437                                echo "\n\t<p class='err'>Fehler bei DB-Zugriff auf EigentÃŒmerart.</p>\n"; 
     438                                $wert="** Unbekannte Eigent&uuml;merart '".$key."' **"; 
     439                        } 
     440                        pg_free_result($res); 
     441                        break; 
     442        } 
     443        return $wert; 
     444} 
     445 
     446// Entschluesslung ax_buchungsblatt.blattart 
     447function blattart($key) { 
     448        switch ($key) { 
     449                case 1000: $wert = "Grundbuchblatt"; break; 
     450                // Ein Grundbuchblatt ist ein Buchungsblatt, das die Buchung im Grundbuch enthÀlt. 
     451                case 2000: $wert = "Katasterblatt"; break; 
     452                // Ein Katasterblatt ist ein Buchungsblatt, das die Buchung im Liegenschaftskataster enthÀlt. 
     453                case 3000: $wert = "Pseudoblatt"; break; 
     454                // Ein Pseudoblatt ist ein Buchungsblatt, das die Buchung, die bereits vor Eintrag im Grundbuch Rechtskraft erlangt hat, enthÀlt  
     455                // (z.B. Übernahme von Flurbereinigungsverfahren, Umlegungsverfahren). 
     456                case 5000: $wert = "Fiktives Blatt"; break; 
     457                // Das fiktive Blatt enthÀlt die aufgeteilten GrundstÃŒcke und Rechte als Ganzes.  
     458                // Es bildet um die Miteigentumsanteile eine fachliche Klammer. 
     459                default: $wert = "** Unbekannter Wert '".$key."'"; break; 
     460        } 
     461        return $wert; 
     462} 
     463// Entschluesslung ax_dienststelle.stellenart 
     464function dienststellenart($key) { 
     465        switch ($key) { 
     466                case 1000: $wert = "Grundbuchamt"; break; 
     467                case 1100: $wert = "Katasteramt"; break; 
     468                case 1200: $wert = "Finanzamt"; break; 
     469                case 1300: $wert = "Flurbereinigungsbeh&ouml;rde"; break; 
     470                case 1400: $wert = "Forstamt"; break; 
     471                case 1500: $wert = "Wasserwirtschaftsamt"; break; 
     472                case 1600: $wert = "Straßenbauamt"; break; 
     473                case 1700: $wert = "Gemeindeamt"; break; 
     474                case 1900: $wert = "Kreis- oder Stadtverwaltung"; break; 
     475                case 2000: $wert = "Wasser- und Bodenverband"; break; 
     476                case 2100: $wert = "Umlegungsstelle"; break; 
     477                case 2200: $wert = "Landesvermessungsverwaltung"; break; 
     478                case 2300: $wert = "&Ouml;bVI"; break; 
     479                case 2400: $wert = "Bundeseisenbahnverm&ouml;gen"; break; 
     480                case 2500: $wert = "Landwirtschaftskammer"; break; 
     481                default: $wert = "** Unbekannter Wert '".$key."'"; break; 
     482        } 
     483        return $wert; 
     484} 
    378485?> 
Note: See TracChangeset for help on using the changeset viewer.