[315] | 1 | <?php |
---|
| 2 | /* Modul: alkisfkt.php |
---|
| 3 | ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo). |
---|
| 4 | Functions |
---|
| 5 | |
---|
| 6 | 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 |
---|
[330] | 13 | 2014-09-09 PostNAS 0.8: ohne Tab. "alkis_beziehungen", mehr "endet IS NULL", Spalten varchar statt integer |
---|
[333] | 14 | 2014-09-15 Bei Relationen den Timestamp abschneiden |
---|
[339] | 15 | 2014-09-30 Umbenennung SchlÃŒsseltabellen (Prefix), RÃŒckbau substring(gml_id) |
---|
[350] | 16 | 2014-12-30 class='fsnr' |
---|
[355] | 17 | 2015-12-09 Austausch .ico durch .png |
---|
[315] | 18 | */ |
---|
| 19 | |
---|
[129] | 20 | function footer($gmlid, $link, $append) { |
---|
[315] | 21 | // Einen Seitenfuss ausgeben. |
---|
| 22 | // Den URL-Parameter "&id=j/n" und "&showkey=j/n" in allen Kombinationen umschalten lassen. |
---|
| 23 | // 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 |
---|
[129] | 27 | global $gkz, $idumschalter, $idanzeige, $showkey, $hilfeurl; |
---|
[315] | 28 | |
---|
| 29 | $customer=$_SESSION["mb_user_name"]; |
---|
| 30 | echo "\n<div class='confbereich noprint'>"; |
---|
| 31 | echo "\n<table class='outer'>\n<tr>"; |
---|
| 32 | |
---|
| 33 | // Spalte 1: Info Benutzerkennung |
---|
| 34 | echo "\n\t<td title='Info'><i>Benutzer: ".$customer."</i></td>"; |
---|
| 35 | |
---|
| 36 | // Spalte 2: Umschalter |
---|
| 37 | echo "\n\t<td title='Konfiguration'>"; |
---|
| 38 | $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'>"; |
---|
[355] | 46 | echo "<img src='ico/Beziehung_link.png' width='16' height='16' alt=''> ID aus</a>"; |
---|
[315] | 47 | } else { |
---|
| 48 | echo $mylink.$mykey."&id=j' title='Verfolgung der GML-ID in den ALKIS-Beziehungen'>"; |
---|
[355] | 49 | echo "<img src='ico/Beziehung_link.png' width='16' height='16' alt=''> ID ein</a>"; |
---|
[315] | 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>"; |
---|
| 58 | } else { |
---|
| 59 | echo $mylink.$myid."&showkey=j' title='Verschlüsselungen anzeigen'>Schlüssel ein</a>"; |
---|
| 60 | } |
---|
| 61 | echo "\n\t</td>"; |
---|
| 62 | |
---|
| 63 | // 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"; |
---|
| 67 | return 0; |
---|
| 68 | } |
---|
| 69 | |
---|
[330] | 70 | function linkgml($gkz, $gml, $typ, $tabelle) { |
---|
[315] | 71 | // Einen Link zur Verfolgung der Beziehungen mit dem Modul alkisrelationen.php |
---|
[330] | 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 |
---|
[315] | 75 | echo "\n\t\t<a target='_blank' title='ID ".$typ."' class='gmlid noprint' "; |
---|
[330] | 76 | echo "href='alkisrelationen.php?gkz=".$gkz."&gmlid=".$gml."&otyp=".$typ."&tabelle=".$tabelle."'>"; |
---|
[355] | 77 | echo "<img src='ico/Beziehung_link.png' width='16' height='16' alt=''>".$kurzid."</a>"; |
---|
[315] | 78 | return 0; |
---|
| 79 | } |
---|
| 80 | |
---|
| 81 | function kurz_namnr($lang) { |
---|
[330] | 82 | // Namensnummer kÌrzen. Nicht benötigte Stufen der Dezimalklassifikation abschneiden |
---|
[315] | 83 | $kurz=str_replace(".00","",$lang); // leere Stufen (nur am Ende) |
---|
| 84 | $kurz=str_replace("0000","",$kurz); // ganz leer (am Anfang) |
---|
| 85 | $kurz=ltrim($kurz, "0"); // fuehrende Nullen am Anfang |
---|
| 86 | $kurz=str_replace(".0",".",$kurz); // fuehrende Null jeder Stufe |
---|
| 87 | return $kurz; |
---|
| 88 | } |
---|
| 89 | |
---|
| 90 | function bnw_fsdaten($con, $lfdnr, $gml_bs, $ba, $anteil, $bvnraus) { |
---|
| 91 | /* Bestandsnachweis - Flurstuecksdaten |
---|
| 92 | Die Tabellenzeilen mit den Flurstuecksdaten zu einer Buchungsstelle im Bestandsnachweis ausgeben. |
---|
| 93 | Die Funktion wird je einmal aufgerufen fÃŒr die Buchungen direkt auf dem GB (Normalfall). |
---|
| 94 | Weiterere Aufrufe ggf. bei Erbbaurecht fÃŒr die mit "an" verknuepften Buchungsstellen. |
---|
[333] | 95 | Table-Tag und Kopfzeile im aufrufenden Programm. */ |
---|
| 96 | global $debug, $gkz, $idanzeige, $showkey; |
---|
[330] | 97 | |
---|
[315] | 98 | // F L U R S T U E C K |
---|
[333] | 99 | $sql="SELECT g.gemarkungsnummer, g.bezeichnung, f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.regierungsbezirk, f.kreis, f.gemeinde, f.amtlicheflaeche |
---|
[350] | 100 | FROM ax_flurstueck f JOIN ax_buchungsstelle s ON f.istgebucht=s.gml_id |
---|
[333] | 101 | 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;"; |
---|
[315] | 103 | |
---|
| 104 | $v = array($gml_bs); |
---|
| 105 | $resf = pg_prepare("", $sql); |
---|
| 106 | $resf = pg_execute("", $v); |
---|
| 107 | if (!$resf) {echo "<p class='err'>Fehler bei Flurstück</p>\n";} |
---|
| 108 | |
---|
| 109 | if($bvnraus) { // nur bei direkten Buchungen die lfdNr ausgeben |
---|
| 110 | $bvnr=str_pad($lfdnr, 4, "0", STR_PAD_LEFT); |
---|
| 111 | } |
---|
| 112 | $altlfdnr=""; |
---|
| 113 | $j=0; |
---|
| 114 | while($rowf = pg_fetch_array($resf)) { |
---|
| 115 | $flur=str_pad($rowf["flurnummer"], 3, "0", STR_PAD_LEFT); |
---|
| 116 | // ohne fuehrende Nullen? |
---|
| 117 | $fskenn=$rowf["zaehler"]; |
---|
| 118 | if ($rowf["nenner"] != "") { // Bruchnummer |
---|
| 119 | $fskenn.="/".$rowf["nenner"]; |
---|
| 120 | } |
---|
| 121 | $flae=number_format($rowf["amtlicheflaeche"],0,",",".") . " m²"; |
---|
| 122 | |
---|
| 123 | echo "\n<tr>"; // eine Zeile je Flurstueck |
---|
| 124 | // 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 |
---|
[330] | 133 | if ($idanzeige) {linkgml($gkz, $gml_bs, "Buchungsstelle", "ax_buchungsstelle");} |
---|
[315] | 134 | echo "</td>"; |
---|
| 135 | |
---|
| 136 | echo "\n\t<td>"; // Buchungsart |
---|
| 137 | // if ($showkey) {echo "<span class='key'>".$???."</span> ";} // Schluessel |
---|
| 138 | echo $ba; // entschluesselt |
---|
| 139 | echo "</td>"; |
---|
| 140 | echo "\n\t<td> </td>"; // Anteil |
---|
| 141 | $altlfdnr=$lfdnr; |
---|
| 142 | } |
---|
| 143 | //Sp. 4-7 aus Flurstueck |
---|
| 144 | 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>"; |
---|
[350] | 150 | echo "\n\t<td class='fsnr'><span class='wichtig'>".$fskenn."</span>"; |
---|
[330] | 151 | if ($idanzeige) {linkgml($gkz, $rowf["gml_id"], "Flurstück", "ax_flurstueck");} |
---|
[315] | 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";} |
---|
| 158 | if ($showkey) {echo "&showkey=j";} |
---|
| 159 | echo "' title='Flurstücksnachweis'>Flurstück "; |
---|
[355] | 160 | echo "<img src='ico/Flurstueck_Link.png' width='16' height='16' alt=''>"; |
---|
[315] | 161 | echo "</a>"; |
---|
| 162 | echo "</p></td>"; |
---|
| 163 | echo "\n</tr>"; |
---|
| 164 | |
---|
| 165 | $j++; |
---|
| 166 | } // Ende Flurstueck |
---|
[333] | 167 | |
---|
[334] | 168 | /* if ($j == 0 ) { // nur Entw. |
---|
| 169 | if ($debug > 1) {echo "<p class='dbg'>Keine FS gefunden</p>";} |
---|
| 170 | if ($debug > 2) {echo "<p class='dbg'>SQL='".$sql."'<br>$1 = '".$gml_bs."'</p>";} |
---|
| 171 | } */ |
---|
[333] | 172 | |
---|
[315] | 173 | pg_free_result($resf); |
---|
| 174 | return $j; |
---|
| 175 | } |
---|
| 176 | |
---|
| 177 | function eigentuemer($con, $gmlid, $mitadresse, $lnkclass) { |
---|
| 178 | // Tabelle mit Eigentuemerdaten zu einem Grundbuchblatt ausgeben |
---|
| 179 | // Sp.1 = Namennummer, Sp. 2 = Name / Adresse, Sp. 3 = Link |
---|
| 180 | // Parameter: |
---|
[330] | 181 | // $gmlid = ID GB-Blattes |
---|
| 182 | // $mitadresse = Option (true/false) ob die Adresszeile ausgegeben werden soll |
---|
[315] | 183 | // Return = Anzahl Namensnummern |
---|
| 184 | |
---|
| 185 | // Schleife 1: N a m e n s n u m m e r |
---|
[330] | 186 | // Beziehung: ax_namensnummer >istBestandteilVon> ax_buchungsblatt |
---|
[129] | 187 | global $debug, $gkz, $idanzeige, $showkey; |
---|
[123] | 188 | |
---|
[129] | 189 | // Link ÃŒber Java-Class? (Ja in alkisinlayausk.php, sonst normal) |
---|
| 190 | if ($lnkclass == "") { |
---|
| 191 | $lnkvor = ""; |
---|
| 192 | $lnknach = ""; |
---|
| 193 | } else { |
---|
| 194 | $lnkvor = "javascript:".$lnkclass."(\""; |
---|
| 195 | $lnknach = "\")"; |
---|
| 196 | } // Beispiel-Link href='javascript:imFenster(\"alkislage.php?gkz= ... ."\")'>xxx "; |
---|
[315] | 197 | |
---|
[330] | 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 "; |
---|
[332] | 199 | $sqln.="FROM ax_namensnummer n WHERE n.istbestandteilvon= $1 AND n.endet IS NULL ORDER BY n.laufendenummernachdin1421;"; |
---|
[315] | 200 | |
---|
[339] | 201 | $v = array($gmlid); // 16 Stellen bei Relationen |
---|
[315] | 202 | $resn = pg_prepare("", $sqln); |
---|
| 203 | $resn = pg_execute("", $v); |
---|
| 204 | |
---|
[123] | 205 | if (!$resn) { |
---|
| 206 | echo "<p class='err'>Fehler bei Eigentümer</p>\n"; |
---|
[339] | 207 | if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sqln."<br>$1=gml= '".$gmlid."'</p>";} |
---|
[315] | 208 | } |
---|
| 209 | |
---|
| 210 | echo "\n\n<table class='eig'>"; |
---|
| 211 | $n=0; // Z.NamNum. |
---|
| 212 | |
---|
| 213 | while($rown = pg_fetch_array($resn)) { |
---|
| 214 | $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." "; |
---|
[330] | 220 | if ($idanzeige) {linkgml($gkz, $rown["gml_id"], "Namensnummer", "ax_namensnummer");} |
---|
[315] | 221 | echo "</p>\n\t</td>"; |
---|
| 222 | |
---|
| 223 | echo "\n\t<td>"; // Sp. 2 |
---|
| 224 | $rechtsg=$rown["adr"]; |
---|
| 225 | if ($rechtsg != "" ) { |
---|
| 226 | if ($rechtsg == 9999) { // sonstiges |
---|
| 227 | echo "\n\t\t<p class='zus' title='Beschrieb der Rechtsgemeinschaft'>".htmlentities($rown["beschr"], ENT_QUOTES, "UTF-8")."</p>"; |
---|
| 228 | } else { |
---|
| 229 | echo "\n\t\t<p class='zus' title='Art der Rechtsgemeinschaft'>".htmlentities(rechtsgemeinschaft($rown["adr"]), ENT_QUOTES, "UTF-8")."</p>"; |
---|
| 230 | } |
---|
| 231 | } |
---|
| 232 | //if ($rown["anlass"] > 0 ) {echo "<p>Anlass=".$rown["anlass"]."</p>";} // TEST: |
---|
| 233 | |
---|
| 234 | // Schleife Ebene 2: andere Namensnummern |
---|
| 235 | // Beziehung ax_namensnummer >bestehtAusRechtsverhaeltnissenZu> ax_namensnummer |
---|
| 236 | |
---|
| 237 | // Die Relation 'Namensnummer' besteht aus RechtsverhÀltnissen zu 'Namensnummer' sagt aus, |
---|
| 238 | // dass mehrere Namensnummern zu einer Rechtsgemeinschaft gehören können. |
---|
| 239 | // Die Rechtsgemeinschaft selbst steht unter einer eigenen AX_Namensnummer, |
---|
| 240 | // die zu allen Namensnummern der Rechtsgemeinschaft eine Relation besitzt. |
---|
| 241 | |
---|
| 242 | |
---|
| 243 | // Schleife 2: P e r s o n |
---|
| 244 | // Beziehung: ax_person <benennt< ax_namensnummer |
---|
| 245 | $sqlp ="SELECT p.gml_id, p.nachnameoderfirma, p.vorname, p.geburtsname, p.geburtsdatum, p.namensbestandteil, p.akademischergrad "; |
---|
[339] | 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;"; |
---|
[315] | 247 | |
---|
| 248 | $v = array($gmlnn); |
---|
| 249 | $resp = pg_prepare("", $sqlp); |
---|
| 250 | $resp = pg_execute("", $v); |
---|
| 251 | |
---|
[123] | 252 | if (!$resp) { |
---|
| 253 | 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= '".$gmlnn."'</p>";} |
---|
| 255 | } |
---|
| 256 | |
---|
[315] | 257 | $i=0; // cnt Person |
---|
[330] | 258 | while($rowp = pg_fetch_array($resp)) { // ++ Schleife? nn >benennt> Person ist kein Array! |
---|
[315] | 259 | $diePerson=""; |
---|
| 260 | if ($rowp["akademischergrad"] <> "") {$diePerson=$rowp["akademischergrad"]." ";} |
---|
| 261 | $diePerson.=$rowp["nachnameoderfirma"]; |
---|
| 262 | if ($rowp["vorname"] <> "") {$diePerson.=", ".$rowp["vorname"];} |
---|
| 263 | if ($rowp["namensbestandteil"] <> "") {$diePerson.=". ".$rowp["namensbestandteil"];} |
---|
| 264 | if ($rowp["geburtsdatum"] <> "") {$diePerson.=", geb. ".$rowp["geburtsdatum"];} |
---|
| 265 | if ($rowp["geburtsname"] <> "") {$diePerson.=", geb. ".$rowp["geburtsname"];} |
---|
| 266 | $diePerson=htmlentities($diePerson, ENT_QUOTES, "UTF-8"); // Umlaute |
---|
| 267 | |
---|
| 268 | // Spalte 1 enthÀlt die Namensnummer, nur in Zeile 0 |
---|
| 269 | if ($i > 0) { |
---|
| 270 | echo "\n<tr>\n\t<td> </td>\n\t<td>"; |
---|
| 271 | } |
---|
| 272 | // Spalte 2 = Angaben |
---|
| 273 | $eiartkey=$rown["eigentuemerart"]; |
---|
| 274 | $eiart=eigentuemerart($eiartkey); |
---|
| 275 | echo "\n\t\t<p class='geig' title='Eigentümerart: ".$eiart."'>".$diePerson."</p>\n\t</td>"; |
---|
| 276 | |
---|
| 277 | // Spalte 3 = Link |
---|
| 278 | echo "\n\t<td>\n\t\t<p class='nwlink noprint'>"; |
---|
[330] | 279 | if ($idanzeige) {linkgml($gkz, $rowp["gml_id"], "Person", "ax_person"); echo " ";} |
---|
| 280 | if ($showkey AND $eiartkey != '') { // oft leer |
---|
| 281 | echo "<span class='key'>(".$eiartkey.")</span> "; |
---|
| 282 | } |
---|
[315] | 283 | echo "\n\t\t<a href='".$lnkvor."alkisnamstruk.php?gkz=".$gkz."&gmlid=".$rowp[0]; |
---|
| 284 | if ($idanzeige) {echo "&id=j";} |
---|
| 285 | if ($showkey) {echo "&showkey=j";} |
---|
| 286 | echo $lnknach."' title='vollständiger Name und Adresse eines Eigentümers'>".$eiart; |
---|
[355] | 287 | echo " <img src='ico/Eigentuemer.png' width='16' height='16' alt=''></a>\n\t\t</p>"; |
---|
[315] | 288 | echo "\n\t</td>\n</tr>"; |
---|
| 289 | |
---|
| 290 | if ($mitadresse) { |
---|
| 291 | // Schleife 3: A d r e s s e (OPTIONAL) |
---|
[339] | 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;"; |
---|
[315] | 294 | $gmlp=$rowp["gml_id"]; // Person |
---|
| 295 | $v = array($gmlp); |
---|
| 296 | $resa = pg_prepare("", $sqla); |
---|
| 297 | $resa = pg_execute("", $v); |
---|
[339] | 298 | |
---|
[315] | 299 | if (!$resa) { |
---|
[123] | 300 | echo "\n\t<p class='err'>Fehler bei Adressen</p>\n"; |
---|
[315] | 301 | if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sqla."<br>$1=gml= '".$gmlp."'</p>";} |
---|
[123] | 302 | } |
---|
[315] | 303 | $j=0; |
---|
| 304 | while($rowa = pg_fetch_array($resa)) { |
---|
[339] | 305 | $j++; |
---|
| 306 | if ($j == 1) { // erste Adresse anzeigen |
---|
| 307 | $gmla=$rowa["gml_id"]; |
---|
| 308 | $plz=$rowa["plz"]; // integer |
---|
| 309 | if($plz == 0) { |
---|
| 310 | $plz=""; |
---|
| 311 | } else { |
---|
| 312 | $plz=str_pad($plz, 5, "0", STR_PAD_LEFT); |
---|
| 313 | } |
---|
| 314 | $ort=htmlentities($rowa["ort_post"], ENT_QUOTES, "UTF-8"); |
---|
| 315 | $str=htmlentities($rowa["strasse"], ENT_QUOTES, "UTF-8"); |
---|
| 316 | $hsnr=$rowa["hausnummer"]; |
---|
| 317 | $land=htmlentities($rowa["bestimmungsland"], ENT_QUOTES, "UTF-8"); |
---|
[315] | 318 | |
---|
[339] | 319 | echo "\n<tr>\n\t<td> </td>"; //Sp. 1 |
---|
| 320 | 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>"; |
---|
| 340 | } else { // manchmal dopplete Angaben (_straÃe / _str.) |
---|
| 341 | 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>"; |
---|
[315] | 342 | } |
---|
| 343 | } |
---|
| 344 | pg_free_result($resa); |
---|
[339] | 345 | } |
---|
[330] | 346 | // 'keine Adresse' kann vorkommen, z.B. "Deutsche Telekom AG" |
---|
[315] | 347 | |
---|
| 348 | $i++; // cnt Person |
---|
[332] | 349 | |
---|
| 350 | // Anteil als eigene Tab-Zeile: |
---|
| 351 | $zaehler=$rown["zaehler"]; |
---|
| 352 | if ($zaehler != "") { |
---|
| 353 | $zaehler=str_replace(".", ",", $zaehler); // Dezimal-KOMMA wenn dem Notar der Bruch nicht reicht |
---|
| 354 | $nenner=str_replace(".", ",", $rown["nenner"]); |
---|
| 355 | $comnt="Anteil der Berechtigten in Bruchteilen (Par. 47 GBO) an einem gemeinschaftlichen Eigentum (Grundstück oder Recht)."; |
---|
[315] | 356 | echo "\n<tr>\n\t<td> </td>"; // Sp. 1 |
---|
[332] | 357 | echo "\n\t<td><p class='avh' title='".$comnt."'>".$zaehler."/".$nenner." Anteil</p></td>"; |
---|
[315] | 358 | echo "\n\t<td> </td>\n</tr>"; // Sp. 3 |
---|
| 359 | } |
---|
| 360 | } // End Loop Person |
---|
[349] | 361 | if ($i == 0) { // kommt vor hinter Zeile Erbengemeinschaft, ist dann KEIN Fehler |
---|
| 362 | if ($debug > 1) { // nur bei Entwicklung |
---|
[129] | 363 | echo "\n<p class='dbg'>Rechtsgemeinschaft = '".$rechtsg."'</p>"; |
---|
| 364 | if ($rechtsg != 9999) { |
---|
[330] | 365 | echo "\n<p class='dbg'>Fehler: Keine Person zur Namensnummer ".$namnum."</p>"; |
---|
[349] | 366 | // if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".$sqlp."<br>$1 = gml(NamNum) = '".$gmlnn."'</p>";} |
---|
[129] | 367 | } |
---|
[315] | 368 | } |
---|
| 369 | echo "</td>\n\t<td> </td>\n<tr>"; |
---|
| 370 | } |
---|
| 371 | $n++; // cnt NamNum |
---|
[41] | 372 | } // End Loop NamNum |
---|
[315] | 373 | echo "\n</table>\n"; |
---|
[333] | 374 | if ($n == 0) { // bei "Fiktives Blatt" KEIN Fehler |
---|
[349] | 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>";} |
---|
[315] | 377 | } |
---|
| 378 | pg_free_result($resn); |
---|
| 379 | return $n; |
---|
| 380 | } // End Function eigentuemer |
---|
[306] | 381 | |
---|
[315] | 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 |
---|
[306] | 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. |
---|
[315] | 411 | // SchlÃŒsseltabelle dazu ist vorhanden seit 2014-01-22. |
---|
[306] | 412 | // Hier Verwendung fÃŒr Text zum Link. |
---|
[315] | 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 |
---|
[306] | 417 | case 2000: $wert = "Juristische Person"; break; // singl. |
---|
[315] | 418 | case 3000: $wert = "Körperschaft"; break; // singl. |
---|
[306] | 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; |
---|
[315] | 425 | case 5920: $wert = "Land"; break; // "Eigenes Bundesland" |
---|
| 426 | case "": $wert = "Person"; break; // falls (noch) nicht gefuellt |
---|
[306] | 427 | default: // Datenbank-Abfrage |
---|
[339] | 428 | $sql="SELECT bezeichner FROM v_namnum_eigart WHERE wert= $1 ;"; |
---|
[315] | 429 | $v=array($key); |
---|
| 430 | $res=pg_prepare("", $sql); |
---|
| 431 | $res=pg_execute("", $v); |
---|
[306] | 432 | if ($res) { |
---|
| 433 | $row=pg_fetch_array($res); |
---|
[315] | 434 | $wert=htmlentities($row["bezeichner"], ENT_QUOTES, "UTF-8"); |
---|
| 435 | if ($wert == "") {$wert="** Eigentümerart '".$key."' nicht gefunden **";} |
---|
[306] | 436 | } else { |
---|
[315] | 437 | echo "\n\t<p class='err'>Fehler bei DB-Zugriff auf EigentÃŒmerart.</p>\n"; |
---|
| 438 | $wert="** Unbekannte Eigentümerart '".$key."' **"; |
---|
[306] | 439 | } |
---|
[315] | 440 | pg_free_result($res); |
---|
| 441 | break; |
---|
| 442 | } |
---|
| 443 | return $wert; |
---|
[306] | 444 | } |
---|
| 445 | |
---|
[315] | 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 | } |
---|
[26] | 485 | ?> |
---|