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

Revision 330, 19.2 KB checked in by frank.jaeger, 10 years ago (diff)

Umstellung von PostNAS 0.7 auf PostNAS 0.8, ohne Tabelle "alkis_beziehungen".

RevLine 
[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
14        2014-09-10 Bei Relationen den Timestamp abschneiden
[315]15*/
16
[129]17function footer($gmlid, $link, $append) {
[315]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
[129]24        global $gkz, $idumschalter, $idanzeige, $showkey, $hilfeurl;
[315]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
[330]67function linkgml($gkz, $gml, $typ, $tabelle)  {
[315]68        // Einen Link zur Verfolgung der Beziehungen mit dem Modul alkisrelationen.php
[330]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
[315]72        echo "\n\t\t<a target='_blank' title='ID ".$typ."' class='gmlid noprint' ";
[330]73        echo "href='alkisrelationen.php?gkz=".$gkz."&amp;gmlid=".$gml."&amp;otyp=".$typ."&amp;tabelle=".$tabelle."'>";
[315]74        echo "<img src='ico/Beziehung_link.ico' width='16' height='16' alt=''>".$kurzid."</a>";
75        return 0;
76}
77
78function kurz_namnr($lang) {
[330]79        // Namensnummer kÃŒrzen. Nicht benötigte Stufen der Dezimalklassifikation abschneiden
[315]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;
[330]95
[315]96        // F L U R S T U E C K
[330]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) ";
[315]99        $sql.="LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer ";
[330]100        $sql.="WHERE s.gml_id= $1 ORDER BY f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner;";
[315]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);
[330]119                }
120*/
[315]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
[330]139                                        if ($idanzeige) {linkgml($gkz, $gml_bs, "Buchungsstelle", "ax_buchungsstelle");}
[315]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>";
[330]157                                if ($idanzeige) {linkgml($gkz, $rowf["gml_id"], "Flurst&uuml;ck", "ax_flurstueck");}
[315]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:
[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 ";
199        $sqln.="FROM ax_namensnummer n WHERE n.istbestandteilvon= $1 ORDER BY n.laufendenummernachdin1421;";
[315]200
201        $v = array($gmlid);
202        $resn = pg_prepare("", $sqln);
203        $resn = pg_execute("", $v);
204
[123]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>";}
[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."&nbsp;";
[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                        // 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 ";
[330]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                // Timestamp an ID abschneiden!
[315]250
251                $v = array($gmlnn);
252                $resp = pg_prepare("", $sqlp);
253                $resp = pg_execute("", $v);
254
[123]255                if (!$resp) {
256                        echo "\n\t<p class='err'>Fehler bei Person</p>\n";
257                        if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sqlp."<br>$1=gml= '".$gmlnn."'</p>";}
258                }
259
[315]260                $i=0; // cnt Person
[330]261                while($rowp = pg_fetch_array($resp)) {  // ++ Schleife? nn >benennt> Person ist kein Array!
[315]262                        $diePerson="";
263                        if ($rowp["akademischergrad"] <> "") {$diePerson=$rowp["akademischergrad"]." ";}
264                        $diePerson.=$rowp["nachnameoderfirma"];
265                        if ($rowp["vorname"] <> "") {$diePerson.=", ".$rowp["vorname"];}
266                        if ($rowp["namensbestandteil"] <> "") {$diePerson.=". ".$rowp["namensbestandteil"];}
267                        if ($rowp["geburtsdatum"] <> "") {$diePerson.=", geb. ".$rowp["geburtsdatum"];}
268                        if ($rowp["geburtsname"] <> "") {$diePerson.=", geb. ".$rowp["geburtsname"];}
269                        $diePerson=htmlentities($diePerson, ENT_QUOTES, "UTF-8"); // Umlaute
270
271                        // Spalte 1 enthÀlt die Namensnummer, nur in Zeile 0
272                        if ($i > 0) {
273                                echo "\n<tr>\n\t<td>&nbsp;</td>\n\t<td>";
274                        }
275                        // Spalte 2 = Angaben
276                        $eiartkey=$rown["eigentuemerart"];
277                        $eiart=eigentuemerart($eiartkey);
278                        echo "\n\t\t<p class='geig' title='Eigent&uuml;merart: ".$eiart."'>".$diePerson."</p>\n\t</td>";
279
280                        // Spalte 3 = Link
281                        echo "\n\t<td>\n\t\t<p class='nwlink noprint'>";
[330]282                                if ($idanzeige) {linkgml($gkz, $rowp["gml_id"], "Person", "ax_person"); echo "&nbsp";}
283                                if ($showkey AND $eiartkey != '') { // oft leer
284                                                echo "<span class='key'>(".$eiartkey.")</span> ";
285                                }
[315]286                                echo "\n\t\t<a href='".$lnkvor."alkisnamstruk.php?gkz=".$gkz."&amp;gmlid=".$rowp[0];
287                                if ($idanzeige) {echo "&amp;id=j";}
288                                if ($showkey)   {echo "&amp;showkey=j";}
289                                echo $lnknach."' title='vollst&auml;ndiger Name und Adresse eines Eigent&uuml;mers'>".$eiart;
290                                echo " <img src='ico/Eigentuemer.ico' width='16' height='16' alt=''></a>\n\t\t</p>";
291                        echo "\n\t</td>\n</tr>";
292
293                        if ($mitadresse) {
294                                // Schleife 3:  A d r e s s e  (OPTIONAL)
295                                $sqla ="SELECT a.gml_id, a.ort_post, a.postleitzahlpostzustellung AS plz, a.strasse, a.hausnummer, a.bestimmungsland ";
[330]296                                $sqla.="FROM ax_anschrift a JOIN ax_person p ON substring(a.gml_id,1,16) = ANY(p.hat) WHERE p.gml_id= $1 ;"; // ORDER?
[315]297                                $gmlp=$rowp["gml_id"]; // Person
298                                $v = array($gmlp);
299                                $resa = pg_prepare("", $sqla);
300                                $resa = pg_execute("", $v);
301                                if (!$resa) {
[123]302                                        echo "\n\t<p class='err'>Fehler bei Adressen</p>\n";
[315]303                                        if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sqla."<br>$1=gml= '".$gmlp."'</p>";}
[123]304                                }
[315]305                                $j=0;
306                                while($rowa = pg_fetch_array($resa)) {
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>"; // Spalte 1
320                                        echo "\n\t<td><p class='gadr'>"; //Spalte 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>"; // Spalte 3
332                                        if ($idanzeige) {
333                                                echo "<p class='nwlink noprint'>";
[330]334                                                linkgml($gkz, $gmla, "Adresse", "ax_adresse");
[315]335                                                echo "</p>";
336                                        } else {
337                                                echo "&nbsp;";
338                                        }
339                                        echo "</td>\n</tr>";
340                                        $j++;
341                                }
342                                pg_free_result($resa);
343                        } // End if
[330]344                        // 'keine Adresse' kann vorkommen, z.B. "Deutsche Telekom AG"
[315]345
346                        $i++; // cnt Person
347                        // als eigene Tab-Zeile?
348                        // 'Anteil' ist der Anteil der Berechtigten in Bruchteilen (Par. 47 GBO) an einem gemeinschaftlichen Eigentum (GrundstÃŒck oder Recht).
349                        if ($rown["zaehler"] != "") {
350                                echo "\n<tr>\n\t<td>&nbsp;</td>"; // Sp. 1
351                                echo "\n\t<td><p class='avh' title='Anteil'>".$rown["zaehler"]."/".$rown["nenner"]." Anteil</p></td>";
352                                echo "\n\t<td>&nbsp;</td>\n</tr>"; // Sp. 3
353                        }
354                } // End Loop Person
[330]355                if ($i == 0) { // kommt vor hinter Zeile Erbengemeinschaft, ist dann kein Fehler
[123]356                        if ($debug > 0) {
[129]357                                echo "\n<p class='dbg'>Rechtsgemeinschaft = '".$rechtsg."'</p>";
358                                if ($rechtsg != 9999) {
[330]359                                        echo "\n<p class='dbg'>Fehler: Keine Person zur Namensnummer ".$namnum."</p>";
[129]360                                }
[330]361                                if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".$sqlp."<br>$1 = gml(NamNum) = '".$gmlnn."'</p>";}
[315]362                        }
363                        echo "</td>\n\t<td>&nbsp;</td>\n<tr>";
364                }
365                $n++; // cnt NamNum
[41]366        } // End Loop NamNum
[315]367        echo "\n</table>\n";
[123]368        if ($n == 0) {
[330]369                // kommt vor bei "Fiktives Blatt", kein Fehler
[132]370                if ($debug > 0) {echo "<p class='dbg'>keine Namensnummern zum Blatt</p>";}
[330]371
[132]372                if ($debug > 2) {echo "<p class='dbg'>Namensnummern: SQL=<br>".$sqln."<br>$1=gml(Blatt)= '".$gmlid."'</p>";}
[315]373        }
374        pg_free_result($resn);
375        return $n;
376} // End Function eigentuemer
[306]377
[315]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
[306]404function eigentuemerart($key) {
405        // Die hÀufigsten Werte direkt aus den Programmcode liefern, ggf. angepasst.
406        // FÃŒr seltene Werte in der Datenbank nachschlagen.
[315]407        // SchlÃŒsseltabelle dazu ist vorhanden seit 2014-01-22.
[306]408        // Hier Verwendung fÃŒr Text zum Link.
[315]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
[306]413                case 2000: $wert = "Juristische Person"; break; // singl.
[315]414                case 3000: $wert = "Körperschaft"; break; // singl.
[306]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;
[315]421                case 5920: $wert = "Land"; break; // "Eigenes Bundesland"
422                case "":   $wert = "Person"; break; // falls (noch) nicht gefuellt
[306]423                default: // Datenbank-Abfrage
[315]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);
[306]428                        if ($res) {
429                                $row=pg_fetch_array($res);
[315]430                                $wert=htmlentities($row["bezeichner"], ENT_QUOTES, "UTF-8");
431                                if ($wert == "") {$wert="** Eigent&uuml;merart '".$key."' nicht gefunden **";}
[306]432                        } else {
[315]433                                echo "\n\t<p class='err'>Fehler bei DB-Zugriff auf EigentÃŒmerart.</p>\n";
434                                $wert="** Unbekannte Eigent&uuml;merart '".$key."' **";
[306]435                        }
[315]436                        pg_free_result($res);
437                        break;
438        }
439        return $wert;
[306]440}
441
[315]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}
[26]481?>
Note: See TracBrowser for help on using the repository browser.