source: trunk/var/www/info/alkis/alkisfkt.php @ 41

Revision 41, 23.7 KB checked in by frank.jaeger, 14 years ago (diff)
Line 
1<?php
2/*      Modul: alkisfkt.php
3        ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo).
4        Functions
5
6        Version:
7                31.08.2010      $style=ALKIS entfernt, link zu alkislage.php
8                02.09.2010  mit Icons
9*/
10 function footer($gkz, $gmlid, $idanzeige, $link, $hilfeurl, $append) {
11        // Einen Seitenfuss ausgeben.
12        // Den URL-Parameter "&id=j/n" in allen Kombinationen umschalten lassen.
13        // Die Parameter &gkz= und &gmlid= kommen in allen Modulen einheitlich vor
14
15        // Der Parameter "&eig=j" wird angehaengt wenn gefuellt.  // ALT
16        // Der Parameter $append wird angehaengt wenn gefuellt
17        //  Anwendung: &eig=j bei FS-NW, &ltyp=m/p/o bei Lage
18       
19        $customer=$_SESSION["mb_user_name"];
20        echo "\n<div class='confbereich noprint'>";
21
22        echo "\n<table class='outer'>\n<tr>";
23
24        // Spalte 1: Info Benutzerkennung
25        echo "\n\t<td title='Info'><i>Benutzer:&nbsp;".$customer."</i></td>";
26       
27        // Spalte 2: Umschalter
28        echo "\n\t<td title='Konfiguration'>";                 // Umschalter Testmodus I D - A n z e i g e
29                echo "\n\t\t<a class='gmlid' href='".$link."gkz=".$gkz."&amp;gmlid=".$gmlid;
30                //      if ($eig <> "") echo "&amp;eig=".$eig; // nur fuer FS-Nachw
31                        if ($append <> "") echo $append; // nur fuer FS-Nachw
32
33                        if ($idanzeige) { // Umschalten
34                                echo "&amp;id=n' title='Ohne Verfolgung der ALKIS-Beziehungen'>ID aus";
35                        } else {
36                                echo "&amp;id=j' title='Verfolgung der GML-ID in den ALKIS-Beziehungen'>ID ein";
37                        }
38                echo "</a>";
39        echo "\n\t</td>";
40
41        // Spalte 3
42        echo "\n\t<td title='Hilfe'>";
43        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>";
44
45        echo "\n</tr>\n</table>\n</div>\n";         return 0;
46}
47
48function linkgml($gkz, $gml, $typ)  {
49        // Einen Link zur Verfolgung der Beziehungen mit dem Modul alkisrelationen.php
50        $kurzid=substr($gml, 11); // ID kuerzen, der Anfang ist immer gleich         echo "\n\t\t<a target='_blank' title='ID ".$typ."' class='gmlid noprint' href='alkisrelationen.php?gkz=".$gkz."&amp;gmlid=".$gml."&amp;otyp=".$typ."'>".$kurzid."</a>";
51        return 0;
52}
53
54function kurz_namnr($lang) {
55        // Namensnummer kuerzen. Nicht benoetigte Stufen der Dezimalklassifikation abschneiden
56        $kurz=str_replace(".00","",$lang);      // leere Stufen (nur am Ende)
57        $kurz=str_replace("0000","",$kurz);     // ganz leer (am Anfang)
58        $kurz=ltrim($kurz, "0");                                // fuehrende Nullen am Anfang
59        $kurz=str_replace(".0",".",$kurz);      // fuehrende Null jeder Stufe
60        return $kurz;
61}
62
63function fs_gebietszug($con, $gemeinde, $kreis, $bezirk) {
64        // eine Tabellenzeile mit der Gebietszugehoerigkeit eines Flurstuecks wird ausgegeben
65        // Parameter = Schluesselwerte
66        // Schluessel "land" wird nicht verwendet, gibt es Bestaende wo das nicht einheitlich ist?
67
68        echo "\n<tr>\n\t<td class='ll'><img src='ico/Gemeinde.ico' width='16' height='16' alt=''> Im Gebiet von:</td>";
69       
70        // G e m e i n d e
71        $sql="SELECT bezeichnung FROM ax_gemeinde WHERE regierungsbezirk='".$bezirk."' AND kreis='".$kreis."' AND gemeinde='".$gemeinde."' ";
72        $res=pg_query($con, $sql);
73        if (!$res) echo "<p class='err'>Fehler bei Gemeinde<br>".$sql."<br></p>";
74        $row = pg_fetch_array($res);
75        $gnam = htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8");
76        echo "\n\t<td class='lr'>Gemeinde <span class='key'>(".$gemeinde.")</span> ".$gnam."<br>";
77
78        // K r e i s
79        $sql="SELECT bezeichnung FROM ax_kreisregion WHERE regierungsbezirk='".$bezirk."' AND kreis='".$kreis."' ";
80        $res=pg_query($con, $sql);
81        if (!$res) echo "<p class='err'>Fehler bei Kreis<br>".$sql."<br></p>";
82        $row = pg_fetch_array($res);
83        $knam = htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8");
84        echo "Kreis <span class='key'>(".$kreis.")</span> ".$knam."<br>";
85
86        // R e g - B e z
87        $sql="SELECT bezeichnung FROM ax_regierungsbezirk WHERE regierungsbezirk='".$bezirk."' ";
88        $res=pg_query($con, $sql);
89        if (!$res) echo "<p class='err'>Fehler bei Regierungsbezirk<br>".$sql."<br></p>";
90        $row = pg_fetch_array($res);
91        $bnam = htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8");
92        echo "Regierungsbezirk <span class='key'>(".$bezirk.")</span> ".$bnam."</td>";
93       
94        // 3. Spalte fÃŒr NW-Link (in weiteren Tab-Zeilen)
95        echo "\n\t<td>&nbsp;</td>\n</tr>";
96        return 0;
97}
98
99function fs_lage($con, $gmlid, $gkz) {
100        // Tabellenzeilen mit Lage eines FS
101        // Parameter = ID des FS
102
103        // Lagebezeichnung Mit Hausnummer
104        //   ax_flurstueck  >weistAuf>  AX_LagebezeichnungMitHausnummer
105        //                  <gehoertZu<
106        $sql ="SELECT l.gml_id, l.gemeinde, l.lage, l.hausnummer, s.bezeichnung ";
107        $sql.="FROM  alkis_beziehungen v ";
108        $sql.="JOIN  ax_lagebezeichnungmithausnummer  l ON v.beziehung_zu=l.gml_id "; // Strassennamen JOIN
109        $sql.="JOIN  ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND to_char(l.lage, 'FM00000')=s.lage ";
110        $sql.="WHERE v.beziehung_von='".$gmlid."' "; // id FS";
111        $sql.="AND   v.beziehungsart='weistAuf' ";
112        $sql.="ORDER BY l.gemeinde, l.lage, l.hausnummer;";
113
114        // Theoretisch JOIN notwendig ÃŒber den kompletten SchlÃŒssel bestehend aus land+regierungsbezirk+kreis+gemeinde+lage
115        // bei einem SekundÀrbestand fÃŒr eine Gemeinde oder einen Kreis reicht dies hier:
116
117        //$sql.="JOIN  ax_lagebezeichnungkatalogeintrag s ON l.gemeinde=s.gemeinde AND l.lage=s.lage ";
118        // Problem: ax_lagebezeichnungkatalogeintrag.lage  ist char,
119        //          ax_lagebezeichnungmithausnummer.lage   ist integer,
120
121        // cast() scheitert weil auch nicht numerische Inhalte
122        //$sql.="JOIN  ax_lagebezeichnungkatalogeintrag s ON l.gemeinde=s.gemeinde AND l.lage=cast(s.lage AS integer) ";
123
124        // http://www.postgresql.org/docs/8.3/static/functions-formatting.html
125
126        $res=pg_query($con, $sql);
127        if (!$res) {echo "<p class='err'>Fehler bei Lagebezeichnung mit Hausnummer<br>\n".$sql."</p>";}
128        $j=0;
129        while($row = pg_fetch_array($res)) {
130                $sname = htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); // Str.-Name
131                //echo "<!-- Adresse -->";             
132                echo "\n<tr>\n\t";
133                        if ($j == 0) {         
134                                echo "<td class='ll'><img src='ico/Lage_mit_Haus.ico' width='16' height='16' alt=''> Adresse:</td>";
135                        } else {
136                                echo "<td>&nbsp;</td>";
137                        }
138                        echo "\n\t<td class='lr'><span class='key'>(".$row["lage"].")</span>&nbsp;".$sname."&nbsp;".$row["hausnummer"]."</td>";
139                        echo "\n\t<td><p class='nwlink noprint'><a href='alkislage.php?gkz=".$gkz."&amp;ltyp=m&amp;gmlid=".$row["gml_id"]."'>Lage</a></p></td>";
140                echo "\n</tr>";
141                $j++;
142        }
143        $z=$j;
144
145        // Lagebezeichnung Ohne Hausnummer (Gewanne oder nur Strasse)
146        //   ax_flurstueck  >zeigtAuf>  AX_LagebezeichnungOhneHausnummer
147        //                  <gehoertZu<
148        $sql ="SELECT l.gml_id, l.unverschluesselt, l.gemeinde, l.lage, s.bezeichnung ";
149        $sql.="FROM alkis_beziehungen v ";
150        $sql.="JOIN ax_lagebezeichnungohnehausnummer l ON l.gml_id=v.beziehung_zu ";
151        $sql.="LEFT JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde ";
152//      $sql.="AND l.lage=s.lage ";
153        // hier beide .lage als Char(5)
154        //  in ax_lagebezeichnungKatalogeintrag mit fÃŒhrenden Nullen
155        //  in ax_lagebezeichnungOhneHausnummer jedoch ohne fÃŒhrende Nullen
156        $sql.="AND l.lage=trim(leading '0' from s.lage) ";
157//      $sql.="AND cast(l.lage AS integer)=cast(s.lage AS integer) "; // Fehlversuch, auch nicht-numerische Inhalte
158        $sql.="WHERE v.beziehung_von='".$gmlid."' "; // id FS";
159        $sql.="AND   v.beziehungsart='zeigtAuf';"; //ORDER?
160        $res=pg_query($con, $sql);
161        if (!$res) echo "<p class='err'>Fehler bei Lagebezeichnung ohne Hausnummer<br>\n".$sql."</p>";
162        $j=0;
163        // Es wird auch eine Zeile ausgegeben, wenn kein Eintrag gefunden!     
164        while($row = pg_fetch_array($res)) {
165                $gewann = htmlentities($row["unverschluesselt"], ENT_QUOTES, "UTF-8");                 $skey=$row["lage"]; // Strassenschluessel
166                $lgml=$row["gml_id"]; // key der Lage
167                if (!$gewann == "") {
168                        echo "\n<tr>";         
169                                echo "\n\t<td class='ll'><img src='ico/Lage_Gewanne.ico' width='16' height='16' alt=''> Gewanne:</td>";
170                                echo "\n\t<td class='lr'>".$gewann."</td>";
171                                echo "\n\t<td><p class='nwlink noprint'><a title='Lagebezeichnung Ohne Hausnummer' href='alkislage.php?gkz=".$gkz."&amp;ltyp=o&amp;gmlid=".$lgml."'>Lage</a></p></td>";
172                        echo "\n</tr>";         
173                }
174                // Gleicher DB-Eintrag in zwei HTML-Zeilen, besser nur ein Link
175                if ($skey > 0) {
176                        echo "\n<tr>"; 
177                                echo "\n\t<td class='ll'><img src='ico/Lage_an_Strasse.ico' width='16' height='16' alt=''> Stra&szlig;e:</td>";                         
178                                echo "\n\t<td class='lr'><span class='key'>(".$skey.")</span>&nbsp;".$row["bezeichnung"]."</td>";
179                                echo "\n\t<td><p class='nwlink noprint'><a  title='Lagebezeichnung Ohne Hausnummer' href='alkislage.php?gkz=".$gkz."&amp;ltyp=o&amp;gmlid=".$lgml."'>Lage</a></p></td>";
180                        echo "\n</tr>";
181                }               
182                $j++;
183        }
184        $z=$z+$j;         //echo "<p class='err'>Anzahl ".$j."<br>SQL=<br>".$sql."<br></p>";     
185        return $z; // Summe der ausgegebenen Zeilen
186}
187
188function fs_nutz($con, $gmlid) {
189        // Tabellenzeilen (3 Sp.) mit tats. Nutzung zu einem FS ausgeben
190        // Parameter = ID des FS
191        echo "\n<tr>\n\t<td class='ll'><img src='ico/Abschnitt.ico' width='16' height='16' alt=''> Nutzungsarten:</td>";
192        echo "\n\t<td class='ph'>(Programmteil ist noch in Arbeit)</td>";
193        echo "\n\t<td>&nbsp;</td>\n</tr>";
194}
195
196function bnw_fsdaten($con, $gkz, $idanzeige, $lfdnr, $gml_bs, $ba, $anteil, $bvnraus) {
197/*      Bestandsnachweis - Flurstuecksdaten
198        Die Tabellenzeilen mit den Flurstuecksdaten zu einer Buchungsstelle im Bestandsnachweis ausgeben.
199        Die Funktion wird je einmal aufgerufen fÃŒr die Buchungen direkt auf dem GB (Normalfall).
200        Weiterere Aufrufe ggf. bei Erbbaurecht fÃŒr die mit "an" verknuepften Buchungsstellen.
201        Table-Tag und Kopfzeile im aufrufenden Programm.
202*/
203
204        // F L U R S T U E C K
205        $sql="SELECT g.gemarkungsnummer, g.bezeichnung, ";
206        $sql.="f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.regierungsbezirk, f.kreis, f.gemeinde, f.amtlicheflaeche ";
207        $sql.="FROM ax_gemarkung g ";
208        $sql.="JOIN ax_flurstueck f ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer ";
209        $sql.="JOIN alkis_beziehungen v ON f.gml_id=v.beziehung_von ";
210        $sql.="WHERE v.beziehung_zu='".$gml_bs."' "; // id buchungsstelle
211        $sql.="AND   v.beziehungsart='istGebucht' ";
212        $sql.="ORDER BY f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner;";
213        $resf=pg_query($con,$sql);
214        if (!$resf) {echo "<p class='err'>Fehler bei Flurst&uuml;ck<br><br>".$sql."</p>\n";}
215        if($bvnraus) { // nur bei direkten Buchungen die lfdNr ausgeben
216                $bvnr=str_pad($lfdnr, 4, "0", STR_PAD_LEFT);   
217        }
218        $altlfdnr="";
219        $j=0;
220        while($rowf = pg_fetch_array($resf)) {
221                if ($rowf["nenner"] != "") {$fskenn.="/".str_pad($rowf["nenner"], 3, "0", STR_PAD_LEFT);}
222                $flae=number_format($rowf["amtlicheflaeche"],0,",",".") . " m&#178;";
223                $flur=str_pad($rowf["flurnummer"], 3, "0", STR_PAD_LEFT);
224                $fskenn=str_pad($rowf["zaehler"], 5, "0", STR_PAD_LEFT);
225                echo "\n<tr>"; // eine Zeile je Flurstueck
226
227                // Sp. 1-3 der Tab. aus Buchungsstelle, nicht aus FS
228                if($lfdnr == $altlfdnr) {       // gleiches Grundstueck         
229                        echo "\n\t<td>&nbsp;</td>\n\t<td>&nbsp;</td>\n\t<td>&nbsp;</td>";
230                } else {
231                        echo "\n\t<td><img src='ico/Grundstueck.ico' width='16' height='16' alt='' title='Grundst&uuml;ck' /> <span class='wichtig'>".$bvnr."</span>";  // BVNR
232                        if ($idanzeige) {linkgml($gkz, $gml_bs, "Buchungsstelle");}
233                        echo "</td>";
234                        echo "\n\t<td>".$ba."</td>"; // Buchungsart entschluesselt                         echo "\n\t<td>&nbsp;</td>"; // Anteil
235                        $altlfdnr=$lfdnr;       
236                }               
237                //Sp. 4-7 aus Flurstueck
238                echo "\n\t<td><span class='key'>".$rowf["gemarkungsnummer"]."</span> ".$rowf["bezeichnung"]."</td>";
239                echo "\n\t<td>".$flur."</td>";
240                echo "\n\t<td><span class='wichtig'>".$fskenn."</span>";
241                if ($idanzeige) {linkgml($gkz, $rowf["gml_id"], "Flurst&uuml;ck");}
242                echo "</td>\n\t<td class='fla'>".$flae."</td>";
243
244                echo "\n\t<td><p class='nwlink noprint'>";
245                echo "<a href='alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$rowf["gml_id"]."&amp;eig=n";
246                if ($idanzeige) {echo "&amp;id=j";}
247                echo "' title='Flurst&uuml;cksnachweis'>Flurst&uuml;ck <img src='ico/Flurstueck_Link.ico' width='16' height='16' alt=''></a></p></td>\n</tr>";
248
249                $j++;
250        } // Ende Flurstueck
251        return $j;
252}
253
254function eigentuemer($con, $gkz, $idanzeige, $gmlid, $mitadresse) {
255        // Tabelle mit Eigentuemerdaten zu einem Grundbuchblatt ausgeben
256        // Sp.1 = Namennummer, Sp. 2 = Name / Adresse, Sp. 3 = Link
257        // Parameter:
258        //              $gmlid = ID des GB-Blattes
259        //              $mitadresse = Option (true/false) ob auch die Adresszeile ausgegeben werden soll
260        // Return = Anzahl Namensnummern
261       
262        // Schleife 1: N a m e n s n u m m e r
263        // Beziehung: ax_namensnummer  >istBestandteilVon>  ax_buchungsblatt
264       
265        $sql="SELECT n.gml_id, n.laufendenummernachdin1421 AS lfd, n.zaehler, n.nenner, ";
266        $sql.="n.artderrechtsgemeinschaft AS adr, n.beschriebderrechtsgemeinschaft as beschr, n.eigentuemerart, n.anlass ";
267        $sql.="FROM  ax_namensnummer   n ";
268        $sql.="JOIN  alkis_beziehungen b ON b.beziehung_von=n.gml_id ";
269        $sql.="WHERE b.beziehung_zu='".$gmlid."' "; // id blatt
270        $sql.="AND   b.beziehungsart='istBestandteilVon' ";
271        $sql.="ORDER BY laufendenummernachdin1421;";
272       
273        $resn=pg_query($con, $sql);
274        if (!$resn) {echo "<p class='err'>Fehler bei Eigentuemer<br>SQL= ".$sql."<br></p>\n";}
275
276        echo "<p class='nwlink noprint'>weitere Auskunft:</p>"; // oben rechts von der Tabelle
277        echo "\n<table class='eig'>";
278        $n=0; // Z.NamNum.
279
280        //echo "\n\n<!-- vor Schleife 1 Namensnummer -->";     
281        while($rown = pg_fetch_array($resn)) {
282                echo "\n<tr>";
283                        echo "\n\t<td class='nanu' title='Namens-Nummer'><p>"; // Sp. 1
284                                // VOR die Tabelle: "EigentÃŒmer"
285                                $namnum=kurz_namnr($rown["lfd"]);
286                                echo $namnum."&nbsp;";
287                                if ($idanzeige) {linkgml($gkz, $rown["gml_id"], "Namensnummer");}
288                        echo "</p></td>";
289
290                        echo "\n\t<td>"; // Sp. 2
291                        $rechtsg=$rown["adr"];
292                        if ($rechtsg != "" ) {
293                                if ($rechtsg == 9999) { // sonstiges
294                                        echo "<p class='zus' title='Beschrieb der Rechtsgemeinschaft'>".htmlentities($rown["beschr"], ENT_QUOTES, "UTF-8")."</p>";
295                                } else {
296                                        echo "<p class='zus' title='Art der Rechtsgemeinschaft'>".htmlentities(rechtsgemeinschaft($rown["adr"]), ENT_QUOTES, "UTF-8")."</p>";
297                                        // !! Feld /td und Zeile /tr nicht geschlossen
298                                        //      echo "\n\t</td>\n</tr>"; // !!! IMMER? oder nur wenn letzte Zeile?                     
299                                }
300                        }
301                        //if ($rown["anlass"] > 0 ) {echo "<p>Anlass=".$rown["anlass"]."</p>";} // TEST:
302               
303                        //echo "\n\t\t</td>\n\t\t<td></td>\n</tr>";
304               
305                        // Schleife Ebene 2: andere Namensnummern
306                        // Beziehung   ax_namensnummer >bestehtAusRechtsverhaeltnissenZu>  ax_namensnummer
307               
308                        // Die Relation 'Namensnummer' besteht aus RechtsverhÀltnissen zu 'Namensnummer' sagt aus,
309                        // dass mehrere Namensnummern zu einer Rechtsgemeinschaft gehören können.
310                        // Die Rechtsgemeinschaft selbst steht unter einer eigenen AX_Namensnummer,
311                        // die zu allen Namensnummern der Rechtsgemeinschaft eine Relation besitzt.
312               
313                        // Die Relation 'Namensnummer' hat VorgÀnger 'Namensnummer' gibt Auskunft darÃŒber,
314                        // aus welchen Namensnummern die aktuelle entstanden ist.
315       
316                // Schleife 2: P e r s o n 
317                // Beziehung: ax_person  <benennt<  ax_namensnummer
318                $sql="SELECT p.gml_id, p.nachnameoderfirma, p.vorname, p.geburtsname, p.geburtsdatum, p.namensbestandteil, p.akademischergrad ";
319                $sql.="FROM  ax_person p ";
320                $sql.="JOIN  alkis_beziehungen v ON v.beziehung_zu=p.gml_id ";
321                $sql.="WHERE v.beziehung_von='".$rown["gml_id"]."' "; // id num
322                $sql.="AND   v.beziehungsart='benennt';";
323                //echo "\n\t<p class='err'>Schleife Person SQL=<br>".$sql."</p>"; // test
324       
325                $rese=pg_query($con, $sql);
326                if (!$rese) {echo "\n\t<p class='err'>Fehler bei Eigentuemer<br>SQL= ".$sql."<br></p>\n";}
327                $i=0; // Z.Eig.
328                //echo "\n<!-- vor Schleife 2 Person -->";             
329                while($rowe = pg_fetch_array($rese)) {
330                        $diePerson="";
331                        if ($rowe["akademischergrad"] <> "") {$diePerson=$rowe["akademischergrad"]." ";}
332                        $diePerson.=$rowe["nachnameoderfirma"];
333                        if ($rowe["vorname"] <> "") {$diePerson.=", ".$rowe["vorname"];}
334                        if ($rowe["namensbestandteil"] <> "") {$diePerson.=". ".$rowe["namensbestandteil"];}
335                        if ($rowe["geburtsdatum"] <> "") {$diePerson.=", geb. ".$rowe["geburtsdatum"];}
336                        if ($rowe["geburtsname"] <> "") {$diePerson.=", geb. ".$rowe["geburtsname"];}
337                        $diePerson=htmlentities($diePerson, ENT_QUOTES, "UTF-8"); // Umlaute
338       
339                        // Spalte 1 enthÀlt die Namensnummer, nur in Zeile 0
340                        if ($i > 0) {
341                                echo "\n<tr>\n\t<td>&nbsp;</td>\n\t<td>";
342                        }
343                        // Spalte 2 = Angaben
344                        echo "<p class='geig' title='Eigent&uuml;merart ".eigentuemerart($rown["eigentuemerart"])."'>".$diePerson."</p></td>";
345
346                        // Spalte 3 = Link                         echo "\n\t<td><p class='nwlink noprint'>";
347                                if ($idanzeige) {linkgml($gkz, $rowe["gml_id"], "Person"); echo "&nbsp";}
348                                echo "<a href='alkisnamstruk.php?gkz=".$gkz."&amp;gmlid=".$rowe[0];
349                                if ($idanzeige) {echo "&amp;id=j";}
350                                echo "' title='vollst&auml;ndiger Name und Adresse eines Eigent&uuml;mers'>Person <img src='ico/Eigentuemer.ico' width='16' height='16' alt=''></a></p>";
351                        echo "</td>\n</tr>";
352       
353                        if ($mitadresse) {
354                                // Schleife 3:  A d r e s s e  (OPTIONAL)
355                                $sql ="SELECT a.gml_id, a.ort_post, a.postleitzahlpostzustellung AS plz, a.strasse, a.hausnummer, a.bestimmungsland ";
356                                $sql.="FROM ax_anschrift a ";
357                                $sql.="JOIN alkis_beziehungen b ON a.gml_id=b.beziehung_zu ";
358                                $sql.="WHERE b.beziehung_von='".$rowe["gml_id"]."' ";
359                                $sql.="AND b.beziehungsart='hat';"; // ORDER?
360
361                                $resa=pg_query($con,$sql);
362                                if (!$resa) {
363                                        echo "\n\t<p class='err'>Fehler bei Adressen.<br>\nSQL= ".$sql."</p>\n";
364                                }
365                                $j=0;
366                                //echo "\n<!-- vor Schleife 3 Adresse -->";     
367                                while($rowa = pg_fetch_array($resa)) {
368                                        $gmla=$rowa["gml_id"];
369                                        $plz=$rowa["plz"]; // integer
370                                        if($plz == 0) {
371                                                $plz="";
372                                        } else {
373                                                $plz=str_pad($plz, 5, "0", STR_PAD_LEFT);
374                                        }
375                                        $ort=htmlentities($rowa["ort_post"], ENT_QUOTES, "UTF-8");
376                                        $str=htmlentities($rowa["strasse"], ENT_QUOTES, "UTF-8");
377                                        $hsnr=$rowa["hausnummer"];
378                                        $land=htmlentities($rowa["bestimmungsland"], ENT_QUOTES, "UTF-8");
379
380                                        echo "\n<tr>\n\t<td>&nbsp;</td>"; // Spalte 1
381                                        echo "\n\t<td><p class='gadr'>"; //Spalte 2
382                                        if ($str.$hsnr != "") {
383                                                echo $str." ".$hsnr."<br>";
384                                        }
385                                        if ($plz.$ort != "") {
386                                                echo $plz." ".$ort;
387                                        }
388                                        if ($land != "" and $land != "DEUTSCHLAND") {
389                                                echo ", ".$land;
390                                        }
391                                        echo "</p></td>";
392                                        echo "\n\t<td>"; // Spalte 3
393                                        if ($idanzeige) {
394                                                echo "<p class='nwlink noprint'>";
395                                                linkgml($gkz, $gmla, "Adresse");
396                                                echo "</p>";
397                                        } else {
398                                                echo "&nbsp;";                                 
399                                        }
400                                        echo "</td>\n</tr>";
401                                        $j++;
402                                }
403                                //echo "\n<!-- nach Schleife 3 Adresse -->";
404                        } // if
405                        // 'keine Adresse' kann vorkommen, z.B. "Deutsche Telekom AG"
406                        $i++; // Z. Person
407                        // als eigene Tab-Zeile?
408                        // 'Anteil' ist der Anteil der Berechtigten in Bruchteilen (Par. 47 GBO)
409                        // an einem gemeinschaftlichen Eigentum (GrundstÃŒck oder Recht).
410                        if ($rown["zaehler"] != "") {
411                                echo "\n<tr>\n\t<td>&nbsp;</td>"; // Sp. 1
412                                echo "\n\t<td><p class='avh' title='Anteil'>".$rown["zaehler"]."/".$rown["nenner"]." Anteil</p></td>";
413                                echo "\n\t<td>&nbsp;</td>\n</tr>"; // Sp. 3
414                        }
415                }
416                //echo "\n<!-- nach Schleife 2 Person -->";     
417               
418                if ($i == 0) { // keine Pers zur NamNum
419                        echo "\n<!-- Rechtsgemeinscahft='".$rechtsg."' -->";
420                        // Wann warnen?
421                        //if ($rechtsg != 9999) {
422                                // Art der Rechtsgemeinsachft, 0 Eigent. ist Normal bei Sondereigentum
423                                //echo "\n<tr>\n<td>";
424                                //linkgml($gkz, $rown["gml_id"], "Namensnummer");
425                                //echo "</td>\n<td>\n\t\t<p class='err'>Kein Eigent&uuml;mer gefunden. (Rechtsgemeinschaft=".$rechtsg.")</p>";
426                        //}
427                        echo "</td>\n\t<td>&nbsp;</td>\n<tr>";
428                }
429                $n++; // cnt NamNum     
430        } // End Loop NamNum
431        //echo "\n<!-- nach Schleife 1 Namensnummer -->";       
432        echo "\n</table>\n";   
433        return $n;
434} // End Function eigentuemer
435
436// **  Functions  zum   E n t s c h l u e s s e l n  **
437
438// Entschluesslung ax_person.anrede
439function anrede($key) {
440        switch ($key) {
441                case 1000:
442                        $wert = "Frau";
443                        break;
444                case 2000:
445                        $wert = "Herr";
446                        break;
447                case 3000:
448                        $wert = "Firma";
449                        break;
450                default:
451                        $wert = "";
452                        break;
453        }
454        return $wert;
455}
456// Entschluesslung buchungsart
457// Die Buchungsarten mit Wertearten 1101, 1102, 1401 bis 1403, 2201 bis 2205 und 2401 bis 2404 können nur auf einem Fiktiven Blatt vorkommen.
458// Die Attributart 'Anteil' ist dann immer zu belegen.
459function buchungsart($key) {
460        switch ($key) {
461                case 1100:
462                        $wert = "Grundst&uuml;ck";
463                        break;
464                case 1101:
465                        $wert = "Aufgeteiltes GrundstÃŒck WEG";
466                        break;
467                case 1102:
468                        $wert = "Aufgeteiltes GrundstÃŒck Par. 3 Abs. 4 GBO";
469                        break;
470                case 1301:
471                        $wert = "Wohnungs-/Teileigentum";
472                        break;
473                case 1302:
474                        $wert = "Miteigentum Par. 3 Abs. 4 GBO";
475                        break;
476                case 2101:
477                        $wert = "Erbbaurecht";
478                        break;
479                case 2102:
480                        $wert = "Untererbbaurecht";
481                        break;
482                case 2201:
483                        $wert = "Aufgeteiltes Erbbaurecht WEG";
484                        break;
485                case 2301:
486                        $wert = "Wohnungs-/Teilerbbaurecht";
487                        break;
488                case 2302:
489                        $wert = "Wohnungs-/Teiluntererbbaurecht";
490                        break;
491                case 5101:
492                        $wert = "Von Buchungspflicht befreit Par. 3 Abs. 2 GBO";
493                        break;
494                default:
495                        $wert = "";
496                        break;
497        }
498        return $wert;
499}
500// Entschluesslung AX_Namensnummer.artDerRechtsgemeinschaft
501function rechtsgemeinschaft($key) {
502        switch ($key) {
503                case 1000:
504                        $wert = "Erbengemeinschaft";
505                        break;
506                case 2000:
507                        $wert = "GÃŒtergemeinschaft";
508                        break;
509                case 3000:
510                        $wert = "BGB-Gesellschaft";
511                        break;
512                case 9999:
513                        $wert = "Sonstiges";
514                // dann: beschriebDerRechtsgemeinschaft
515                        break;
516                default:
517                        $wert = "";
518                        break;
519        }
520        return $wert;
521}
522// Entschluesslung AX_Namensnummer.eigentuemerart
523function eigentuemerart($key) {
524        switch ($key) {
525                case 1000:
526                        $wert = "Nat&uuml;rliche Personen";
527                        break;
528
529                case 2000:
530                        $wert = "Juristische Personen";
531                        break;
532
533                case 3000:
534                        $wert = "K&ouml;rperschaften";
535                        break;
536                default:
537                        $wert = "** Unbekannter Wert '".$key."'";;
538                        break;
539        }
540        return $wert;
541}
542// Entschluesslung ax_buchungsblatt.blattart
543function blattart($key) {
544        switch ($key) {
545                case 1000:
546                        $wert = "Grundbuchblatt";
547                        // Ein Grundbuchblatt ist ein Buchungsblatt, das die Buchung im Grundbuch enthÀlt.
548                        break;
549                case 2000:
550                        $wert = "Katasterblatt";
551                        // Ein Katasterblatt ist ein Buchungsblatt, das die Buchung im Liegenschaftskataster enthÀlt.
552                        break;
553                case 3000:
554                        $wert = "Pseudoblatt";
555                        // Ein Pseudoblatt ist ein Buchungsblatt, das die Buchung, die bereits vor Eintrag im Grundbuch Rechtskraft erlangt hat, enthÀlt
556                        // (z.B. Übernahme von Flurbereinigungsverfahren, Umlegungsverfahren).
557                        break;
558                case 5000:
559                        $wert = "Fiktives Blatt";
560                        // Das fiktive Blatt enthÀlt die aufgeteilten GrundstÃŒcke und Rechte als Ganzes.
561                        // Es bildet um die Miteigentumsanteile eine fachliche Klammer.
562                        break;
563                default:
564                        $wert = "** Unbekannter Wert '".$key."'";;
565                        break;
566        }
567        return $wert;
568}
569// Entschluesslung ax_dienststelle.stellenart
570function dienststellenart($key) {
571        switch ($key) {
572                case 1000:
573                        $wert = "Grundbuchamt";
574                        break;
575                case 1100:
576                        $wert = "Katasteramt";
577                        break;
578                case 1200:
579                        $wert = "Finanzamt";
580                        break;
581                case 1300:
582                        $wert = "Flurbereinigungsbeh&ouml;rde";
583                        break;
584                case 1400:
585                        $wert = "Forstamt";
586                        break;
587                case 1500:
588                        $wert = "Wasserwirtschaftsamt";
589                        break;
590                case 1600:
591                        $wert = "Straßenbauamt";
592                        break;
593                case 1700:
594                        $wert = "Gemeindeamt";
595                        break;
596                case 1900:
597                        $wert = "Kreis- oder Stadtverwaltung";
598                        break;
599                case 2000:
600                        $wert = "Wasser- und Bodenverband";
601                        break;
602                case 2100:
603                        $wert = "Umlegungsstelle";
604                        break;
605                case 2200:
606                        $wert = "Landesvermessungsverwaltung";
607                        break;
608                case 2300:
609                        $wert = "&Ouml;bVI";
610                        break;
611                case 2400:
612                        $wert = "Bundeseisenbahnverm&ouml;gen";
613                        break;
614                case 2500:
615                        $wert = "Landwirtschaftskammer";
616                        break;
617                default:
618                        $wert = "** Unbekannter Wert '".$key."'";
619                        break;
620        }
621        return $wert;
622}
623?>
Note: See TracBrowser for help on using the repository browser.