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

Revision 332, 19.4 KB checked in by frank.jaeger, 10 years ago (diff)

Zwischen-Stand vor Wochenende

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-10 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*/
94        global $gkz, $idanzeige, $showkey;
95
96        // F L U R S T U E C K
97        $sql="SELECT g.gemarkungsnummer, g.bezeichnung, f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.regierungsbezirk, f.kreis, f.gemeinde, f.amtlicheflaeche ";
98        $sql.="FROM ax_flurstueck f JOIN ax_buchungsstelle s ON f.istgebucht=substring(s.gml_id,1,16) ";
99        $sql.="LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer ";
100        $sql.="WHERE s.gml_id= $1 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
116/*              $fskenn=str_pad($rowf["zaehler"], 5, "0", STR_PAD_LEFT);
117                if ($rowf["nenner"] != "") { // Bruchnummer
118                        $fskenn.="/".str_pad($rowf["nenner"], 3, "0", STR_PAD_LEFT);
119                }
120*/
121                // ohne fuehrende Nullen?
122                $fskenn=$rowf["zaehler"];
123                if ($rowf["nenner"] != "") { // Bruchnummer
124                        $fskenn.="/".$rowf["nenner"];
125                }
126
127                $flae=number_format($rowf["amtlicheflaeche"],0,",",".") . " m&#178;";
128
129                echo "\n<tr>"; // eine Zeile je Flurstueck
130                        // Sp. 1-3 der Tab. aus Buchungsstelle, nicht aus FS
131                        if($lfdnr == $altlfdnr) {       // gleiches Grundstueck
132                                echo "\n\t<td>&nbsp;</td>";
133                                echo "\n\t<td>&nbsp;</td>";
134                                echo "\n\t<td>&nbsp;</td>";
135                        } else {
136                                echo "\n\t<td>";
137                                        echo "<a name='bvnr".$lfdnr."'></a>"; // Sprungmarke
138                                        echo "<span class='wichtig'>".$bvnr."</span>";  // BVNR
139                                        if ($idanzeige) {linkgml($gkz, $gml_bs, "Buchungsstelle", "ax_buchungsstelle");}
140                                echo "</td>";
141
142                                echo "\n\t<td>"; // Buchungsart
143                                        //      if ($showkey) {echo "<span class='key'>".$???."</span>&nbsp;";} // Schluessel
144                                        echo $ba; // entschluesselt
145                                echo "</td>";
146                                echo "\n\t<td>&nbsp;</td>"; // Anteil
147                                $altlfdnr=$lfdnr;
148                        }
149                        //Sp. 4-7 aus Flurstueck
150                        echo "\n\t<td>";
151                        if ($showkey) {
152                                echo "<span class='key'>".$rowf["gemarkungsnummer"]."</span> ";
153                        }
154                        echo $rowf["bezeichnung"]."</td>";
155                        echo "\n\t<td>".$flur."</td>";
156                        echo "\n\t<td><span class='wichtig'>".$fskenn."</span>";
157                                if ($idanzeige) {linkgml($gkz, $rowf["gml_id"], "Flurst&uuml;ck", "ax_flurstueck");}
158                        echo "</td>";
159                        echo "\n\t<td class='fla'>".$flae."</td>";
160
161                        echo "\n\t<td><p class='nwlink noprint'>";
162                                echo "<a href='alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$rowf["gml_id"]."&amp;eig=n";
163                                        if ($idanzeige) {echo "&amp;id=j";}
164                                        if ($showkey)   {echo "&amp;showkey=j";}
165                                        echo "' title='Flurst&uuml;cksnachweis'>Flurst&uuml;ck ";
166                                        echo "<img src='ico/Flurstueck_Link.ico' width='16' height='16' alt=''>";
167                                echo "</a>";
168                        echo "</p></td>";
169                echo "\n</tr>";
170
171                $j++;
172        } // Ende Flurstueck
173        pg_free_result($resf);
174        return $j;
175}
176
177function 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:
181        //      $gmlid = ID GB-Blattes
182        //      $mitadresse = Option (true/false) ob die Adresszeile ausgegeben werden soll
183        // Return = Anzahl Namensnummern
184
185        // Schleife 1: N a m e n s n u m m e r
186        // Beziehung: ax_namensnummer >istBestandteilVon> ax_buchungsblatt
187        global $debug, $gkz, $idanzeige, $showkey;
188
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 ";
197
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;";
200
201        $v = array($gmlid);
202        $resn = pg_prepare("", $sqln);
203        $resn = pg_execute("", $v);
204
205        if (!$resn) {
206                echo "<p class='err'>Fehler bei Eigent&uuml;mer</p>\n";
207                if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sqln."<br>$1=gml= '".$gmlid."'</p>";}
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."&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"];
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                        // Die Relation 'Namensnummer' hat VorgÀnger 'Namensnummer' gibt Auskunft darÃŒber,
243                        // aus welchen Namensnummern die aktuelle entstanden ist.
244
245                // Schleife 2: P e r s o n
246                // Beziehung: ax_person  <benennt<  ax_namensnummer
247                $sqlp ="SELECT p.gml_id, p.nachnameoderfirma, p.vorname, p.geburtsname, p.geburtsdatum, p.namensbestandteil, p.akademischergrad ";
248                $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;";
249
250                $v = array($gmlnn);
251                $resp = pg_prepare("", $sqlp);
252                $resp = pg_execute("", $v);
253
254                if (!$resp) {
255                        echo "\n\t<p class='err'>Fehler bei Person</p>\n";
256                        if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sqlp."<br>$1=gml= '".$gmlnn."'</p>";}
257                }
258
259                $i=0; // cnt Person
260                while($rowp = pg_fetch_array($resp)) {  // ++ Schleife? nn >benennt> Person ist kein Array!
261                        $diePerson="";
262                        if ($rowp["akademischergrad"] <> "") {$diePerson=$rowp["akademischergrad"]." ";}
263                        $diePerson.=$rowp["nachnameoderfirma"];
264                        if ($rowp["vorname"] <> "") {$diePerson.=", ".$rowp["vorname"];}
265                        if ($rowp["namensbestandteil"] <> "") {$diePerson.=". ".$rowp["namensbestandteil"];}
266                        if ($rowp["geburtsdatum"] <> "") {$diePerson.=", geb. ".$rowp["geburtsdatum"];}
267                        if ($rowp["geburtsname"] <> "") {$diePerson.=", geb. ".$rowp["geburtsname"];}
268                        $diePerson=htmlentities($diePerson, ENT_QUOTES, "UTF-8"); // Umlaute
269
270                        // Spalte 1 enthÀlt die Namensnummer, nur in Zeile 0
271                        if ($i > 0) {
272                                echo "\n<tr>\n\t<td>&nbsp;</td>\n\t<td>";
273                        }
274                        // Spalte 2 = Angaben
275                        $eiartkey=$rown["eigentuemerart"];
276                        $eiart=eigentuemerart($eiartkey);
277                        echo "\n\t\t<p class='geig' title='Eigent&uuml;merart: ".$eiart."'>".$diePerson."</p>\n\t</td>";
278
279                        // Spalte 3 = Link
280                        echo "\n\t<td>\n\t\t<p class='nwlink noprint'>";
281                                if ($idanzeige) {linkgml($gkz, $rowp["gml_id"], "Person", "ax_person"); echo "&nbsp";}
282                                if ($showkey AND $eiartkey != '') { // oft leer
283                                                echo "<span class='key'>(".$eiartkey.")</span> ";
284                                }
285                                echo "\n\t\t<a href='".$lnkvor."alkisnamstruk.php?gkz=".$gkz."&amp;gmlid=".$rowp[0];
286                                if ($idanzeige) {echo "&amp;id=j";}
287                                if ($showkey)   {echo "&amp;showkey=j";}
288                                echo $lnknach."' title='vollst&auml;ndiger Name und Adresse eines Eigent&uuml;mers'>".$eiart;
289                                echo " <img src='ico/Eigentuemer.ico' width='16' height='16' alt=''></a>\n\t\t</p>";
290                        echo "\n\t</td>\n</tr>";
291
292                        if ($mitadresse) {
293                                // Schleife 3:  A d r e s s e  (OPTIONAL)
294                                $sqla ="SELECT a.gml_id, a.ort_post, a.postleitzahlpostzustellung AS plz, a.strasse, a.hausnummer, a.bestimmungsland ";
295                                $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?
296                                $gmlp=$rowp["gml_id"]; // Person
297                                $v = array($gmlp);
298                                $resa = pg_prepare("", $sqla);
299                                $resa = pg_execute("", $v);
300                                if (!$resa) {
301                                        echo "\n\t<p class='err'>Fehler bei Adressen</p>\n";
302                                        if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sqla."<br>$1=gml= '".$gmlp."'</p>";}
303                                }
304                                $j=0;
305                                while($rowa = pg_fetch_array($resa)) {
306                                        $gmla=$rowa["gml_id"];
307                                        $plz=$rowa["plz"]; // integer
308                                        if($plz == 0) {
309                                                $plz="";
310                                        } else {
311                                                $plz=str_pad($plz, 5, "0", STR_PAD_LEFT);
312                                        }
313                                        $ort=htmlentities($rowa["ort_post"], ENT_QUOTES, "UTF-8");
314                                        $str=htmlentities($rowa["strasse"], ENT_QUOTES, "UTF-8");
315                                        $hsnr=$rowa["hausnummer"];
316                                        $land=htmlentities($rowa["bestimmungsland"], ENT_QUOTES, "UTF-8");
317
318                                        echo "\n<tr>\n\t<td>&nbsp;</td>"; // Spalte 1
319                                        echo "\n\t<td><p class='gadr'>"; //Spalte 2
320                                        if ($str.$hsnr != "") {
321                                                echo $str." ".$hsnr."<br>";
322                                        }
323                                        if ($plz.$ort != "") {
324                                                echo $plz." ".$ort;
325                                        }
326                                        if ($land != "" and $land != "DEUTSCHLAND") {
327                                                echo ", ".$land;
328                                        }
329                                        echo "</p></td>";
330                                        echo "\n\t<td>"; // Spalte 3
331                                        if ($idanzeige) {
332                                                echo "<p class='nwlink noprint'>";
333                                                linkgml($gkz, $gmla, "Adresse", "ax_adresse");
334                                                echo "</p>";
335                                        } else {
336                                                echo "&nbsp;";
337                                        }
338                                        echo "</td>\n</tr>";
339                                        $j++;
340                                }
341                                pg_free_result($resa);
342                        } // End if
343                        // 'keine Adresse' kann vorkommen, z.B. "Deutsche Telekom AG"
344
345                        $i++; // cnt Person
346
347                        // Anteil als eigene Tab-Zeile:
348                        $zaehler=$rown["zaehler"];
349                        if ($zaehler != "") {
350                                $zaehler=str_replace(".", ",", $zaehler); // Dezimal-KOMMA wenn dem Notar der Bruch nicht reicht
351                                $nenner=str_replace(".", ",", $rown["nenner"]);
352                                $comnt="Anteil der Berechtigten in Bruchteilen (Par. 47 GBO) an einem gemeinschaftlichen Eigentum (Grundst&uuml;ck oder Recht).";
353                                echo "\n<tr>\n\t<td>&nbsp;</td>"; // Sp. 1
354                                echo "\n\t<td><p class='avh' title='".$comnt."'>".$zaehler."/".$nenner." Anteil</p></td>";
355                                echo "\n\t<td>&nbsp;</td>\n</tr>"; // Sp. 3
356                        }
357                } // End Loop Person
358                if ($i == 0) { // kommt vor hinter Zeile Erbengemeinschaft, ist dann kein Fehler
359                        if ($debug > 0) {
360                                echo "\n<p class='dbg'>Rechtsgemeinschaft = '".$rechtsg."'</p>";
361                                if ($rechtsg != 9999) {
362                                        echo "\n<p class='dbg'>Fehler: Keine Person zur Namensnummer ".$namnum."</p>";
363                                }
364                                if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".$sqlp."<br>$1 = gml(NamNum) = '".$gmlnn."'</p>";}
365                        }
366                        echo "</td>\n\t<td>&nbsp;</td>\n<tr>";
367                }
368                $n++; // cnt NamNum
369        } // End Loop NamNum
370        echo "\n</table>\n";
371        if ($n == 0) {
372                // kommt vor bei "Fiktives Blatt", kein Fehler
373                if ($debug > 0) {echo "<p class='dbg'>keine Namensnummern zum Blatt</p>";}
374                if ($debug > 2) {echo "<p class='dbg'>Namensnummern: SQL=<br>".$sqln."<br>$1=gml(Blatt)= '".$gmlid."'</p>";}
375        }
376        pg_free_result($resn);
377        return $n;
378} // End Function eigentuemer
379
380// **  Functions  zum   E n t s c h l u e s s e l n  **
381
382// Entschluesslung ax_person.anrede
383function anrede($key) {
384        switch ($key) {
385                case 1000: $wert = "Frau"; break;
386                case 2000: $wert = "Herr"; break;
387                case 3000: $wert = "Firma"; break;
388                default:   $wert = ""; break;
389        }
390        return $wert;
391}
392
393// Entschluesslung AX_Namensnummer.artDerRechtsgemeinschaft
394function rechtsgemeinschaft($key) {
395        switch ($key) {
396                case 1000: $wert = "Erbengemeinschaft"; break;
397                case 2000: $wert = "GÃŒtergemeinschaft"; break;
398                case 3000: $wert = "BGB-Gesellschaft"; break;
399                case 9999: $wert = "Sonstiges"; break;  // dann: beschriebDerRechtsgemeinschaft
400                default:   $wert = ""; break;
401        }
402        return $wert;
403}
404
405// Entschluesslung AX_Namensnummer.eigentuemerart
406function eigentuemerart($key) {
407        // Die hÀufigsten Werte direkt aus den Programmcode liefern, ggf. angepasst.
408        // FÃŒr seltene Werte in der Datenbank nachschlagen.
409        // SchlÃŒsseltabelle dazu ist vorhanden seit 2014-01-22.
410        // Hier Verwendung fÃŒr Text zum Link.
411        // FÃŒr korrekte Wiedergabe der amtlichen Werte einen Join auf Tabelle verwenden statt dieser Function.
412        global $debug;
413        switch ($key) {
414                case 1000: $wert = "Nat&uuml;rliche Person"; break; // singular fuer Link-Text
415                case 2000: $wert = "Juristische Person"; break; // singl.
416                case 3000: $wert = "Körperschaft"; break; // singl.
417                case 4000: $wert = "Kirchliches Eigentum"; break;
418                case 4100: $wert = "Evangelische Kirche"; break;
419                case 4200: $wert = "Katholische Kirche"; break;
420                case 5100: $wert = "Bundesrepublik Deutschland"; break;
421                case 5400: $wert = "Kreis"; break;
422                case 5500: $wert = "Gemeinde"; break;
423                case 5920: $wert = "Land"; break; // "Eigenes Bundesland"
424                case "":   $wert = "Person"; break; // falls (noch) nicht gefuellt
425                default: // Datenbank-Abfrage
426                        $sql="SELECT bezeichner FROM ax_namensnummer_eigentuemerart WHERE wert= $1 ;";
427                        $v=array($key);
428                        $res=pg_prepare("", $sql);
429                        $res=pg_execute("", $v);
430                        if ($res) {
431                                $row=pg_fetch_array($res);
432                                $wert=htmlentities($row["bezeichner"], ENT_QUOTES, "UTF-8");
433                                if ($wert == "") {$wert="** Eigent&uuml;merart '".$key."' nicht gefunden **";}
434                        } else {
435                                echo "\n\t<p class='err'>Fehler bei DB-Zugriff auf EigentÃŒmerart.</p>\n";
436                                $wert="** Unbekannte Eigent&uuml;merart '".$key."' **";
437                        }
438                        pg_free_result($res);
439                        break;
440        }
441        return $wert;
442}
443
444// Entschluesslung ax_buchungsblatt.blattart
445function blattart($key) {
446        switch ($key) {
447                case 1000: $wert = "Grundbuchblatt"; break;
448                // Ein Grundbuchblatt ist ein Buchungsblatt, das die Buchung im Grundbuch enthÀlt.
449                case 2000: $wert = "Katasterblatt"; break;
450                // Ein Katasterblatt ist ein Buchungsblatt, das die Buchung im Liegenschaftskataster enthÀlt.
451                case 3000: $wert = "Pseudoblatt"; break;
452                // Ein Pseudoblatt ist ein Buchungsblatt, das die Buchung, die bereits vor Eintrag im Grundbuch Rechtskraft erlangt hat, enthÀlt
453                // (z.B. Übernahme von Flurbereinigungsverfahren, Umlegungsverfahren).
454                case 5000: $wert = "Fiktives Blatt"; break;
455                // Das fiktive Blatt enthÀlt die aufgeteilten GrundstÃŒcke und Rechte als Ganzes.
456                // Es bildet um die Miteigentumsanteile eine fachliche Klammer.
457                default: $wert = "** Unbekannter Wert '".$key."'"; break;
458        }
459        return $wert;
460}
461// Entschluesslung ax_dienststelle.stellenart
462function dienststellenart($key) {
463        switch ($key) {
464                case 1000: $wert = "Grundbuchamt"; break;
465                case 1100: $wert = "Katasteramt"; break;
466                case 1200: $wert = "Finanzamt"; break;
467                case 1300: $wert = "Flurbereinigungsbeh&ouml;rde"; break;
468                case 1400: $wert = "Forstamt"; break;
469                case 1500: $wert = "Wasserwirtschaftsamt"; break;
470                case 1600: $wert = "Straßenbauamt"; break;
471                case 1700: $wert = "Gemeindeamt"; break;
472                case 1900: $wert = "Kreis- oder Stadtverwaltung"; break;
473                case 2000: $wert = "Wasser- und Bodenverband"; break;
474                case 2100: $wert = "Umlegungsstelle"; break;
475                case 2200: $wert = "Landesvermessungsverwaltung"; break;
476                case 2300: $wert = "&Ouml;bVI"; break;
477                case 2400: $wert = "Bundeseisenbahnverm&ouml;gen"; break;
478                case 2500: $wert = "Landwirtschaftskammer"; break;
479                default: $wert = "** Unbekannter Wert '".$key."'"; break;
480        }
481        return $wert;
482}
483?>
Note: See TracBrowser for help on using the repository browser.