" ."\n\t\n\t"; // Spalte 1: Info Benutzerkennung if ($auth == "mapbender") { $customer=$_SESSION["mb_user_name"]; echo "\n\t\t"; } else { echo "\n\t\t"; } // Spalte 2: Umschalter echo "\n\t\t"; // Spalte 3 echo "\n\t\t" ."\n\t\n\t
Benutzer: ".$customer." "; $mylink ="\n\t\t\tSchlüssel aus"; } else { echo $mylink."&showkey=j' title='Verschlüsselungen anzeigen'>Schlüssel ein"; } echo "\n\t\t" ."\n\t\t\t\n\t\t
" ."\n\n"; // P r i n t - Foot if ($auth == "mapbender") { // $customer=$_SESSION["mb_user_name"]; echo "\n

Mapbender-Benutzer: ".$customer."

"; } return 0; } function ber_bs_hinw($gmls, $gmlf) { // Berechtigte Buchungs-Stellen - Hinweis. // Unter dem Grundbuch-Link den Hinweis auf "berechtigte Buchungssstellen" anzeigen und einen Umschalter. global $gkz, $debug, $showkey, $berbu, $eig; // Buchungstelle dienend <(Recht)an< Buchungstelle herrschend $sql ="SELECT count(sh.gml_id) AS anz, sh.buchungsart, a.v " ."FROM ax_buchungsstelle sd JOIN ax_buchungsstelle sh ON sd.gml_id=ANY(sh.an) " ."LEFT JOIN alkis_wertearten a ON sh.buchungsart=cast(a.k AS integer) " ."WHERE sd.gml_id= $1 AND sh.endet IS NULL AND sd.endet IS NULL AND a.element='ax_buchungsstelle' and a.bezeichnung='buchungsart' " ."GROUP BY sh.buchungsart, a.v;"; $v = array($gmls); // GML dienende Buchungs-Stelle $resan = pg_prepare("", $sql); $resan = pg_execute("", $v); if (!$resan) { echo "\n

Fehler bei 'berechtigte Buchungsstellen'.

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

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

";} } $zeile=0; // Vesrchiedene Arten $cnt=0; // Summe der Buchugen while($rowan = pg_fetch_array($resan)) { $anz=$rowan["anz"]; // Einleitung if ($zeile == 0) { // vor. 1. Zeile // Diese Hinweise sollen mit gedruckt werden. Also KEIN "noprint"! echo "\n\t\t
\n\t\t"; } else { // Schleife wurde durchlaufen, echo "\n\t\t

"; // Umschalter nicht drucken echo "\n\t\t"; } return $cnt; // Funktionswert = Anzahl der berechtigten Buchungen } function ber_bs_anz($gmls, $eig) { // Berechtigte Buchungsstellen (+ Blätter, Eigentümer) anzeigen innerhalb eines FS-Nachw. // Im FS-Nachweis werden auch die berechtigten Grundbücher mit ihren Eigentümern angezeigt. // Also z.B. zu einem "fiktiven Blatt" auch die Grundbuücher mit dem "Wohnungs-/Teileigentum" global $gkz, $debug, $showkey, $idanzeige; // Herrschende (berechtigte) Buchungsstellen ausgeben - Beginn // sd=Buchungstelle herrschend >(Recht)an> sd=Buchungstelle dienend >istBestandteilVon> BLATT -> Bezirk $sql="SELECT sd.gml_id AS s_gml, " // Buchungs-Stelle dienend ."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.v AS bart, w.v AS blattartv " ."FROM ax_buchungsstelle sd " ."JOIN ax_buchungsstelle sh ON sd.gml_id=ANY(sh.an) " ."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 " ."LEFT JOIN alkis_wertearten a ON sh.buchungsart=cast(a.k AS integer) AND a.element='ax_buchungsstelle' and a.bezeichnung='buchungsart' " // entschlüsseln Buchungsart ."LEFT JOIN alkis_wertearten w ON b.blattart=w.k AND w.element='ax_buchungsblatt' and w.bezeichnung='blattart' " // entschlüsseln Blatt-Art ."WHERE sd.gml_id= $1 AND sd.endet IS NULL AND sh.endet IS NULL AND b.endet IS NULL AND z.endet IS NULL " ."ORDER BY b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung;"; $v = array($gmls); // id dienende Buchungsstelle $resber = pg_prepare("", $sql); $resber = pg_execute("", $v); if (!$resber) { echo "\n

Fehler bei 'berechtigte Buchungsstellen'.

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

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

";} } $an=0; while($rowan = pg_fetch_array($resber)) { $beznam=$rowan["bezeichnung"]; $bart=$rowan["bart"]; // Buchungsart $blattkeyber=$rowan["blattart"]; // Schluessel von Blatt-Art des berechtigten GB $blattartber=$rowan["blattartv"]; // Wert von Blatt-Art des berechtigten GB $nrpl=$rowan["nrpl"]; // Nummer im Aufteilungsplan $sond=$rowan["sond"]; // Beschreibung des Sondereigentums echo "\n" // \n
."\n" // 1 row only ."\n"; echo "\n" ."\n" ."\n
"; // outer linke Spalte - Daten // Rahmen mit Kennzeichen GB if ($blattkeyber == 1000) { echo "\n\t"; } else { echo "\n\t
"; // dotted } echo "\n\t" ."\n\t\t" ."\n\t\t" ."\n\t\t" ."\n\t\t" ."\n\t"; echo "\n\t" ."\n\t\t" ."\n\t\t" ."\n\t\t" ."\n\t\t" ."\n\t" ."\n\t
Bezirk".$blattartber."Lfd-Nr,Buchungsart
"; if ($showkey) {echo "".$rowan["bezirk"]."
";} echo $beznam."
".$rowan["blatt"]."".$rowan["lfd"].""; if ($showkey) {echo "".$rowan["buchungsart"]."
";} echo $rowan["bart"] ."
"; if ($rowan["zaehler"] <> "") { echo "\n\t

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

"; } echo "\n
"; // outer rechte Spalte if ($idanzeige) { linkgml($gkz, $rowan["s_gml"], "Buchungsstelle", "ax_buchungsstelle"); echo "
"; linkgml($gkz, $rowan["g_gml"], "Buchungsblatt", ""); } echo "\n\t
" ."\n\t" ."\n\t
"; if ($blattkeyber != 1000) { echo "\n

Blattart: ".$blattartber." (".$blattkeyber.").
"; } if ($nrpl != "") { echo "\n

Nummer ".$nrpl." im Aufteilungsplan.

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

Verbunden mit dem Sondereigentum
".$sond."

"; } if ($eig == "j") { $n = eigentuemer($rowan["g_gml"], true, ""); // mit Adresse } $an++; } pg_free_result($resber); return; } 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"); // fuehrende Nullen am Anfang $kurz=str_replace(".0",".",$kurz); // fuehrende Null jeder Stufe $kurz=rtrim($kurz); // Leerzeichen hinten // echo "/n

lang='".$lang."'

/n

kurz='".$kurz."'

"; return $kurz; } function bnw_fsdaten($con, $lfdnr, $gml_bs, $ba, $anteil, $bvnraus, $bartkey, $bartstory) { /* Bestandsnachweis - Flurstuecksdaten Die Tabellenzeilen mit den Flurstuecksdaten zu einer Buchungsstelle im Bestandsnachweis ausgeben. Die Funktion wird je einmal aufgerufen für die Buchungen direkt auf dem GB (Normalfall). Weiterere Aufrufe ggf. bei Erbbaurecht für die mit "an" verknuepften Buchungsstellen. Table-Tag und Tabellenkopf werden im aufrufenden Programm ausgegeben. */ global $debug, $gkz, $showkey, $filtkreis, $filtgem, $trclass; // $zpaar // F L U R S T U E C K $sql="SELECT g.gemarkungsnummer, g.bezeichnung, f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.regierungsbezirk, f.kreis, f.gemeinde, f.amtlicheflaeche FROM ax_flurstueck f JOIN ax_buchungsstelle s ON f.istgebucht=s.gml_id LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer WHERE f.endet IS NULL AND s.endet IS NULL AND g.endet IS NULL AND s.gml_id= $1 "; if ($filtgem == '' ) { // ungefiltert $v=array($gml_bs); } else { $sql.="AND f.kreis = $2 AND f.gemeinde = $3 "; // Zuständiges Gebiet $v=array($gml_bs, $filtkreis, $filtgem); } $sql.="ORDER BY f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner;"; $resf = pg_prepare("", $sql); $resf = pg_execute("", $v); if (!$resf) {echo "\n

Fehler bei Flurstück

";} if($bvnraus) { // nur bei direkten Buchungen die lfdNr ausgeben $bvnr=str_pad($lfdnr, 4, "0", STR_PAD_LEFT); } else { $bvnr=""; } $altbvnr=""; $j=0; while($rowf = pg_fetch_array($resf)) { $flur=str_pad($rowf["flurnummer"], 3, "0", STR_PAD_LEFT); $fskenn=$rowf["zaehler"]; if ($rowf["nenner"] != "") { // Bruch $fskenn.="/".$rowf["nenner"]; } $flae=number_format($rowf["amtlicheflaeche"],0,",",".") . " m²"; echo "\n"; // eine Zeile je Flurstueck // Sp. 1-3 der Tab. aus Buchungsstelle, nicht aus FS if($bvnr == $altbvnr) { // gleiches Grundstueck, leer lassen echo "\n\t " ."\n\t " ."\n\t "; } else { // Sprungmarke, BVNR echo "\n\t"; // Sprungmarke // echo "\n\t\t"; echo "".$bvnr."" ."\n\t"; echo "\n\t"; // Buchungsart if ($showkey) {echo "".$bartkey." ";} // Schluessel echo $ba; // entschluesselt echo "" ."\n\t "; // Anteil $altbvnr=$bvnr; } // Sp. 4-7 aus Flurstueck echo "\n\t"; if ($showkey) {echo "".$rowf["gemarkungsnummer"]." ";} echo $rowf["bezeichnung"]."" ."\n\t".$flur."" ."\n\t".$fskenn."" ."" ."\n\t".$flae.""; // "width" hier (flaG) erweiterbar, weil in andere Zeile die Buchungsart steht echo "\n\t\n\t\t" ."\n\t" ."\n"; $j++; } // Ende Loop Flurstueck pg_free_result($resf); return $j; } function eigentuemer($gmlid, $mitadresse, $lnkclass) { // Tabelle mit Eigentuemerdaten zu einem Grundbuchblatt ausgeben // Sp.1 = Namennummer, Sp. 2 = Name / Adresse, Sp. 3 = Link // Parameter: // $gmlid = ID GB-Blattes // $mitadresse = Option (true/false) ob die Adresszeile ausgegeben werden soll // Return = Anzahl Namensnummern // Schleife 1: N a m e n s n u m m e r // Beziehung: ax_namensnummer >istBestandteilVon> ax_buchungsblatt global $debug, $gkz, $showkey; // Link über Java-Class? (Ja in alkisinlayausk.php, sonst normal) if ($lnkclass == "") { $lnkvor = ""; $lnknach = ""; } else { $lnkvor = "javascript:".$lnkclass."(\""; $lnknach = "\")"; } // Beispiel-Link href='javascript:imFenster(\"alkislage.php?gkz= ... ."\")'>xxx "; $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, n.benennt, wn.v AS adrv, we.v AS eiartv " ."FROM ax_namensnummer n " ."LEFT JOIN alkis_wertearten wn ON cast(n.artderrechtsgemeinschaft AS character varying)=wn.k AND wn.element='ax_namensnummer' AND wn.bezeichnung='artderrechtsgemeinschaft' " ."LEFT JOIN alkis_wertearten we ON cast(n.eigentuemerart AS character varying)=we.k AND we.element='ax_namensnummer' AND we.bezeichnung='eigentuemerart' " ."WHERE n.istbestandteilvon= $1 AND n.endet IS NULL ORDER BY n.laufendenummernachdin1421;"; $v = array($gmlid); // 16 Stellen bei Relationen $resn = pg_prepare("", $sqln); $resn = pg_execute("", $v); if (!$resn) { echo "\n

Fehler bei Eigentümer

"; // kein Fehler bei Blattarten > 1000 //if ($debug > 2) {echo "\n

SQL=
".$sqln."
$1=gml= '".$gmlid."'

";} } $n=0; // Z.NamNum. while($rown = pg_fetch_array($resn)) { if($n == 0) { // Die Überschrift nur, wenn auch ein Inhalt folgt echo "\n\n

Angaben zum Eigentum

" ."\n"; } $gmlnn=$rown["gml_id"]; $namnum=kurz_namnr($rown["lfd"]); $rechtsg=$rown["adr"]; echo "\n" ."\n\t" . "\n\t\n\t\n\t"; // Spalte 3 = Link echo "\n\t\n"; if ($mitadresse) { // Schleife 3: A d r e s s e (OPTIONAL) $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 LIMIT 2;"; $gmlp=$rowp["gml_id"]; // Person $v = array($gmlp); $resa = pg_prepare("", $sqla); $resa = pg_execute("", $v); if (!$resa) { echo "\n\t

Fehler bei Adressen

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

SQL=
".$sqla."
$1=gml= '".$gmlp."'

";} } $j=0; while($rowa = pg_fetch_array($resa)) { $j++; if ($j == 1) { // erste 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\n\t"; //Sp. 1 echo "\n\t\n\t\n"; } else { // manchmal dopplete Angaben (_straße / _str.) echo "\n\n\t\n\t\n\t\n"; } } pg_free_result($resa); } // 'keine Adresse' kann vorkommen, z.B. "Deutsche Telekom AG" $i++; // cnt Person // Anteil als eigene Tab-Zeile: $zaehler=$rown["zaehler"]; if ($zaehler != "") { $zaehler=str_replace(".", ",", $zaehler); // Dezimal-KOMMA wenn dem Notar der Bruch nicht reicht $nenner=str_replace(".", ",", $rown["nenner"]); $comnt="Anteil der Berechtigten in Bruchteilen (Par. 47 GBO) an einem gemeinschaftlichen Eigentum (Grundstück oder Recht)."; echo "\n\n\t" // Sp. 1 ."\n\t" ."\n\t\n"; // Sp. 3 } } // End Loop Person if ($i == 0) { // Keine Person. Das kommt vor hinter der Zeile "Erbengemeinschaft" und ist dann KEIN Fehler if ($rechtsg != 9999) { echo "\n

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

"; } else { if ($debug > 1) { // nur bei Entwicklung echo "\n\t\t

Rechtsgemeinschaft = '".$rechtsg."'

"; } } echo "\n\t\n"; } $n++; // cnt NamNum } // End Loop NamNum if($n > 0) { echo "\n
\n\t\t

" // Sp. 1 .$namnum." " // VOR die Tabelle: "Eigentümer" ."

\n\t
"; // Sp. 2 if ($rechtsg != "" ) { if ($rechtsg == 9999) { // sonstiges echo "\n\t\t

".htmlentities($rown["beschr"], ENT_QUOTES, "UTF-8")."

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

".htmlentities($rown["adrv"], ENT_QUOTES, "UTF-8")."

"; } } //if ($rown["anlass"] > 0 ) {echo "

Anlass=".$rown["anlass"]."

";} // TEST: // Schleife Ebene 2: andere Namensnummern // Beziehung 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. // Schleife 2: P e r s o n // Beziehung: ax_person Fehler bei Person

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

SQL=
".$sqlp."
$1=gml= '".$gmlpers."'

";} } $i=0; // cnt Person while($rowp = pg_fetch_array($resp)) { // Schleife weglassen? nn >benennt> Person ist KEIN Array! $diePerson=""; //++ Anrede? if ($rowp["akademischergrad"] <> "") {$diePerson=$rowp["akademischergrad"]." ";} $diePerson.=$rowp["nachnameoderfirma"]; if ($rowp["vorname"] <> "") {$diePerson.=", ".$rowp["vorname"];} if ($rowp["namensbestandteil"] <> "") {$diePerson.=". ".$rowp["namensbestandteil"];} if ($rowp["geburtsdatum"] <> "") {$diePerson.=", geb. ".$rowp["geburtsdatum"];} if ($rowp["geburtsname"] <> "") {$diePerson.=", geb. ".$rowp["geburtsname"];} $diePerson=htmlentities($diePerson, ENT_QUOTES, "UTF-8"); // Umlaute if ($i > 0) { // Spalte 1 enthält die Namensnummer, nur in Zeile 0 echo "\n
 "; } // Spalte 2 = Angaben $eiartkey=$rown["eigentuemerart"]; // Key $eiart=$rown["eiartv"]; // Value echo "\n\t\t

".$diePerson."

\n\t
\n\t\t" ."\n\t
 

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

"; // Sp. 3 echo " 
 

weitere Adresse

 
 

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

 
 
"; } else { // $n == 0, bei "Fiktives Blatt" KEIN Fehler if ($debug > 1) { echo "\n

keine Namensnummern zum Blatt

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

SQL=
".$sqln."
$1=gml(Blatt)= '".$gmlid."'

";} } } pg_free_result($resn); return $n; } // End function eigentuemer ?>