Changeset 376 for trunk/info/info/alkis/alkisfkt.php
- Timestamp:
- 12/01/16 12:43:03 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/info/info/alkis/alkisfkt.php
r372 r376 1 1 <?php 2 2 /* Modul: alkisfkt.php 3 3 4 ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo). 4 5 Functions 5 6 6 7 Version: 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 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) 18 12 */ 19 13 20 14 function footer($gmlid, $link, $append) { 21 15 // Einen Seitenfuss ausgeben. 22 // Den URL-Parameter "&id=j/n" und "&showkey=j/n" in allen Kombinationen umschalten lassen.23 16 // Die Parameter &gkz= und &gmlid= kommen in allen Modulen einheitlich vor 24 25 // Der Parameter $append wird angehaengt wenn gefuellt 26 // Anwendung: &eig=j bei FS-NW, <yp=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>"; 17 // Den URL-Parameter "&showkey=j/n" umschalten lassen. 18 // $append wird angehaengt wenn gefuellt. Anwendung: &eig=j bei FS-NW, <yp=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>"; 32 23 33 24 // Spalte 1: Info Benutzerkennung 34 echo "\n\t<td title='Info'><i>Benutzer: ".$customer."</i></td>"; 25 if ($auth == "mapbender") { 26 $customer=$_SESSION["mb_user_name"]; 27 echo "\n\t<td title='Info'><i>Benutzer: ".$customer."</i></td>"; 28 } else { 29 echo "\n\t<td> </td>"; 30 } 35 31 36 32 // Spalte 2: Umschalter 37 33 echo "\n\t<td title='Konfiguration'>"; 38 34 $mylink ="\n\t\t<a class='gmlid' href='".$link."gkz=".$gkz."&gmlid=".$gmlid.$append; 39 if ($showkey) {$mykey = "&showkey=j";} else {$mykey = "&showkey=n";} 40 if ($idumschalter) { // fuer Entwicklung ODER Test 41 if ($idanzeige) {$myid = "&id=j";} else {$myid = "&id=n";} 42 43 // Umschalter nur ausgeben, wenn in conf gesetzt 44 if ($idanzeige) { // Umschalten ID ein/aus 45 echo $mylink.$mykey."&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."&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."&showkey=n' title='Verschlüsselungen ausblenden'>Schlüssel aus</a>"; 35 36 if ($showkey) { // Umschalten SchlÃŒssel ein/aus 37 echo $mylink."&showkey=n' title='Verschlüsselungen ausblenden'>Schlüssel aus</a>"; 58 38 } else { 59 echo $mylink. $myid."&showkey=j' title='Verschlüsselungen anzeigen'>Schlüssel ein</a>";39 echo $mylink."&showkey=j' title='Verschlüsselungen anzeigen'>Schlüssel ein</a>"; 60 40 } 61 41 echo "\n\t</td>"; 62 42 63 43 // Spalte 3 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";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"; 67 47 return 0; 68 48 } 69 49 70 function 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."&gmlid=".$gml."&otyp=".$typ."&tabelle=".$tabelle."'>"; 77 echo "<img src='ico/Beziehung_link.png' width='16' height='16' alt=''>".$kurzid."</a>"; 78 return 0; 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ü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ück hat ein Recht an diesem.'>Keine berechtigte Buchung</p>"; 80 } else { 81 echo "</b></p>"; 82 } 83 pg_free_result($resan); 79 84 } 80 85 … … 85 90 $kurz=ltrim($kurz, "0"); // fuehrende Nullen am Anfang 86 91 $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>"; 87 94 return $kurz; 88 95 } 89 96 90 function bnw_fsdaten($con, $lfdnr, $gml_bs, $ba, $anteil, $bvnraus ) {97 function bnw_fsdaten($con, $lfdnr, $gml_bs, $ba, $anteil, $bvnraus, $bartkey, $bartstory) { 91 98 /* Bestandsnachweis - Flurstuecksdaten 92 99 Die Tabellenzeilen mit den Flurstuecksdaten zu einer Buchungsstelle im Bestandsnachweis ausgeben. 93 100 Die Funktion wird je einmal aufgerufen fÃŒr die Buchungen direkt auf dem GB (Normalfall). 94 101 Weiterere Aufrufe ggf. bei Erbbaurecht fÃŒr die mit "an" verknuepften Buchungsstellen. 95 Table-Tag und Kopfzeile im aufrufenden Programm. */96 global $debug, $gkz, $ idanzeige, $showkey;102 Table-Tag und Tabellenkopf werden im aufrufenden Programm ausgegeben. */ 103 global $debug, $gkz, $showkey, $filtkreis, $filtgem; 97 104 98 105 // F L U R S T U E C K … … 100 107 FROM ax_flurstueck f JOIN ax_buchungsstelle s ON f.istgebucht=s.gml_id 101 108 LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer 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); 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;"; 105 117 $resf = pg_prepare("", $sql); 106 118 $resf = pg_execute("", $v); … … 109 121 if($bvnraus) { // nur bei direkten Buchungen die lfdNr ausgeben 110 122 $bvnr=str_pad($lfdnr, 4, "0", STR_PAD_LEFT); 123 } else { 124 $bvnr=""; 111 125 } 112 126 $altlfdnr=""; … … 123 137 echo "\n<tr>"; // eine Zeile je Flurstueck 124 138 // Sp. 1-3 der Tab. aus Buchungsstelle, nicht aus FS 125 if($lfdnr == $altlfdnr) { // gleiches Grundstueck 126 echo "\n\t<td> </td>"; 127 echo "\n\t<td> </td>"; 128 echo "\n\t<td> </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> ";} // Schluessel 139 if($lfdnr == $altlfdnr) { // gleiches Grundstueck 140 echo "\n\t<td> </td>" 141 ."\n\t<td> </td>" 142 ."\n\t<td> </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> ";} // Schluessel 138 150 echo $ba; // entschluesselt 139 echo "</td>" ;140 echo"\n\t<td> </td>"; // Anteil151 echo "</td>" 152 ."\n\t<td> </td>"; // Anteil 141 153 $altlfdnr=$lfdnr; 142 154 } 143 155 //Sp. 4-7 aus Flurstueck 144 156 echo "\n\t<td>"; 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ü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."&gmlid=".$rowf["gml_id"]."&eig=n"; 157 if ($idanzeige) {echo "&id=j";} 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."&gmlid=".$rowf["gml_id"]."&eig=n"; 158 166 if ($showkey) {echo "&showkey=j";} 159 echo "' title='Flurstücksnachweis'>Flurstü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>";167 echo "' title='Flurstücksnachweis'>Flurstück " 168 ."<img src='ico/Flurstueck_Link.png' width='16' height='16' alt=''>" 169 ."</a>" 170 ."</p></td>" 171 ."\n</tr>"; 164 172 165 173 $j++; … … 170 178 if ($debug > 2) {echo "<p class='dbg'>SQL='".$sql."'<br>$1 = '".$gml_bs."'</p>";} 171 179 } */ 172 173 180 pg_free_result($resf); 174 181 return $j; … … 185 192 // Schleife 1: N a m e n s n u m m e r 186 193 // Beziehung: ax_namensnummer >istBestandteilVon> ax_buchungsblatt 187 global $debug, $gkz, $ idanzeige, $showkey;194 global $debug, $gkz, $showkey; 188 195 189 196 // Link ÃŒber Java-Class? (Ja in alkisinlayausk.php, sonst normal) … … 196 203 } // Beispiel-Link href='javascript:imFenster(\"alkislage.php?gkz= ... ."\")'>xxx "; 197 204 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;"; 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;"; 200 210 201 211 $v = array($gmlid); // 16 Stellen bei Relationen … … 204 214 205 215 if (!$resn) { 206 echo " <p class='err'>Fehler bei Eigentümer</p>\n";216 echo "\n<p class='err'>Fehler bei Eigentümer</p>\n"; 207 217 if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sqln."<br>$1=gml= '".$gmlid."'</p>";} 208 218 } 209 219 210 echo "\n \n<table class='eig'>";220 echo "\n<table class='eig'>"; 211 221 $n=0; // Z.NamNum. 212 222 213 223 while($rown = pg_fetch_array($resn)) { 214 224 $gmlnn=$rown["gml_id"]; 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." "; 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"]; 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." " // VOR die Tabelle: "EigentÃŒmer" 230 ."</p>\n\t</td>" 231 . "\n\t<td>"; // Sp. 2 225 232 if ($rechtsg != "" ) { 226 233 if ($rechtsg == 9999) { // sonstiges 227 234 echo "\n\t\t<p class='zus' title='Beschrieb der Rechtsgemeinschaft'>".htmlentities($rown["beschr"], ENT_QUOTES, "UTF-8")."</p>"; 228 235 } else { 229 echo "\n\t\t<p class='zus' title='Art der Rechtsgemeinschaft'>".htmlentities( rechtsgemeinschaft($rown["adr"]), ENT_QUOTES, "UTF-8")."</p>";236 echo "\n\t\t<p class='zus' title='Art der Rechtsgemeinschaft'>".htmlentities($rown["adrv"], ENT_QUOTES, "UTF-8")."</p>"; 230 237 } 231 238 } … … 240 247 // die zu allen Namensnummern der Rechtsgemeinschaft eine Relation besitzt. 241 248 242 243 249 // Schleife 2: P e r s o n 244 250 // Beziehung: ax_person <benennt< ax_namensnummer 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); 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 249 261 $resp = pg_prepare("", $sqlp); 250 262 $resp = pg_execute("", $v); 251 252 263 if (!$resp) { 253 264 echo "\n\t<p class='err'>Fehler bei Person</p>\n"; 254 if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sqlp."<br>$1=gml= '".$gml nn."'</p>";}265 if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sqlp."<br>$1=gml= '".$gmlpers."'</p>";} 255 266 } 256 267 257 268 $i=0; // cnt Person 258 while($rowp = pg_fetch_array($resp)) { // ++ Schleife? nn >benennt> Person ist keinArray!259 $diePerson=""; 269 while($rowp = pg_fetch_array($resp)) { // Schleife weglassen? nn >benennt> Person ist KEIN Array! 270 $diePerson=""; //++ Anrede? 260 271 if ($rowp["akademischergrad"] <> "") {$diePerson=$rowp["akademischergrad"]." ";} 261 272 $diePerson.=$rowp["nachnameoderfirma"]; … … 266 277 $diePerson=htmlentities($diePerson, ENT_QUOTES, "UTF-8"); // Umlaute 267 278 268 // Spalte 1 enthÀlt die Namensnummer, nur in Zeile 0 269 if ($i > 0) { 279 if ($i > 0) { // Spalte 1 enthÀlt die Namensnummer, nur in Zeile 0 270 280 echo "\n<tr>\n\t<td> </td>\n\t<td>"; 271 281 } 272 282 // Spalte 2 = Angaben 273 $eiartkey=$rown["eigentuemerart"]; 274 $eiart= eigentuemerart($eiartkey);283 $eiartkey=$rown["eigentuemerart"]; // Key 284 $eiart=$rown["eiartv"]; // Value 275 285 echo "\n\t\t<p class='geig' title='Eigentümerart: ".$eiart."'>".$diePerson."</p>\n\t</td>"; 276 286 277 287 // Spalte 3 = Link 278 288 echo "\n\t<td>\n\t\t<p class='nwlink noprint'>"; 279 if ($idanzeige) {linkgml($gkz, $rowp["gml_id"], "Person", "ax_person"); echo " ";}280 289 if ($showkey AND $eiartkey != '') { // oft leer 281 290 echo "<span class='key'>(".$eiartkey.")</span> "; 282 291 } 283 echo "\n\t\t<a href='".$lnkvor."alkisnamstruk.php?gkz=".$gkz."&gmlid=".$rowp["gml_id"]; 284 if ($idanzeige) {echo "&id=j";} 292 echo "\n\t\t<a href='".$lnkvor."alkisnamstruk.php?gkz=".$gkz."&gmlid=".$rowp[0]; 285 293 if ($showkey) {echo "&showkey=j";} 286 echo $lnknach."' title='vollständiger Name und Adresse eines Eigentü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>";294 echo $lnknach."' title='vollständiger Name und Adresse eines Eigentümers'>".$eiart 295 ." <img src='ico/Eigentuemer.png' width='16' height='16' alt=''></a>\n\t\t</p>" 296 ."\n\t</td>\n</tr>"; 289 297 290 298 if ($mitadresse) { 291 299 // Schleife 3: A d r e s s e (OPTIONAL) 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;";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;"; 294 302 $gmlp=$rowp["gml_id"]; // Person 295 303 $v = array($gmlp); … … 319 327 echo "\n<tr>\n\t<td> </td>"; //Sp. 1 320 328 echo "\n\t<td><p class='gadr'>"; //Sp. 2 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 " "; 338 } 339 echo "</td>\n</tr>"; 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 " </td>\n</tr>"; 340 334 } else { // manchmal dopplete Angaben (_straÃe / _str.) 341 335 echo "\n<tr>\n\t<td> </td>\n\t<td><p class='dbg' title='Siehe Auskunft zur Person'>weitere Adresse</p></td>\n\t<td> </td>\n</tr>"; … … 354 348 $nenner=str_replace(".", ",", $rown["nenner"]); 355 349 $comnt="Anteil der Berechtigten in Bruchteilen (Par. 47 GBO) an einem gemeinschaftlichen Eigentum (Grundstück oder Recht)."; 356 echo "\n<tr>\n\t<td> </td>" ;// Sp. 1357 echo "\n\t<td><p class='avh' title='".$comnt."'>".$zaehler."/".$nenner." Anteil</p></td>";358 echo"\n\t<td> </td>\n</tr>"; // Sp. 3350 echo "\n<tr>\n\t<td> </td>" // Sp. 1 351 ."\n\t<td><p class='avh' title='".$comnt."'>".$zaehler."/".$nenner." Anteil</p></td>" 352 ."\n\t<td> </td>\n</tr>"; // Sp. 3 359 353 } 360 354 } // End Loop Person 361 if ($i == 0) { // kommt vor hinter Zeile Erbengemeinschaft, ist dann KEIN Fehler362 if ($ debug > 1) { // nur bei Entwicklung363 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>";}367 } 368 } 369 echo "</td>\n\t<td> </td>\n< tr>";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 } 362 } 363 echo "</td>\n\t<td> </td>\n</tr>"; 370 364 } 371 365 $n++; // cnt NamNum 372 366 } // End Loop NamNum 373 echo "\n</table> \n";367 echo "\n</table>"; 374 368 if ($n == 0) { // bei "Fiktives Blatt" KEIN Fehler 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>";} 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 } 377 373 } 378 374 pg_free_result($resn); 379 375 return $n; 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 385 function 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 396 function 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 408 function 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ü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ü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ümerart '".$key."' **"; 439 } 440 pg_free_result($res); 441 break; 442 } 443 return $wert; 444 } 445 446 // Entschluesslung ax_buchungsblatt.blattart 447 function 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 464 function 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ö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 = "ÖbVI"; break; 479 case 2400: $wert = "Bundeseisenbahnvermögen"; break; 480 case 2500: $wert = "Landwirtschaftskammer"; break; 481 default: $wert = "** Unbekannter Wert '".$key."'"; break; 482 } 483 return $wert; 484 } 376 } // End function eigentuemer 377 485 378 ?>
Note: See TracChangeset
for help on using the changeset viewer.