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

Revision 372, 19.7 KB checked in by astrid.emde, 3 years ago (diff)

patch eingespielt

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        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
18*/
19
20function footer($gmlid, $link, $append) {
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, &ltyp=m/p/o bei Lage
27        global $gkz, $idumschalter, $idanzeige, $showkey, $hilfeurl;
28
29        $customer=$_SESSION["mb_user_name"];
30        echo "\n<div class='confbereich noprint'>";
31        echo "\n<table class='outer'>\n<tr>";
32
33        // Spalte 1: Info Benutzerkennung
34        echo "\n\t<td title='Info'><i>Benutzer:&nbsp;".$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."&amp;gmlid=".$gmlid.$append;
39                if ($showkey) {$mykey = "&amp;showkey=j";} else {$mykey = "&amp;showkey=n";}
40                if ($idumschalter) { // fuer Entwicklung ODER Test
41                        if ($idanzeige) {$myid = "&amp;id=j";} else {$myid = "&amp;id=n";}
42
43                        // Umschalter nur ausgeben, wenn in conf gesetzt
44                        if ($idanzeige) { // Umschalten ID ein/aus
45                                echo $mylink.$mykey."&amp;id=n' title='Ohne Verfolgung der ALKIS-Beziehungen'>";
46                                echo "<img src='ico/Beziehung_link.png' width='16' height='16' alt=''> ID aus</a>";
47                        } else {
48                                echo $mylink.$mykey."&amp;id=j' title='Verfolgung der GML-ID in den ALKIS-Beziehungen'>";
49                                echo "<img src='ico/Beziehung_link.png' width='16' height='16' alt=''> ID ein</a>";
50                        }
51                        echo " | ";
52                } else { // keinen ID-Umschalter
53                        $myid = "";
54                }
55
56                if ($showkey) { // // Umschalten SchlÃŒssel ein/aus
57                        echo $mylink.$myid."&amp;showkey=n' title='Verschl&uuml;sselungen ausblenden'>Schl&uuml;ssel aus</a>";
58                } else {
59                        echo $mylink.$myid."&amp;showkey=j' title='Verschl&uuml;sselungen anzeigen'>Schl&uuml;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
70function linkgml($gkz, $gml, $typ, $tabelle)  {
71        // Einen Link zur Verfolgung der Beziehungen mit dem Modul alkisrelationen.php
72        // tabelle = nur angeben fÃŒr Tabellen, die Relationen-Spalten besitzen, sonst leer
73        $kurzid=substr($gml, 12, 4); // ID in Anzeige kuerzen (4 Zeichen), der Anfang ist immer gleich
74        // PostNAS 0.8: Timestamp abschneiden
75        echo "\n\t\t<a target='_blank' title='ID ".$typ."' class='gmlid noprint' ";
76        echo "href='alkisrelationen.php?gkz=".$gkz."&amp;gmlid=".$gml."&amp;otyp=".$typ."&amp;tabelle=".$tabelle."'>";
77        echo "<img src='ico/Beziehung_link.png' width='16' height='16' alt=''>".$kurzid."</a>";
78        return 0;
79}
80
81function kurz_namnr($lang) {
82        // Namensnummer kÃŒrzen. Nicht benötigte Stufen der Dezimalklassifikation abschneiden
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
90function 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.
95        Table-Tag und Kopfzeile im aufrufenden Programm. */
96        global $debug, $gkz, $idanzeige, $showkey;
97
98        // F L U R S T U E C K
99        $sql="SELECT g.gemarkungsnummer, g.bezeichnung, f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.regierungsbezirk, f.kreis, f.gemeinde, f.amtlicheflaeche
100        FROM ax_flurstueck f JOIN ax_buchungsstelle s ON f.istgebucht=s.gml_id
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;";
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&uuml;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&#178;";
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>&nbsp;</td>";
127                                echo "\n\t<td>&nbsp;</td>";
128                                echo "\n\t<td>&nbsp;</td>";
129                        } else {
130                                echo "\n\t<td>";
131                                        echo "<a name='bvnr".$lfdnr."'></a>"; // Sprungmarke
132                                        echo "<span class='wichtig'>".$bvnr."</span>";  // BVNR
133                                        if ($idanzeige) {linkgml($gkz, $gml_bs, "Buchungsstelle", "ax_buchungsstelle");}
134                                echo "</td>";
135
136                                echo "\n\t<td>"; // Buchungsart
137                                        //      if ($showkey) {echo "<span class='key'>".$???."</span>&nbsp;";} // Schluessel
138                                        echo $ba; // entschluesselt
139                                echo "</td>";
140                                echo "\n\t<td>&nbsp;</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>";
150                        echo "\n\t<td class='fsnr'><span class='wichtig'>".$fskenn."</span>";
151                                if ($idanzeige) {linkgml($gkz, $rowf["gml_id"], "Flurst&uuml;ck", "ax_flurstueck");}
152                        echo "</td>";
153                        echo "\n\t<td class='fla'>".$flae."</td>";
154
155                        echo "\n\t<td><p class='nwlink noprint'>";
156                                echo "<a href='alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$rowf["gml_id"]."&amp;eig=n";
157                                        if ($idanzeige) {echo "&amp;id=j";}
158                                        if ($showkey)   {echo "&amp;showkey=j";}
159                                        echo "' title='Flurst&uuml;cksnachweis'>Flurst&uuml;ck ";
160                                        echo "<img src='ico/Flurstueck_Link.png' width='16' height='16' alt=''>";
161                                echo "</a>";
162                        echo "</p></td>";
163                echo "\n</tr>";
164
165                $j++;
166        } // Ende Flurstueck
167
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        } */
172
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); // 16 Stellen bei Relationen
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
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 ";
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);
249                $resp = pg_prepare("", $sqlp);
250                $resp = pg_execute("", $v);
251
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
257                $i=0; // cnt Person
258                while($rowp = pg_fetch_array($resp)) {  // ++ Schleife? nn >benennt> Person ist kein Array!
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>&nbsp;</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&uuml;merart: ".$eiart."'>".$diePerson."</p>\n\t</td>";
276
277                        // Spalte 3 = Link
278                        echo "\n\t<td>\n\t\t<p class='nwlink noprint'>";
279                                if ($idanzeige) {linkgml($gkz, $rowp["gml_id"], "Person", "ax_person"); echo "&nbsp";}
280                                if ($showkey AND $eiartkey != '') { // oft leer
281                                                echo "<span class='key'>(".$eiartkey.")</span> ";
282                                }
283                                echo "\n\t\t<a href='".$lnkvor."alkisnamstruk.php?gkz=".$gkz."&amp;gmlid=".$rowp["gml_id"];
284                                if ($idanzeige) {echo "&amp;id=j";}
285                                if ($showkey)   {echo "&amp;showkey=j";}
286                                echo $lnknach."' title='vollst&auml;ndiger Name und Adresse eines Eigent&uuml;mers'>".$eiart;
287                                echo " <img src='ico/Eigentuemer.png' width='16' height='16' alt=''></a>\n\t\t</p>";
288                        echo "\n\t</td>\n</tr>";
289
290                        if ($mitadresse) {
291                                // 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;";
294                                $gmlp=$rowp["gml_id"]; // Person
295                                $v = array($gmlp);
296                                $resa = pg_prepare("", $sqla);
297                                $resa = pg_execute("", $v);
298
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                                        $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");
318
319                                                echo "\n<tr>\n\t<td>&nbsp;</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 "&nbsp;";
338                                                }
339                                                echo "</td>\n</tr>";
340                                        } else { // manchmal dopplete Angaben (_straße / _str.)
341                                                echo "\n<tr>\n\t<td>&nbsp;</td>\n\t<td><p class='dbg' title='Siehe Auskunft zur Person'>weitere Adresse</p></td>\n\t<td>&nbsp;</td>\n</tr>";
342                                        }
343                                }
344                                pg_free_result($resa);
345                        }
346                        // 'keine Adresse' kann vorkommen, z.B. "Deutsche Telekom AG"
347
348                        $i++; // cnt Person
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&uuml;ck oder Recht).";
356                                echo "\n<tr>\n\t<td>&nbsp;</td>"; // Sp. 1
357                                echo "\n\t<td><p class='avh' title='".$comnt."'>".$zaehler."/".$nenner." Anteil</p></td>";
358                                echo "\n\t<td>&nbsp;</td>\n</tr>"; // Sp. 3
359                        }
360                } // End Loop Person
361                if ($i == 0) { // kommt vor hinter Zeile Erbengemeinschaft, ist dann KEIN Fehler
362                        if ($debug > 1) { // nur bei Entwicklung
363                                echo "\n<p class='dbg'>Rechtsgemeinschaft = '".$rechtsg."'</p>";
364                                if ($rechtsg != 9999) {
365                                        echo "\n<p class='dbg'>Fehler: Keine Person zur Namensnummer ".$namnum."</p>";
366                                //      if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".$sqlp."<br>$1 = gml(NamNum) = '".$gmlnn."'</p>";}
367                                }
368                        }
369                        echo "</td>\n\t<td>&nbsp;</td>\n<tr>";
370                }
371                $n++; // cnt NamNum
372        } // End Loop NamNum
373        echo "\n</table>\n";
374        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>";}
377        }
378        pg_free_result($resn);
379        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
385function anrede($key) {
386        switch ($key) {
387                case 1000: $wert = "Frau"; break;
388                case 2000: $wert = "Herr"; break;
389                case 3000: $wert = "Firma"; break;
390                default:   $wert = ""; break;
391        }
392        return $wert;
393}
394
395// Entschluesslung AX_Namensnummer.artDerRechtsgemeinschaft
396function rechtsgemeinschaft($key) {
397        switch ($key) {
398                case 1000: $wert = "Erbengemeinschaft"; break;
399                case 2000: $wert = "GÃŒtergemeinschaft"; break;
400                case 3000: $wert = "BGB-Gesellschaft"; break;
401                case 9999: $wert = "Sonstiges"; break;  // dann: beschriebDerRechtsgemeinschaft
402                default:   $wert = ""; break;
403        }
404        return $wert;
405}
406
407// Entschluesslung AX_Namensnummer.eigentuemerart
408function eigentuemerart($key) {
409        // Die hÀufigsten Werte direkt aus den Programmcode liefern, ggf. angepasst.
410        // FÃŒr seltene Werte in der Datenbank nachschlagen.
411        // SchlÃŒsseltabelle dazu ist vorhanden seit 2014-01-22.
412        // Hier Verwendung fÃŒr Text zum Link.
413        // FÃŒr korrekte Wiedergabe der amtlichen Werte einen Join auf Tabelle verwenden statt dieser Function.
414        global $debug;
415        switch ($key) {
416                case 1000: $wert = "Nat&uuml;rliche Person"; break; // singular fuer Link-Text
417                case 2000: $wert = "Juristische Person"; break; // singl.
418                case 3000: $wert = "Körperschaft"; break; // singl.
419                case 4000: $wert = "Kirchliches Eigentum"; break;
420                case 4100: $wert = "Evangelische Kirche"; break;
421                case 4200: $wert = "Katholische Kirche"; break;
422                case 5100: $wert = "Bundesrepublik Deutschland"; break;
423                case 5400: $wert = "Kreis"; break;
424                case 5500: $wert = "Gemeinde"; break;
425                case 5920: $wert = "Land"; break; // "Eigenes Bundesland"
426                case "":   $wert = "Person"; break; // falls (noch) nicht gefuellt
427                default: // Datenbank-Abfrage
428                        $sql="SELECT bezeichner FROM v_namnum_eigart WHERE wert= $1 ;";
429                        $v=array($key);
430                        $res=pg_prepare("", $sql);
431                        $res=pg_execute("", $v);
432                        if ($res) {
433                                $row=pg_fetch_array($res);
434                                $wert=htmlentities($row["bezeichner"], ENT_QUOTES, "UTF-8");
435                                if ($wert == "") {$wert="** Eigent&uuml;merart '".$key."' nicht gefunden **";}
436                        } else {
437                                echo "\n\t<p class='err'>Fehler bei DB-Zugriff auf EigentÃŒmerart.</p>\n";
438                                $wert="** Unbekannte Eigent&uuml;merart '".$key."' **";
439                        }
440                        pg_free_result($res);
441                        break;
442        }
443        return $wert;
444}
445
446// Entschluesslung ax_buchungsblatt.blattart
447function blattart($key) {
448        switch ($key) {
449                case 1000: $wert = "Grundbuchblatt"; break;
450                // Ein Grundbuchblatt ist ein Buchungsblatt, das die Buchung im Grundbuch enthÀlt.
451                case 2000: $wert = "Katasterblatt"; break;
452                // Ein Katasterblatt ist ein Buchungsblatt, das die Buchung im Liegenschaftskataster enthÀlt.
453                case 3000: $wert = "Pseudoblatt"; break;
454                // Ein Pseudoblatt ist ein Buchungsblatt, das die Buchung, die bereits vor Eintrag im Grundbuch Rechtskraft erlangt hat, enthÀlt
455                // (z.B. Übernahme von Flurbereinigungsverfahren, Umlegungsverfahren).
456                case 5000: $wert = "Fiktives Blatt"; break;
457                // Das fiktive Blatt enthÀlt die aufgeteilten GrundstÃŒcke und Rechte als Ganzes.
458                // Es bildet um die Miteigentumsanteile eine fachliche Klammer.
459                default: $wert = "** Unbekannter Wert '".$key."'"; break;
460        }
461        return $wert;
462}
463// Entschluesslung ax_dienststelle.stellenart
464function dienststellenart($key) {
465        switch ($key) {
466                case 1000: $wert = "Grundbuchamt"; break;
467                case 1100: $wert = "Katasteramt"; break;
468                case 1200: $wert = "Finanzamt"; break;
469                case 1300: $wert = "Flurbereinigungsbeh&ouml;rde"; break;
470                case 1400: $wert = "Forstamt"; break;
471                case 1500: $wert = "Wasserwirtschaftsamt"; break;
472                case 1600: $wert = "Straßenbauamt"; break;
473                case 1700: $wert = "Gemeindeamt"; break;
474                case 1900: $wert = "Kreis- oder Stadtverwaltung"; break;
475                case 2000: $wert = "Wasser- und Bodenverband"; break;
476                case 2100: $wert = "Umlegungsstelle"; break;
477                case 2200: $wert = "Landesvermessungsverwaltung"; break;
478                case 2300: $wert = "&Ouml;bVI"; break;
479                case 2400: $wert = "Bundeseisenbahnverm&ouml;gen"; break;
480                case 2500: $wert = "Landwirtschaftskammer"; break;
481                default: $wert = "** Unbekannter Wert '".$key."'"; break;
482        }
483        return $wert;
484}
485?>
Note: See TracBrowser for help on using the repository browser.