1) {echo "\n

Session nicht gesetzt

";} } elseif ( !isset($_SESSION["mb_user_name"]) ) { if ($dbg > 1) {echo "\n

username nicht gesetzt

";} } else { $customer = $_SESSION["mb_user_name"]; // angemeldeter Benutzer } if ($customer == "") { // Wer bin ich? echo "

Aufruf nur aus Mapbender erlaubt.

"; return 0; } elseif ($customer == $mb_guest_user) { // in conf festgelegt echo "

Eine Anmeldung im Mapbender ist notwendig.

"; return 0; // gast-User darf nix } else { return 1; // echter User, ist erlaubt } } else { echo "\n

Die Berechtigungs-Prüfung ist falsch konfiguriert

"; return 0; // verboten } } function footer($gmlid, $link, $append) { // Einen Seitenfuß ausgeben. // Die Parameter &gkz= und &gmlid= kommen in allen Modulen einheitlich vor // Den URL-Parameter "&showkey=j/n" umschalten lassen. // $append wird angehängt wenn gefüllt. Anwendung: &eig=j bei FSNW, <yp=m/p/o bei Lage global $gkz, $showkey, $hilfeurl, $debug, $dbg, $customer; echo "\n\n"; return 0; } function UnqKatAmt($t1, $t2){ // Wenn der Datenbestand aus NBA-Verfahren mehrerer Katasterämter gemixt wurde, dann muss beim SQL-JOIN auf einige Schlüsseltabellen // zusätzlich dafür gesort werden, dass nur die Schlüssel des gleichen Katasteramtes verwendet werden. Sonst bekommt man redundante Treffer. // Benötigt den Alias der zu verbindenden Tabellen. // Liefert einen String zum Einfügen hinter "JOIN .. ON". global $katAmtMix; // aus Conf if ($katAmtMix){ return "AND substr(".$t1.".gml_id,1,6) = substr(".$t2.".gml_id,1,6) "; } else { return ""; } } function LnkStf(){ // Link-Staffeltab - Die Parameter showkey und nodebug im href eines -Tag an ein anderes Modul weiter geben. // Gibt einen String zurück, der im href eingefügt wird. global $debug, $dbg, $showkey; if ($showkey) { // Schlüssel anzeigen $ret="&showkey=j"; } else { $ret=""; } // Nur relevant in einer Entwicklungsumgebung: // Falls debug-Ausgaben erlaubt sind (conf) kann man das temporär einschränken, umgekehrt nicht. // $dbg = aktueller Arbeitswert, $debug = aus Conf. if ($dbg === 0 AND $debug > 0){ $ret.="&nodebug=j"; } return $ret; } function DsKy($derKey, $Tipp){ // Display Key - Optional einen ALKIS-internen Schlüsselwert vor dem entschlüsselten Wert ausgeben. // Die Option wird gesteuert durch einen Schalter im Seitenfuß. // Liefert einen HTML-Text zur Verwendung in einem Echo-Befehl. Zur Verkettung mit Literalen. global $showkey; $Tipp = str_replace("*", "Schlüssel", $Tipp); // häufig verwendet if ($showkey and $derKey != "") { $html="(".$derKey.") "; } else { $html=""; } return $html; } function ber_bs_zaehl($gmls) { // Berechtigte Buchungs-Stellen zählen. global $con; // Buchungstelle dienend <(Recht)an< Buchungstelle herrschend $sql ="SELECT count(sh.gml_id) AS anz FROM ax_buchungsstelle sd JOIN ax_buchungsstelle sh ON sd.gml_id=ANY(sh.an) " ."WHERE sd.gml_id= $1 AND sh.endet IS NULL AND sd.endet IS NULL;"; $v = array($gmls); // GML dienende Buchungs-Stelle $resan = pg_prepare($con, "", $sql); $resan = pg_execute($con, "", $v); if (!$resan) {echo "\n

Fehler bei 'berechtigte Buchungsstellen zählen'.

";} $rowan = pg_fetch_assoc($resan); $anz=$rowan["anz"]; pg_free_result($resan); return $anz; // Funktionswert = Anzahl der berechtigten Buchungen } function buchung_anzg($gmlbs, $eig, $jsfenster, $gml_fs, $trtyp) { // In einem FS-Nachw. EINE Buchungsstelle anzeigen. // Parameter: // $gmlbs: GML-ID der anzuzeigenden Buchungs-Stelle // $eig: Eigentümer ausgeben j/n // $jsfenster: Javascript-Funktion zum Verlassen des Feature-Info-Fensters verwenden (bool) // $gml_fs: GML-ID des Flurstücke (nur bei erstem Aufruf in einem FS-Nachweis notwendig) // $trtyp: Tabellen-Zeilen-Typ. Werte: 1="mit GS-Link", 2="ohne GS-Link", 3="ohne GS-Link +Zeile einfärben" global $gkz, $dbg, $showkey, $bartgrp, $barttypgrp, $stufe, $katAmtMix, $con; $sqlbs="SELECT sh.gml_id AS hgml, sh.buchungsart, sh.laufendenummer as lfd, sh.zaehler, sh.nenner, sh.nummerimaufteilungsplan as nrpl, sh.beschreibungdessondereigentums as sond, " // Buchungs-Stelle herrschend ."b.gml_id AS g_gml, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung as blatt, b.blattart, z.bezeichnung, a.beschreibung AS bart, a.dokumentation AS barttitle, w.beschreibung AS blattartv " ."FROM ax_buchungsstelle sh " ."JOIN ax_buchungsblatt b ON b.gml_id=sh.istbestandteilvon " ."LEFT JOIN ax_buchungsblattbezirk z ON z.land=b.land AND z.bezirk=b.bezirk ".UnqKatAmt("z","b") ."LEFT JOIN ax_buchungsart_buchungsstelle a ON sh.buchungsart = a.wert " // entschl. Buchungsart ."LEFT JOIN ax_blattart_buchungsblatt w ON b.blattart = w.wert " // entschl. Blatt-Art ."WHERE sh.gml_id= $1 AND sh.endet IS NULL AND b.endet IS NULL AND z.endet IS NULL;"; $v = array($gmlbs); // ID dienende Buchungs-Stelle $resbs = pg_prepare($con, "", $sqlbs); $resbs = pg_execute($con, "", $v); if (!$resbs) { echo "\n

Fehler bei 'Buchungsstelle ausgeben'.

"; if ($dbg > 2) {echo "\n

SQL=
".htmlentities(str_replace("$1", "'".$gmlbs."'", $sqlbs), ENT_QUOTES, "UTF-8")."

";} } $gezeigt = 0; // Funktionswert default if ($dbg > 0) { $zeianz=pg_num_rows($resbs); if ($zeianz > 1){ echo "\n

Die Abfrage liefert mehr als eine (".$zeianz.") Buchung!

"; if ($dbg > 2) {echo "\n

SQL=
".htmlentities(str_replace("$1","'".$gmlid."'",$sqlbs), ENT_QUOTES, "UTF-8")."

";} } } if ($rowbs = pg_fetch_assoc($resbs)) { // EIN Treffer $blattkeyber=$rowbs["blattart"]; // Schlüssel von Blatt-Art des GB if ($blattkeyber != '5000' or $dbg > 1) { // "Fiktives Blatt" nur bei Entwicklung anzeigen $gezeigt = 1; // Funktionswert nach Treffer $hgml=$rowbs["hgml"]; // GML-ID der (herrschenden) BuchungsStelle $bartkey=$rowbs["buchungsart"]; // Buchungsart Schlüssel $bart=$rowbs["bart"]; // Buchungsart Text $beznam=$rowbs["bezeichnung"]; // Bezirk $blattartber=$rowbs["blattartv"]; // Wert von Blatt-Art des GB $nrpl=$rowbs["nrpl"]; // Nr im Auft.plan $sond=$rowbs["sond"]; // Beschr. d.Sondereigentums $gbgml=$rowbs["g_gml"]; // GML-ID des Grundbuch-Blattes $blatt=ltrim($rowbs["blatt"], "0"); $lfd=ltrim($rowbs["lfd"], "0"); if ($bartkey != $bartgrp) { // Wechsel Buchungsart $barttitle=$rowbs["barttitle"]; // Buchungsart Erklärung switch (true) { // Die Buchungsart einem Typ (Gruppierung) zuweisen case ($bartkey <= 1999): $barttyp = "E"; break; // Eigentum/Grundstück case ($bartkey >= 2000): $barttyp = "R"; break; // Grundstücksgleiches Recht, z.B. 2101 "Erbbaurecht" default: $barttyp = "E"; break; } if ($barttypgrp != $barttyp) { // Wenn der Typ wechselt, neue Überschrift in Tabelle switch ($barttyp) { // Text der Überschrift case "E": if ($eig === 'j') {$h3txt = "Buchung und Eigentum";} else {$h3txt = "Buchung";} break; case "R": $h3txt = "Grundstücksgleiche Rechte"; break; } if ($barttypgrp === "" and $gml_fs != "") { // die erste Überschrift mit ID und Umschalter echo "\n\t\n\t\t\n\t\t\t

".$h3txt."

\n\t\t"; // 1-3 echo "\n\t\t\n\t\t\t
\n\t\t"; } else { echo "\n\t\n\t\t\n\t\t\t

".$h3txt."

\n\t\t\n\t\t "; // 1-4 } echo "\n\t"; $barttypgrp = $barttyp; } echo "\n\t" // Buchungsart als Zwischenzeile ."\n\t\t Buchungsart:" ."\n\t\t".DsKy($bartkey, 'Buchungsart')."".$bart."" ."\n\t\t" // 4 ."\n\t"; $bartgrp=$bartkey; // Gruppe merken } // Ende Wechsel der Buchungsart echo "\n\t" // Zeile mit 4 Spalten für Buchung und Eigentümer ."\n\t\t Buchung:"; // 1 if ($showkey and $dbg > 2) {echo "
Stufe ".$stufe."
".$hgml."
";} echo "\n\t\t"; // 2-3 // innere Tabelle: Rahmen mit GB-Kennz. if ($blattkeyber == 1000) { echo "\n\t\t\t"; } else { echo "\n\t\t\t
"; // dotted } echo "\n\t\t\t" ."\n\t\t\t\t" ."\n\t\t\t\t" ."\n\t\t\t\t" ."\n\t\t\t"; if ($trtyp === 3) { // Treffer-Grundst. einfärben echo "\n\t\t\t"; } else { echo "\n\t\t\t"; } echo "\n\t\t\t\t" ."\n\t\t\t\t" ."\n\t\t\t\t" ."\n\t\t\t" ."\n\t\t\t
Bezirk".DsKy($blattkeyber, 'Blattart-*').$blattartber."Lfd-Nr
".DsKy($rowbs["bezirk"], 'GB-Bezirk-*').$beznam."".$blatt."".$lfd."
"; if ($rowbs["zaehler"] != "") { echo "\n\t\t\t

".$rowbs["zaehler"]."/".$rowbs["nenner"]." Anteil am Flurstück

"; } if ($nrpl != "") { echo "\n\t\t\t

Nummer ".$nrpl." im Aufteilungsplan.

"; } if ($sond != "") { echo "\n\t\t\t

Verbunden mit dem Sondereigentum: ".$sond."

"; } echo "\n\t\t"; // 2-3 echo "\n\t\t"; // 4 echo "\n\t\t\t" ."\n\t\t" ."\n\t"; if ($eig === "j") { $n = eigentuemer($gbgml, true, $jsfenster); // mit Adresse } } } pg_free_result($resbs); return $gezeigt; // 1 wenn eine Buchung ausgegeben wurde } function ber_bs_anzg($gmls, $eig, $jsfenster, $gml_fs, $gsanfrd) { // In einem FS-Nachw. die berechtigten (herrschenden) Buchungsstellen anzeigen z.B. "Wohnungs-/Teileigentum". // Parameter: // $gmls: GML-ID der dienenden Buchungs-Stelle. Im ersten Durchlauf also, die BS auf der das FS gebucht ist. // $eig: Eigentümer ausgeben j/n // $jsfenster: Javascript-Funktion zum Verlassen des Feature-Info-Fensters verwenden (bool) // $gml_fs: GML-ID des Flurstücke (nur bei erstem Aufruf in einem FS-Nachweis notwendig) // $gsanfrd: In einem GS-Nachw. die GML-ID der in de URL angeforderten Buchungsstelle (-> Hervorhebung) global $dbg, $gezeigt, $con; // sh=Buchungstelle herrschend >(Recht)an> sd=Buchungstelle dienend >istBestandteilVon> BLATT -> Bezirk $sql="SELECT sh.gml_id AS hgml, sh.buchungsart, sh.laufendenummer as lfd, sh.zaehler, sh.nenner, sh.nummerimaufteilungsplan as nrpl, sh.beschreibungdessondereigentums as sond, " ."b.gml_id AS g_gml, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung as blatt, b.blattart " ."FROM ax_buchungsstelle sh JOIN ax_buchungsblatt b ON b.gml_id=sh.istbestandteilvon " ."WHERE $1 = ANY(sh.an) AND sh.endet IS NULL AND b.endet IS NULL " ."ORDER BY b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung, sh.laufendenummer;"; $v = array($gmls); // ID dienende BuchungsStelle $resber = pg_prepare($con, "", $sql); $resber = pg_execute($con, "", $v); if (!$resber) { echo "\n

Fehler bei 'berechtigte Buchungsstellen'.

"; if ($dbg > 2) {echo "\n

SQL=
".htmlentities(str_replace("$1", "'".$gmls."'", $sql), ENT_QUOTES, "UTF-8")."

";} } $an=0; $verfolg=array(); // Ein (zunächst leeres) Array für weitere GML-IDs anlegen while($rowan = pg_fetch_assoc($resber)) { // Loop durch Result von berechtigte BS $hgml=$rowan["hgml"]; // GML-ID der berechtigten Buchungs-Stelle if ($hgml === $gsanfrd) { $trtyp=3; // einfärben, o. Lnk. } else { if ($gezeigt) { $trtyp=2; // ohne Link auf GS } else { // Wenn Stufe 1 "Fiktives Blatt" war, welches ausgeblendet wurde, dann auf Stufe 2 einen GS-Link ausgeben $trtyp=1; // mit Link auf GS } } $gezeigt2=buchung_anzg($hgml, $eig, $jsfenster, $gml_fs, $trtyp); // Die herrschende Buchung anzeigen wenn nicht fiktiv $an++; $weitere=ber_bs_zaehl($hgml); if ($weitere > 0) { // gibt es WEITERE berechtigte Buchungen dazu? $verfolg[] = $hgml; // neuen Wert für weitere Verfolgung in Array anfügen } } pg_free_result($resber); return $verfolg; // weitere zu verfolgende GML-ID zurück geben } function kurz_namnr($lang) { // Namensnummer kürzen. Nicht benötigte Stufen der Dezimalklassifikation abschneiden $kurz=str_replace(".00","",$lang); // leere Stufen (nur am Ende) $kurz=str_replace("0000","",$kurz); // ganz leer (am Anfang) $kurz=ltrim($kurz, "0"); // führd. Nullen $kurz=str_replace(".0",".",$kurz); // führd. Null jeder Stufe $kurz=rtrim($kurz); // Leerzeichen hinten return $kurz; } function eigentuemer($gmlid, $mitadresse, $jsfenster) { /* Tabelle mit Eigentümerdaten zu einem Grundbuchblatt ausgeben Sp.1="Eigentümer" Sp.2=NamNr, Sp.3=Name/Adresse, Sp.4=Link Parameter: $gmlid: ID GB-Blatt $mitadresse: Option (t/f) ob die Adresszeile ausgegeben werden soll $jsfenster: Beim Link mit Javascript ein neues Fenster öffnen Return = Anzahl Namensnummern */ global $dbg, $gkz, $showkey, $con; if ($jsfenster) { // beim Link aus iFrame ausbrechen $lnkvor = "javascript:imFenster(\""; $lnknach = "\")"; } else { $lnkvor = ""; $lnknach = ""; } // N a m e n s n u m m e r // ax_namensnummer >istBestandteilVon> ax_buchungsblatt $sqln="SELECT n.gml_id, n.laufendenummernachdin1421 AS lfd, n.zaehler, n.nenner, n.artderrechtsgemeinschaft AS adr, coalesce(n.beschriebderrechtsgemeinschaft, '') as beschr, n.eigentuemerart, n.anlass, n.benennt, " ."coalesce(wn.beschreibung, '') AS adrv, we.beschreibung AS eiartv, " ."p.gml_id AS gmlpers, p.nachnameoderfirma, p.vorname, p.geburtsname, to_char(cast(p.geburtsdatum AS date),'DD.MM.YYYY') AS geburtsdatum, p.namensbestandteil, p.akademischergrad " ."FROM ax_namensnummer n " ."LEFT JOIN ax_artderrechtsgemeinschaft_namensnummer wn ON n.artderrechtsgemeinschaft = wn.wert " ."LEFT JOIN ax_eigentuemerart_namensnummer we ON n.eigentuemerart = we.wert " ."LEFT JOIN ax_person p ON p.gml_id = n.benennt " ."WHERE n.istbestandteilvon = $1 AND n.endet IS NULL AND p.endet IS NULL " ."ORDER BY n.laufendenummernachdin1421;"; // "benennt" ist leer bei "Beschrieb der Rechtsgemeinschaft". $v = array($gmlid); // GB-Blatt $resn = pg_prepare($con, "", $sqln); $resn = pg_execute($con, "", $v); if (!$resn) { echo "\n

Fehler bei Eigentümer

"; if ($dbg > 2) {echo "\n

SQL=
".str_replace("$1", "'".$gmlid."'", $sqln )."

";} } $n=0; // Z.NamNum. while($rown = pg_fetch_assoc($resn)) { $gmlnn=$rown["gml_id"]; $namnum=kurz_namnr($rown["lfd"]); $rechtsg=$rown["adr"]; $beschr=htmlentities($rown["beschr"], ENT_QUOTES, "UTF-8"); $adrv=htmlentities($rown["adrv"], ENT_QUOTES, "UTF-8"); $eiartkey=$rown["eigentuemerart"]; // Key $eiart=$rown["eiartv"]; // Value // $anlass=$rown["anlass"]; $gmlpers=$rown["gmlpers"]; // leer bei Rechtsverhältnis $akadem=$rown["akademischergrad"]; $nachnam=$rown["nachnameoderfirma"]; $vorname=$rown["vorname"]; $nbest=$rown["namensbestandteil"]; $gebdat=$rown["geburtsdatum"]; $gebnam=$rown["geburtsname"]; if (is_null($rown["zaehler"])) { $zaehler=""; } else { $zaehler=str_replace(".", ",", $rown["zaehler"]); // Dezimal-KOMMA wenn dem Notar der Bruch nicht reicht } if (is_null($rown["nenner"])) { $nenner=""; } else { $nenner=str_replace(".", ",", $rown["nenner"]); } echo "\n\t"; if($n === 0) { // 1. Zeile zum GB echo "\n\t\t Eigentümer:"; // 1 } else { // Folgezeile echo "\n\t\t "; } if ($rechtsg != "" ) { // Erbengemeinschaft usw. echo "\n\t\t"; if ($rechtsg == 9999) { // sonstiges echo "\n\t\t\t

".$beschr."

"; } else { echo "\n\t\t\t

".$adrv."

"; } } else { // Namensnummer echo "\n\t\t\n\t\t\t

".$namnum." 

\n\t\t" . "\n\t\t"; } // if ($anlass > 0 ) {echo "

Anlass=".$anlass."

";} // Array, Entschlüsseln? // Andere Namensnummern? Relation: ax_namensnummer >bestehtAusRechtsverhaeltnissenZu> ax_namensnummer // Die Relation 'Namensnummer' besteht aus Rechtsverhältnissen zu 'Namensnummer' sagt aus, dass mehrere Namensnummern zu einer Rechtsgemeinschaft gehören können. // Die Rechtsgemeinschaft selbst steht unter einer eigenen AX_Namensnummer, die zu allen Namensnummern der Rechtsgemeinschaft eine Relation besitzt. $diePerson=""; if ($akadem != "") {$diePerson=$akadem." ";} $diePerson.=$nachnam; if ($vorname != "") {$diePerson.=", ".$vorname;} if ($nbest != "") {$diePerson.=". ".$nbest;} if ($gebdat != "") {$diePerson.=", geb. ".$gebdat;} if ($gebnam != "") {$diePerson.=", geb. ".$gebnam;} $diePerson=htmlentities($diePerson, ENT_QUOTES, "UTF-8"); if ($eiartkey == "") {$eiart="Eigentümer" ;} // Default echo "\n\t\t\t

".$diePerson."

\n\t\t" ."\n\t\t\n\t\t\t" ."\n\t\t\n\t"; if ($mitadresse) { // optional // A d r e s s e zur Person $sqla ="SELECT a.gml_id, a.ort_post, a.postleitzahlpostzustellung AS plz, a.strasse, a.hausnummer, a.bestimmungsland " ."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 " ."ORDER BY a.beginnt DESC LIMIT 2;"; $v = array($gmlpers); $resa = pg_prepare($con, "", $sqla); $resa = pg_execute($con, "", $v); if (!$resa) { echo "\n\t

Fehler bei Adressen

"; if ($dbg > 2) {echo "\n

SQL=
".str_replace("$1", "'".$gmlpers."'", $sqla)."

";} } $j=0; while($rowa = pg_fetch_assoc($resa)) { $j++; if ($j === 1) { // erste ("jüngste") Adresse anzeigen $gmla=$rowa["gml_id"]; $plz=$rowa["plz"]; // integer if($plz === 0) { $plz=""; } else { $plz=str_pad($plz, 5, "0", STR_PAD_LEFT); } $ort=htmlentities($rowa["ort_post"], ENT_QUOTES, "UTF-8"); $str=htmlentities($rowa["strasse"], ENT_QUOTES, "UTF-8"); $hsnr=$rowa["hausnummer"]; $land=htmlentities($rowa["bestimmungsland"], ENT_QUOTES, "UTF-8"); echo "\n\t\n\t\t \n\t\t " ."\n\t\t

"; if ($str.$hsnr != "") {echo $str." ".$hsnr."
";} if ($plz.$ort != "") {echo $plz." ".$ort;} if ($land != "" and $land != "DEUTSCHLAND") {echo ", ".$land;} echo "

" ."\n\t\t \n\t"; } else { // manchmal mehrere Angaben echo "\n\t\n\t\t \n\t\t " ."\n\t\t

weitere Adresse

" ."\n\t\t \n\t"; } } pg_free_result($resa); } // 'keine Adresse' kann vorkommen, z.B. "Deutsche Telekom AG" if ($zaehler != "") { // Anteil als eigene Tab-Zeile $comnt="Anteil der Berechtigten in Bruchteilen (Par. 47 GBO) an einem gemeinschaftlichen Eigentum (Grundstück oder Recht)."; echo "\n\t\n\t\t \n\t\t " ."\n\t\t

".$zaehler."/".$nenner." Anteil

" ."\n\t\t \n\t"; } if ($gmlpers == "") { // KEINE Person. benennt ist leer. Das kommt vor hinter der Zeile "Erbengemeinschaft" und ist dann KEIN Fehler if ($dbg > 1) {echo "\n\t\t\t

Rechtsgemeinschaft = '".$rechtsg."'

";} if ($rechtsg !== '9999') { echo "\n

(Die Person mit der ID '".$gmlpers."' fehlt im Datenbestand)

"; } echo "\n\t\t \n\t"; } $n++; } pg_free_result($resn); return $n; } function fortfuehrungen($entsteh, $dbzeart, $dbzename) { // Tabelle im Kopf von Flurstück und FS-Historie. 2 Z./Sp. Entstehung/Fortführung // Parameter: Die DB-Spalten "zeitpunktderentstehung"[], "zeigtaufexternes_art"[] und "zeigtaufexternes_name"[] global $dbg, $showkey; echo "\n\t" // FS-Daten 2 Spalten ."\n\t\t\n\t\t\t" ."\n\t\t\t\n\t\t"; echo "\n\t\n\t\t\t\n\t\t\t\n\t\t\n\t
Entstehung".$entsteh."
"; $arrart=explode(",", trim($dbzeart, "{}")); foreach($arrart AS $artval) { // Eine Zeile für jedes Element von "zeigtaufexternes_art" $artval=trim($artval, '"'); $artpos=strpos($artval, '#'); if ($artpos > 0) { // AED $artkey=substr($artval, $artpos + 1); switch ($artkey) { // keine Schlüsseltabelle? case '5100': $arttxt="Grundstückshinweis (aus ALB-Historie)"; $artinfo=""; break; case '5200': $arttxt="Entstehung des Flurstücks"; $artinfo="'Entstehung des Flurstücks' enthält das Jahr der Entstehung, die lfd. Nr. der Fortführung und den Schlüssel der Fortführungsart zur manuellen Recherche in den Grundbuchakten."; break; case '5300': $arttxt="Letzte Fortführung des Flurstücks"; $artinfo="'Letzte Fortführung' enthält das Jahr der letzten Fortführung, die lfd. Nr. der Fortführung und den Schlüssel der Fortführungsart zur manuellen Recherche in den Grundbuchakten."; break; default: $arttxt=$artval; $artinfo=""; } if ($showkey) {echo "(".$artkey.") ";} echo $arttxt."
"; } else { $artpos=strpos($artval, '/'); if ($artpos > 0) { // ibR $artkey=substr($artval, $artpos + 1); $arttxt=substr($artval, 0, $artpos); echo DsKy($artkey, 'Fortführungsart').$arttxt."
"; } } } echo "
"; $arrname=explode(",", trim($dbzename, "{}")); // Eine Zeile für jedes Element von "zeigtaufexternes_name" foreach($arrname AS $val) {echo trim($val, '"')."
";} echo "
"; } function fskenn_dbformat($fskennz) { // Erzeugt aus dem Bindetrich-getrennten Flurstückskennzeichen "llgggg-fff-nnnn/zz.nn" oder "gggg-ff-nnn/zz" // das ALKIS-DB-interne Format des Flurstückskennzeichens. global $defland; $arr=explode("-", $fskennz, 4); // zerlegen $zgemkg=trim($arr[0]); if (strlen($zgemkg) === 20 and !isset($arr[1])) { $fskzdb=$zgemkg; // ist schon Datenbank-Feldformat } else { // Das Kennzeichen auseinander nehmen. if (strlen($zgemkg) === 6) { $land=substr($zgemkg, 0, 2); $zgemkg=substr($zgemkg, 2, 4); } else { // kein schöner Land .. $land=$defland; // Default-Land aus config } $zflur=str_pad($arr[1], 3 , "0", STR_PAD_LEFT); // Flur-Nr $zfsnr=trim($arr[2]); // Flurstücks-Nr $zn=explode("/", $zfsnr, 2); // Bruch? $zzaehler=str_pad(trim($zn[0]), 5 , "0", STR_PAD_LEFT); if (isset($zn[1])) { $znenner=trim($zn[1]); } else { $znenner=""; } if (trim($znenner, " 0.") === "") { // kein Bruch oder nur Nullen $znenner="____"; // in DB-Spalte mit Tiefstrich aufgefüllt } else { $zn=explode(".", $znenner, 2); // .00 wegwerfen $znenner=str_pad($zn[0], 4 , "0", STR_PAD_LEFT); } // die Teile stellengerecht wieder zusammen setzen $fskzdb=$land.$zgemkg.$zflur.$zzaehler.$znenner.'__'; // FS-Kennz. Format Datenbank } return $fskzdb; } ?>