source: trunk/info/info/alkis/alkisfkt.php @ 334

Revision 334, 19.5 KB checked in by frank.jaeger, 10 years ago (diff)

Anpassung der Auskunft-Programme an variabel lange gml_id und Datenbanken mit "beendeten" Objekten.

Line 
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
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*/
16
17function footer($gmlid, $link, $append) {
18        // Einen Seitenfuss ausgeben.
19        // Den URL-Parameter "&id=j/n" und "&showkey=j/n" in allen Kombinationen umschalten lassen.
20        // Die Parameter &gkz= und &gmlid= kommen in allen Modulen einheitlich vor
21
22        // Der Parameter $append wird angehaengt wenn gefuellt
23        //  Anwendung: &eig=j bei FS-NW, &ltyp=m/p/o bei Lage
24        global $gkz, $idumschalter, $idanzeige, $showkey, $hilfeurl;
25
26        $customer=$_SESSION["mb_user_name"];
27        echo "\n<div class='confbereich noprint'>";
28        echo "\n<table class='outer'>\n<tr>";
29
30        // Spalte 1: Info Benutzerkennung
31        echo "\n\t<td title='Info'><i>Benutzer:&nbsp;".$customer."</i></td>";
32
33        // Spalte 2: Umschalter
34        echo "\n\t<td title='Konfiguration'>";
35                $mylink ="\n\t\t<a class='gmlid' href='".$link."gkz=".$gkz."&amp;gmlid=".$gmlid.$append;
36                if ($showkey) {$mykey = "&amp;showkey=j";} else {$mykey = "&amp;showkey=n";}
37                if ($idumschalter) { // fuer Entwicklung ODER Test
38                        if ($idanzeige) {$myid = "&amp;id=j";} else {$myid = "&amp;id=n";}
39
40                        // Umschalter nur ausgeben, wenn in conf gesetzt
41                        if ($idanzeige) { // Umschalten ID ein/aus
42                                echo $mylink.$mykey."&amp;id=n' title='Ohne Verfolgung der ALKIS-Beziehungen'>";
43                                echo "<img src='ico/Beziehung_link.ico' width='16' height='16' alt=''> ID aus</a>";
44                        } else {
45                                echo $mylink.$mykey."&amp;id=j' title='Verfolgung der GML-ID in den ALKIS-Beziehungen'>";
46                                echo "<img src='ico/Beziehung_link.ico' width='16' height='16' alt=''> ID ein</a>";
47                        }
48                        echo " | ";
49                } else { // keinen ID-Umschalter
50                        $myid = "";
51                }
52
53                if ($showkey) { // // Umschalten SchlÃŒssel ein/aus
54                        echo $mylink.$myid."&amp;showkey=n' title='Verschl&uuml;sselungen ausblenden'>Schl&uuml;ssel aus</a>";
55                } else {
56                        echo $mylink.$myid."&amp;showkey=j' title='Verschl&uuml;sselungen anzeigen'>Schl&uuml;ssel ein</a>";
57                }
58        echo "\n\t</td>";
59
60        // Spalte 3
61        echo "\n\t<td title='Hilfe'>";
62        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>";
63        echo "\n</tr>\n</table>\n</div>\n";
64        return 0;
65}
66
67function linkgml($gkz, $gml, $typ, $tabelle)  {
68        // Einen Link zur Verfolgung der Beziehungen mit dem Modul alkisrelationen.php
69        // tabelle = nur angeben fÃŒr Tabellen, die Relationen-Spalten besitzen, sonst leer
70        $kurzid=substr($gml, 12, 4); // ID in Anzeige kuerzen (4 Zeichen), der Anfang ist immer gleich
71        // PostNAS 0.8: Timestamp abschneiden
72        echo "\n\t\t<a target='_blank' title='ID ".$typ."' class='gmlid noprint' ";
73        echo "href='alkisrelationen.php?gkz=".$gkz."&amp;gmlid=".$gml."&amp;otyp=".$typ."&amp;tabelle=".$tabelle."'>";
74        echo "<img src='ico/Beziehung_link.ico' width='16' height='16' alt=''>".$kurzid."</a>";
75        return 0;
76}
77
78function kurz_namnr($lang) {
79        // Namensnummer kÃŒrzen. Nicht benötigte Stufen der Dezimalklassifikation abschneiden
80        $kurz=str_replace(".00","",$lang); // leere Stufen (nur am Ende)
81        $kurz=str_replace("0000","",$kurz); // ganz leer (am Anfang)
82        $kurz=ltrim($kurz, "0"); // fuehrende Nullen am Anfang
83        $kurz=str_replace(".0",".",$kurz); // fuehrende Null jeder Stufe
84        return $kurz;
85}
86
87function bnw_fsdaten($con, $lfdnr, $gml_bs, $ba, $anteil, $bvnraus) {
88/*      Bestandsnachweis - Flurstuecksdaten
89        Die Tabellenzeilen mit den Flurstuecksdaten zu einer Buchungsstelle im Bestandsnachweis ausgeben.
90        Die Funktion wird je einmal aufgerufen fÃŒr die Buchungen direkt auf dem GB (Normalfall).
91        Weiterere Aufrufe ggf. bei Erbbaurecht fÃŒr die mit "an" verknuepften Buchungsstellen.
92        Table-Tag und Kopfzeile im aufrufenden Programm. */
93        global $debug, $gkz, $idanzeige, $showkey;
94
95        // F L U R S T U E C K
96        $sql="SELECT g.gemarkungsnummer, g.bezeichnung, f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.regierungsbezirk, f.kreis, f.gemeinde, f.amtlicheflaeche
97        FROM ax_flurstueck f
98        JOIN ax_buchungsstelle s ON f.istgebucht=substring(s.gml_id,1,16)
99        LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer
100        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;";
101
102        $v = array($gml_bs);
103        $resf = pg_prepare("", $sql);
104        $resf = pg_execute("", $v);
105
106        if (!$resf) {echo "<p class='err'>Fehler bei Flurst&uuml;ck</p>\n";}
107
108        if($bvnraus) { // nur bei direkten Buchungen die lfdNr ausgeben
109                $bvnr=str_pad($lfdnr, 4, "0", STR_PAD_LEFT);
110        }
111        $altlfdnr="";
112        $j=0;
113        while($rowf = pg_fetch_array($resf)) {
114                $flur=str_pad($rowf["flurnummer"], 3, "0", STR_PAD_LEFT);
115                // ohne fuehrende Nullen?
116                $fskenn=$rowf["zaehler"];
117                if ($rowf["nenner"] != "") { // Bruchnummer
118                        $fskenn.="/".$rowf["nenner"];
119                }
120                $flae=number_format($rowf["amtlicheflaeche"],0,",",".") . " m&#178;";
121
122                echo "\n<tr>"; // eine Zeile je Flurstueck
123                        // Sp. 1-3 der Tab. aus Buchungsstelle, nicht aus FS
124                        if($lfdnr == $altlfdnr) {       // gleiches Grundstueck
125                                echo "\n\t<td>&nbsp;</td>";
126                                echo "\n\t<td>&nbsp;</td>";
127                                echo "\n\t<td>&nbsp;</td>";
128                        } else {
129                                echo "\n\t<td>";
130                                        echo "<a name='bvnr".$lfdnr."'></a>"; // Sprungmarke
131                                        echo "<span class='wichtig'>".$bvnr."</span>";  // BVNR
132                                        if ($idanzeige) {linkgml($gkz, $gml_bs, "Buchungsstelle", "ax_buchungsstelle");}
133                                echo "</td>";
134
135                                echo "\n\t<td>"; // Buchungsart
136                                        //      if ($showkey) {echo "<span class='key'>".$???."</span>&nbsp;";} // Schluessel
137                                        echo $ba; // entschluesselt
138                                echo "</td>";
139                                echo "\n\t<td>&nbsp;</td>"; // Anteil
140                                $altlfdnr=$lfdnr;
141                        }
142                        //Sp. 4-7 aus Flurstueck
143                        echo "\n\t<td>";
144                        if ($showkey) {
145                                echo "<span class='key'>".$rowf["gemarkungsnummer"]."</span> ";
146                        }
147                        echo $rowf["bezeichnung"]."</td>";
148                        echo "\n\t<td>".$flur."</td>";
149                        echo "\n\t<td><span class='wichtig'>".$fskenn."</span>";
150                                if ($idanzeige) {linkgml($gkz, $rowf["gml_id"], "Flurst&uuml;ck", "ax_flurstueck");}
151                        echo "</td>";
152                        echo "\n\t<td class='fla'>".$flae."</td>";
153
154                        echo "\n\t<td><p class='nwlink noprint'>";
155                                echo "<a href='alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$rowf["gml_id"]."&amp;eig=n";
156                                        if ($idanzeige) {echo "&amp;id=j";}
157                                        if ($showkey)   {echo "&amp;showkey=j";}
158                                        echo "' title='Flurst&uuml;cksnachweis'>Flurst&uuml;ck ";
159                                        echo "<img src='ico/Flurstueck_Link.ico' width='16' height='16' alt=''>";
160                                echo "</a>";
161                        echo "</p></td>";
162                echo "\n</tr>";
163
164                $j++;
165        } // Ende Flurstueck
166
167/*      if ($j == 0 ) { // nur Entw.
168                if ($debug > 1) {echo "<p class='dbg'>Keine FS gefunden</p>";}
169                if ($debug > 2) {echo "<p class='dbg'>SQL='".$sql."'<br>$1 = '".$gml_bs."'</p>";}
170        } */
171
172        pg_free_result($resf);
173        return $j;
174}
175
176function eigentuemer($con, $gmlid, $mitadresse, $lnkclass) {
177        // Tabelle mit Eigentuemerdaten zu einem Grundbuchblatt ausgeben
178        // Sp.1 = Namennummer, Sp. 2 = Name / Adresse, Sp. 3 = Link
179        // Parameter:
180        //      $gmlid = ID GB-Blattes
181        //      $mitadresse = Option (true/false) ob die Adresszeile ausgegeben werden soll
182        // Return = Anzahl Namensnummern
183
184        // Schleife 1: N a m e n s n u m m e r
185        // Beziehung: ax_namensnummer >istBestandteilVon> ax_buchungsblatt
186        global $debug, $gkz, $idanzeige, $showkey;
187
188        // Link ÃŒber Java-Class? (Ja in alkisinlayausk.php, sonst normal)
189        if ($lnkclass == "") {
190                $lnkvor = "";
191                $lnknach = "";
192        } else {
193                $lnkvor  = "javascript:".$lnkclass."(\"";
194                $lnknach = "\")";
195        } // Beispiel-Link href='javascript:imFenster(\"alkislage.php?gkz= ... ."\")'>xxx ";
196
197        $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 ";
198        $sqln.="FROM ax_namensnummer n WHERE n.istbestandteilvon= $1 AND n.endet IS NULL ORDER BY n.laufendenummernachdin1421;";
199
200        $v = array(substr($gmlid,0,16)); // 16 Stellen bei Relationen
201        $resn = pg_prepare("", $sqln);
202        $resn = pg_execute("", $v);
203
204        if (!$resn) {
205                echo "<p class='err'>Fehler bei Eigent&uuml;mer</p>\n";
206                if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sqln."<br>$1=gml= '".substr($gmlid,0,16)."'</p>";}
207        }
208
209        echo "\n\n<table class='eig'>";
210        $n=0; // Z.NamNum.
211
212        while($rown = pg_fetch_array($resn)) {
213                $gmlnn=$rown["gml_id"];
214                echo "\n<tr>";
215                        echo "\n\t<td class='nanu' title='Namens-Nummer'>\n\t\t<p>"; // Sp. 1
216                                // VOR die Tabelle: "EigentÃŒmer"
217                                $namnum=kurz_namnr($rown["lfd"]);
218                                echo $namnum."&nbsp;";
219                                if ($idanzeige) {linkgml($gkz, $rown["gml_id"], "Namensnummer", "ax_namensnummer");}
220                        echo "</p>\n\t</td>";
221
222                        echo "\n\t<td>"; // Sp. 2
223                        $rechtsg=$rown["adr"];
224                        if ($rechtsg != "" ) {
225                                if ($rechtsg == 9999) { // sonstiges
226                                        echo "\n\t\t<p class='zus' title='Beschrieb der Rechtsgemeinschaft'>".htmlentities($rown["beschr"], ENT_QUOTES, "UTF-8")."</p>";
227                                } else {
228                                        echo "\n\t\t<p class='zus' title='Art der Rechtsgemeinschaft'>".htmlentities(rechtsgemeinschaft($rown["adr"]), ENT_QUOTES, "UTF-8")."</p>";
229                                }
230                        }
231                        //if ($rown["anlass"] > 0 ) {echo "<p>Anlass=".$rown["anlass"]."</p>";} // TEST:
232
233                        // Schleife Ebene 2: andere Namensnummern
234                        // Beziehung   ax_namensnummer >bestehtAusRechtsverhaeltnissenZu>  ax_namensnummer
235
236                        // Die Relation 'Namensnummer' besteht aus RechtsverhÀltnissen zu 'Namensnummer' sagt aus,
237                        // dass mehrere Namensnummern zu einer Rechtsgemeinschaft gehören können.
238                        // Die Rechtsgemeinschaft selbst steht unter einer eigenen AX_Namensnummer,
239                        // die zu allen Namensnummern der Rechtsgemeinschaft eine Relation besitzt.
240
241                        // Die Relation 'Namensnummer' hat VorgÀnger 'Namensnummer' gibt Auskunft darÃŒber,
242                        // aus welchen Namensnummern die aktuelle entstanden ist.
243
244                // Schleife 2: P e r s o n
245                // Beziehung: ax_person  <benennt<  ax_namensnummer
246                $sqlp ="SELECT p.gml_id, p.nachnameoderfirma, p.vorname, p.geburtsname, p.geburtsdatum, p.namensbestandteil, p.akademischergrad ";
247                $sqlp.="FROM ax_person p JOIN ax_namensnummer nn ON nn.benennt=substring(p.gml_id,1,16) WHERE nn.gml_id= $1 AND p.endet IS NULL AND nn.endet IS NULL;";
248
249                $v = array($gmlnn);
250                $resp = pg_prepare("", $sqlp);
251                $resp = pg_execute("", $v);
252
253                if (!$resp) {
254                        echo "\n\t<p class='err'>Fehler bei Person</p>\n";
255                        if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sqlp."<br>$1=gml= '".$gmlnn."'</p>";}
256                }
257
258                $i=0; // cnt Person
259                while($rowp = pg_fetch_array($resp)) {  // ++ Schleife? nn >benennt> Person ist kein Array!
260                        $diePerson="";
261                        if ($rowp["akademischergrad"] <> "") {$diePerson=$rowp["akademischergrad"]." ";}
262                        $diePerson.=$rowp["nachnameoderfirma"];
263                        if ($rowp["vorname"] <> "") {$diePerson.=", ".$rowp["vorname"];}
264                        if ($rowp["namensbestandteil"] <> "") {$diePerson.=". ".$rowp["namensbestandteil"];}
265                        if ($rowp["geburtsdatum"] <> "") {$diePerson.=", geb. ".$rowp["geburtsdatum"];}
266                        if ($rowp["geburtsname"] <> "") {$diePerson.=", geb. ".$rowp["geburtsname"];}
267                        $diePerson=htmlentities($diePerson, ENT_QUOTES, "UTF-8"); // Umlaute
268
269                        // Spalte 1 enthÀlt die Namensnummer, nur in Zeile 0
270                        if ($i > 0) {
271                                echo "\n<tr>\n\t<td>&nbsp;</td>\n\t<td>";
272                        }
273                        // Spalte 2 = Angaben
274                        $eiartkey=$rown["eigentuemerart"];
275                        $eiart=eigentuemerart($eiartkey);
276                        echo "\n\t\t<p class='geig' title='Eigent&uuml;merart: ".$eiart."'>".$diePerson."</p>\n\t</td>";
277
278                        // Spalte 3 = Link
279                        echo "\n\t<td>\n\t\t<p class='nwlink noprint'>";
280                                if ($idanzeige) {linkgml($gkz, $rowp["gml_id"], "Person", "ax_person"); echo "&nbsp";}
281                                if ($showkey AND $eiartkey != '') { // oft leer
282                                                echo "<span class='key'>(".$eiartkey.")</span> ";
283                                }
284                                echo "\n\t\t<a href='".$lnkvor."alkisnamstruk.php?gkz=".$gkz."&amp;gmlid=".$rowp[0];
285                                if ($idanzeige) {echo "&amp;id=j";}
286                                if ($showkey)   {echo "&amp;showkey=j";}
287                                echo $lnknach."' title='vollst&auml;ndiger Name und Adresse eines Eigent&uuml;mers'>".$eiart;
288                                echo " <img src='ico/Eigentuemer.ico' width='16' height='16' alt=''></a>\n\t\t</p>";
289                        echo "\n\t</td>\n</tr>";
290
291                        if ($mitadresse) {
292                                // Schleife 3:  A d r e s s e  (OPTIONAL)
293                                $sqla ="SELECT a.gml_id, a.ort_post, a.postleitzahlpostzustellung AS plz, a.strasse, a.hausnummer, a.bestimmungsland ";
294                                $sqla.="FROM ax_anschrift a JOIN ax_person p ON substring(a.gml_id,1,16)=ANY(p.hat) WHERE p.gml_id= $1 AND a.endet IS NULL AND p.endet IS NULL;"; // ORDER?
295                                $gmlp=$rowp["gml_id"]; // Person
296                                $v = array($gmlp);
297                                $resa = pg_prepare("", $sqla);
298                                $resa = pg_execute("", $v);
299                                if (!$resa) {
300                                        echo "\n\t<p class='err'>Fehler bei Adressen</p>\n";
301                                        if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sqla."<br>$1=gml= '".$gmlp."'</p>";}
302                                }
303                                $j=0;
304                                while($rowa = pg_fetch_array($resa)) {
305                                        $gmla=$rowa["gml_id"];
306                                        $plz=$rowa["plz"]; // integer
307                                        if($plz == 0) {
308                                                $plz="";
309                                        } else {
310                                                $plz=str_pad($plz, 5, "0", STR_PAD_LEFT);
311                                        }
312                                        $ort=htmlentities($rowa["ort_post"], ENT_QUOTES, "UTF-8");
313                                        $str=htmlentities($rowa["strasse"], ENT_QUOTES, "UTF-8");
314                                        $hsnr=$rowa["hausnummer"];
315                                        $land=htmlentities($rowa["bestimmungsland"], ENT_QUOTES, "UTF-8");
316
317                                        echo "\n<tr>\n\t<td>&nbsp;</td>"; // Spalte 1
318                                        echo "\n\t<td><p class='gadr'>"; //Spalte 2
319                                        if ($str.$hsnr != "") {
320                                                echo $str." ".$hsnr."<br>";
321                                        }
322                                        if ($plz.$ort != "") {
323                                                echo $plz." ".$ort;
324                                        }
325                                        if ($land != "" and $land != "DEUTSCHLAND") {
326                                                echo ", ".$land;
327                                        }
328                                        echo "</p></td>";
329                                        echo "\n\t<td>"; // Spalte 3
330                                        if ($idanzeige) {
331                                                echo "<p class='nwlink noprint'>";
332                                                linkgml($gkz, $gmla, "Adresse", "ax_adresse");
333                                                echo "</p>";
334                                        } else {
335                                                echo "&nbsp;";
336                                        }
337                                        echo "</td>\n</tr>";
338                                        $j++;
339                                }
340                                pg_free_result($resa);
341                        } // End if
342                        // 'keine Adresse' kann vorkommen, z.B. "Deutsche Telekom AG"
343
344                        $i++; // cnt Person
345
346                        // Anteil als eigene Tab-Zeile:
347                        $zaehler=$rown["zaehler"];
348                        if ($zaehler != "") {
349                                $zaehler=str_replace(".", ",", $zaehler); // Dezimal-KOMMA wenn dem Notar der Bruch nicht reicht
350                                $nenner=str_replace(".", ",", $rown["nenner"]);
351                                $comnt="Anteil der Berechtigten in Bruchteilen (Par. 47 GBO) an einem gemeinschaftlichen Eigentum (Grundst&uuml;ck oder Recht).";
352                                echo "\n<tr>\n\t<td>&nbsp;</td>"; // Sp. 1
353                                echo "\n\t<td><p class='avh' title='".$comnt."'>".$zaehler."/".$nenner." Anteil</p></td>";
354                                echo "\n\t<td>&nbsp;</td>\n</tr>"; // Sp. 3
355                        }
356                } // End Loop Person
357                if ($i == 0) { // kommt vor hinter Zeile Erbengemeinschaft, ist dann kein Fehler
358                        if ($debug > 0) {
359                                echo "\n<p class='dbg'>Rechtsgemeinschaft = '".$rechtsg."'</p>";
360                                if ($rechtsg != 9999) {
361                                        echo "\n<p class='dbg'>Fehler: Keine Person zur Namensnummer ".$namnum."</p>";
362                                }
363                                if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".$sqlp."<br>$1 = gml(NamNum) = '".$gmlnn."'</p>";}
364                        }
365                        echo "</td>\n\t<td>&nbsp;</td>\n<tr>";
366                }
367                $n++; // cnt NamNum
368        } // End Loop NamNum
369        echo "\n</table>\n";
370        if ($n == 0) { // bei "Fiktives Blatt" KEIN Fehler
371                if ($debug > 0) {echo "<p class='dbg'>keine Namensnummern zum Blatt</p>";}
372                if ($debug > 2) {echo "<p class='dbg'>Namensnummern: SQL=<br>".$sqln."<br>$1=gml(Blatt)= '".substr($gmlid,0,16)."'</p>";}
373        }
374        pg_free_result($resn);
375        return $n;
376} // End Function eigentuemer
377
378// **  Functions  zum   E n t s c h l u e s s e l n  **
379
380// Entschluesslung ax_person.anrede
381function anrede($key) {
382        switch ($key) {
383                case 1000: $wert = "Frau"; break;
384                case 2000: $wert = "Herr"; break;
385                case 3000: $wert = "Firma"; break;
386                default:   $wert = ""; break;
387        }
388        return $wert;
389}
390
391// Entschluesslung AX_Namensnummer.artDerRechtsgemeinschaft
392function rechtsgemeinschaft($key) {
393        switch ($key) {
394                case 1000: $wert = "Erbengemeinschaft"; break;
395                case 2000: $wert = "GÃŒtergemeinschaft"; break;
396                case 3000: $wert = "BGB-Gesellschaft"; break;
397                case 9999: $wert = "Sonstiges"; break;  // dann: beschriebDerRechtsgemeinschaft
398                default:   $wert = ""; break;
399        }
400        return $wert;
401}
402
403// Entschluesslung AX_Namensnummer.eigentuemerart
404function eigentuemerart($key) {
405        // Die hÀufigsten Werte direkt aus den Programmcode liefern, ggf. angepasst.
406        // FÃŒr seltene Werte in der Datenbank nachschlagen.
407        // SchlÃŒsseltabelle dazu ist vorhanden seit 2014-01-22.
408        // Hier Verwendung fÃŒr Text zum Link.
409        // FÃŒr korrekte Wiedergabe der amtlichen Werte einen Join auf Tabelle verwenden statt dieser Function.
410        global $debug;
411        switch ($key) {
412                case 1000: $wert = "Nat&uuml;rliche Person"; break; // singular fuer Link-Text
413                case 2000: $wert = "Juristische Person"; break; // singl.
414                case 3000: $wert = "Körperschaft"; break; // singl.
415                case 4000: $wert = "Kirchliches Eigentum"; break;
416                case 4100: $wert = "Evangelische Kirche"; break;
417                case 4200: $wert = "Katholische Kirche"; break;
418                case 5100: $wert = "Bundesrepublik Deutschland"; break;
419                case 5400: $wert = "Kreis"; break;
420                case 5500: $wert = "Gemeinde"; break;
421                case 5920: $wert = "Land"; break; // "Eigenes Bundesland"
422                case "":   $wert = "Person"; break; // falls (noch) nicht gefuellt
423                default: // Datenbank-Abfrage
424                        $sql="SELECT bezeichner FROM ax_namensnummer_eigentuemerart WHERE wert= $1 ;";
425                        $v=array($key);
426                        $res=pg_prepare("", $sql);
427                        $res=pg_execute("", $v);
428                        if ($res) {
429                                $row=pg_fetch_array($res);
430                                $wert=htmlentities($row["bezeichner"], ENT_QUOTES, "UTF-8");
431                                if ($wert == "") {$wert="** Eigent&uuml;merart '".$key."' nicht gefunden **";}
432                        } else {
433                                echo "\n\t<p class='err'>Fehler bei DB-Zugriff auf EigentÃŒmerart.</p>\n";
434                                $wert="** Unbekannte Eigent&uuml;merart '".$key."' **";
435                        }
436                        pg_free_result($res);
437                        break;
438        }
439        return $wert;
440}
441
442// Entschluesslung ax_buchungsblatt.blattart
443function blattart($key) {
444        switch ($key) {
445                case 1000: $wert = "Grundbuchblatt"; break;
446                // Ein Grundbuchblatt ist ein Buchungsblatt, das die Buchung im Grundbuch enthÀlt.
447                case 2000: $wert = "Katasterblatt"; break;
448                // Ein Katasterblatt ist ein Buchungsblatt, das die Buchung im Liegenschaftskataster enthÀlt.
449                case 3000: $wert = "Pseudoblatt"; break;
450                // Ein Pseudoblatt ist ein Buchungsblatt, das die Buchung, die bereits vor Eintrag im Grundbuch Rechtskraft erlangt hat, enthÀlt
451                // (z.B. Übernahme von Flurbereinigungsverfahren, Umlegungsverfahren).
452                case 5000: $wert = "Fiktives Blatt"; break;
453                // Das fiktive Blatt enthÀlt die aufgeteilten GrundstÃŒcke und Rechte als Ganzes.
454                // Es bildet um die Miteigentumsanteile eine fachliche Klammer.
455                default: $wert = "** Unbekannter Wert '".$key."'"; break;
456        }
457        return $wert;
458}
459// Entschluesslung ax_dienststelle.stellenart
460function dienststellenart($key) {
461        switch ($key) {
462                case 1000: $wert = "Grundbuchamt"; break;
463                case 1100: $wert = "Katasteramt"; break;
464                case 1200: $wert = "Finanzamt"; break;
465                case 1300: $wert = "Flurbereinigungsbeh&ouml;rde"; break;
466                case 1400: $wert = "Forstamt"; break;
467                case 1500: $wert = "Wasserwirtschaftsamt"; break;
468                case 1600: $wert = "Straßenbauamt"; break;
469                case 1700: $wert = "Gemeindeamt"; break;
470                case 1900: $wert = "Kreis- oder Stadtverwaltung"; break;
471                case 2000: $wert = "Wasser- und Bodenverband"; break;
472                case 2100: $wert = "Umlegungsstelle"; break;
473                case 2200: $wert = "Landesvermessungsverwaltung"; break;
474                case 2300: $wert = "&Ouml;bVI"; break;
475                case 2400: $wert = "Bundeseisenbahnverm&ouml;gen"; break;
476                case 2500: $wert = "Landwirtschaftskammer"; break;
477                default: $wert = "** Unbekannter Wert '".$key."'"; break;
478        }
479        return $wert;
480}
481?>
Note: See TracBrowser for help on using the repository browser.