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 | */ |
---|
17 | |
---|
18 | function footer($gmlid, $link, $append) { |
---|
19 | // Einen Seitenfuss ausgeben. |
---|
20 | // Den URL-Parameter "&id=j/n" und "&showkey=j/n" in allen Kombinationen umschalten lassen. |
---|
21 | // Die Parameter &gkz= und &gmlid= kommen in allen Modulen einheitlich vor |
---|
22 | |
---|
23 | // Der Parameter $append wird angehaengt wenn gefuellt |
---|
24 | // Anwendung: &eig=j bei FS-NW, <yp=m/p/o bei Lage |
---|
25 | global $gkz, $idumschalter, $idanzeige, $showkey, $hilfeurl; |
---|
26 | |
---|
27 | $customer=$_SESSION["mb_user_name"]; |
---|
28 | echo "\n<div class='confbereich noprint'>"; |
---|
29 | echo "\n<table class='outer'>\n<tr>"; |
---|
30 | |
---|
31 | // Spalte 1: Info Benutzerkennung |
---|
32 | echo "\n\t<td title='Info'><i>Benutzer: ".$customer."</i></td>"; |
---|
33 | |
---|
34 | // Spalte 2: Umschalter |
---|
35 | echo "\n\t<td title='Konfiguration'>"; |
---|
36 | $mylink ="\n\t\t<a class='gmlid' href='".$link."gkz=".$gkz."&gmlid=".$gmlid.$append; |
---|
37 | if ($showkey) {$mykey = "&showkey=j";} else {$mykey = "&showkey=n";} |
---|
38 | if ($idumschalter) { // fuer Entwicklung ODER Test |
---|
39 | if ($idanzeige) {$myid = "&id=j";} else {$myid = "&id=n";} |
---|
40 | |
---|
41 | // Umschalter nur ausgeben, wenn in conf gesetzt |
---|
42 | if ($idanzeige) { // Umschalten ID ein/aus |
---|
43 | echo $mylink.$mykey."&id=n' title='Ohne Verfolgung der ALKIS-Beziehungen'>"; |
---|
44 | echo "<img src='ico/Beziehung_link.ico' width='16' height='16' alt=''> ID aus</a>"; |
---|
45 | } else { |
---|
46 | echo $mylink.$mykey."&id=j' title='Verfolgung der GML-ID in den ALKIS-Beziehungen'>"; |
---|
47 | echo "<img src='ico/Beziehung_link.ico' width='16' height='16' alt=''> ID ein</a>"; |
---|
48 | } |
---|
49 | echo " | "; |
---|
50 | } else { // keinen ID-Umschalter |
---|
51 | $myid = ""; |
---|
52 | } |
---|
53 | |
---|
54 | if ($showkey) { // // Umschalten SchlÃŒssel ein/aus |
---|
55 | echo $mylink.$myid."&showkey=n' title='Verschlüsselungen ausblenden'>Schlüssel aus</a>"; |
---|
56 | } else { |
---|
57 | echo $mylink.$myid."&showkey=j' title='Verschlüsselungen anzeigen'>Schlüssel ein</a>"; |
---|
58 | } |
---|
59 | echo "\n\t</td>"; |
---|
60 | |
---|
61 | // Spalte 3 |
---|
62 | echo "\n\t<td title='Hilfe'>"; |
---|
63 | 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>"; |
---|
64 | echo "\n</tr>\n</table>\n</div>\n"; |
---|
65 | return 0; |
---|
66 | } |
---|
67 | |
---|
68 | function linkgml($gkz, $gml, $typ, $tabelle) { |
---|
69 | // Einen Link zur Verfolgung der Beziehungen mit dem Modul alkisrelationen.php |
---|
70 | // tabelle = nur angeben fÃŒr Tabellen, die Relationen-Spalten besitzen, sonst leer |
---|
71 | $kurzid=substr($gml, 12, 4); // ID in Anzeige kuerzen (4 Zeichen), der Anfang ist immer gleich |
---|
72 | // PostNAS 0.8: Timestamp abschneiden |
---|
73 | echo "\n\t\t<a target='_blank' title='ID ".$typ."' class='gmlid noprint' "; |
---|
74 | echo "href='alkisrelationen.php?gkz=".$gkz."&gmlid=".$gml."&otyp=".$typ."&tabelle=".$tabelle."'>"; |
---|
75 | echo "<img src='ico/Beziehung_link.ico' width='16' height='16' alt=''>".$kurzid."</a>"; |
---|
76 | return 0; |
---|
77 | } |
---|
78 | |
---|
79 | function kurz_namnr($lang) { |
---|
80 | // Namensnummer kÌrzen. Nicht benötigte Stufen der Dezimalklassifikation abschneiden |
---|
81 | $kurz=str_replace(".00","",$lang); // leere Stufen (nur am Ende) |
---|
82 | $kurz=str_replace("0000","",$kurz); // ganz leer (am Anfang) |
---|
83 | $kurz=ltrim($kurz, "0"); // fuehrende Nullen am Anfang |
---|
84 | $kurz=str_replace(".0",".",$kurz); // fuehrende Null jeder Stufe |
---|
85 | return $kurz; |
---|
86 | } |
---|
87 | |
---|
88 | function bnw_fsdaten($con, $lfdnr, $gml_bs, $ba, $anteil, $bvnraus) { |
---|
89 | /* Bestandsnachweis - Flurstuecksdaten |
---|
90 | Die Tabellenzeilen mit den Flurstuecksdaten zu einer Buchungsstelle im Bestandsnachweis ausgeben. |
---|
91 | Die Funktion wird je einmal aufgerufen fÃŒr die Buchungen direkt auf dem GB (Normalfall). |
---|
92 | Weiterere Aufrufe ggf. bei Erbbaurecht fÃŒr die mit "an" verknuepften Buchungsstellen. |
---|
93 | Table-Tag und Kopfzeile im aufrufenden Programm. */ |
---|
94 | global $debug, $gkz, $idanzeige, $showkey; |
---|
95 | |
---|
96 | // F L U R S T U E C K |
---|
97 | $sql="SELECT g.gemarkungsnummer, g.bezeichnung, f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.regierungsbezirk, f.kreis, f.gemeinde, f.amtlicheflaeche |
---|
98 | FROM ax_flurstueck f |
---|
99 | JOIN ax_buchungsstelle s ON f.istgebucht=s.gml_id |
---|
100 | LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer |
---|
101 | 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;"; |
---|
102 | |
---|
103 | $v = array($gml_bs); |
---|
104 | $resf = pg_prepare("", $sql); |
---|
105 | $resf = pg_execute("", $v); |
---|
106 | |
---|
107 | if (!$resf) {echo "<p class='err'>Fehler bei Flurstü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²"; |
---|
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> </td>"; |
---|
127 | echo "\n\t<td> </td>"; |
---|
128 | echo "\n\t<td> </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> ";} // Schluessel |
---|
138 | echo $ba; // entschluesselt |
---|
139 | echo "</td>"; |
---|
140 | echo "\n\t<td> </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><span class='wichtig'>".$fskenn."</span>"; |
---|
151 | if ($idanzeige) {linkgml($gkz, $rowf["gml_id"], "Flurstü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."&gmlid=".$rowf["gml_id"]."&eig=n"; |
---|
157 | if ($idanzeige) {echo "&id=j";} |
---|
158 | if ($showkey) {echo "&showkey=j";} |
---|
159 | echo "' title='Flurstücksnachweis'>Flurstück "; |
---|
160 | echo "<img src='ico/Flurstueck_Link.ico' 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 | |
---|
177 | function 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ü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." "; |
---|
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> </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ü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 " ";} |
---|
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."&gmlid=".$rowp[0]; |
---|
284 | if ($idanzeige) {echo "&id=j";} |
---|
285 | if ($showkey) {echo "&showkey=j";} |
---|
286 | echo $lnknach."' title='vollständiger Name und Adresse eines Eigentümers'>".$eiart; |
---|
287 | echo " <img src='ico/Eigentuemer.ico' 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> </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 " "; |
---|
338 | } |
---|
339 | echo "</td>\n</tr>"; |
---|
340 | } else { // manchmal dopplete Angaben (_straÃe / _str.) |
---|
341 | echo "\n<tr>\n\t<td> </td>\n\t<td><p class='dbg' title='Siehe Auskunft zur Person'>weitere Adresse</p></td>\n\t<td> </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ück oder Recht)."; |
---|
356 | echo "\n<tr>\n\t<td> </td>"; // Sp. 1 |
---|
357 | echo "\n\t<td><p class='avh' title='".$comnt."'>".$zaehler."/".$nenner." Anteil</p></td>"; |
---|
358 | echo "\n\t<td> </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 > 0) { |
---|
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 | } |
---|
367 | if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".$sqlp."<br>$1 = gml(NamNum) = '".$gmlnn."'</p>";} |
---|
368 | } |
---|
369 | echo "</td>\n\t<td> </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 > 0) {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 |
---|
385 | function 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 |
---|
396 | function 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 |
---|
408 | function 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ü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ü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ümerart '".$key."' **"; |
---|
439 | } |
---|
440 | pg_free_result($res); |
---|
441 | break; |
---|
442 | } |
---|
443 | return $wert; |
---|
444 | } |
---|
445 | |
---|
446 | // Entschluesslung ax_buchungsblatt.blattart |
---|
447 | function 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 |
---|
464 | function 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ö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 = "ÖbVI"; break; |
---|
479 | case 2400: $wert = "Bundeseisenbahnvermögen"; break; |
---|
480 | case 2500: $wert = "Landwirtschaftskammer"; break; |
---|
481 | default: $wert = "** Unbekannter Wert '".$key."'"; break; |
---|
482 | } |
---|
483 | return $wert; |
---|
484 | } |
---|
485 | ?> |
---|