"; return 0; } } else { echo "
"; return 0; } } function SuchGBBezName() { // Grundbuch-Bezirk suchen nach Name(-nsanfang) global $con, $gkz, $gemeinde, $debug, $gbkennz; $linelimit=50; $sql ="SELECT a.bezeichnung AS ag, g.bezirk, g.bezeichnung FROM ax_buchungsblattbezirk g "; $sql.="JOIN ax_dienststelle a ON g.stelle=a.stelle "; $sql.="WHERE g.bezeichnung ILIKE $1 "; // "AND a.stellenart=1000 " // Amtsgericht $sql.="ORDER BY g.bezeichnung LIMIT $2 ;"; if ( $gbkennz == "") { $match = "%"; } else { if(preg_match("/\*/",$gbkennz)){ $match = trim(preg_replace("/\*/i","%", strtoupper($gbkennz))); } else { $match = trim($gbkennz)."%"; } } $v = array($match, $linelimit); $res = pg_prepare("", $sql); $res = pg_execute("", $v); if (!$res) { echo "\n
Fehler bei Grundbuch-Bezirk
"; if ($debug >= 3) {echo "\n".$sql."
";} return 0; } $cnt = 0; // Loop B E Z I R K // +++ Sortierung und Gruppierung nach Amtsgericht ?? while($row = pg_fetch_array($res)) { $gnam=htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); $gnr=$row["bezirk"]; $ag=htmlentities($row["ag"], ENT_QUOTES, "UTF-8"); echo "\nKein Grundbuchbezirk.
"; } elseif ($cnt >= $linelimit) { echo "\n... und weitere
"; } elseif ($cnt == 1) { return $gnr; // Wenn eindeutig, gleich weiter } return 0; } function EinBezirk($showParent) { // Kennzeichen bestehend nur aus GB-Bezirk-Schlüssel wurde eingegeben global $con, $gkz, $gemeinde, $debug, $zgbbez, $auskpath; $linelimit=200; // max. Blatt je Bezirk // Dies linelimit nicht ausreichend fuer alle Blaetter eines Bezirks, aber ... // Wenn man die Blatt-Nr nicht kennt, kommt man hier sowieso nicht weiter. // Es nutzt also nichts, hier Tausende Nummern aufzulisten. // +++ Wildcard in Blatt zulassen? Schwiegig bei numerischem Wert mit fuehrenden Nullen. if ($showParent) { $sql ="SELECT a.bezeichnung AS ag, g.bezeichnung FROM ax_buchungsblattbezirk g "; $sql.="JOIN ax_dienststelle a ON g.stelle=a.stelle "; $sql.="WHERE g.bezirk= $1 ;"; $v=array($zgbbez); $res=pg_prepare("", $sql); $res=pg_execute("", $v); if (!$res) { echo "\nFehler bei Brundbuchbezirk.
"; if ($debug >= 3) {echo "\n".$sql."
";} } $zgmk=0; while($row = pg_fetch_array($res)) { $gnam=htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); $gnr=$row["bezirk"]; $ag=htmlentities($row["ag"], ENT_QUOTES, "UTF-8"); $zgmk++; } if ($zgmk == 0) { echo "\n"; echo " Bezirk ".$zgbbez." ist unbekannt.
"; echo "\nFehler bei Bezirk.
"; if ($debug >= 3) {echo "\n".$sql."
";} } $cntbl=0; // Counter Blatt/Bezirk // Loop B L A T T while($row = pg_fetch_array($res)) { $blatt=$row["blatt"]; $gml=$row["gml_id"]; echo "\nKein Blatt im Bezirk.
"; } else { if($cntbl >= $linelimit) { echo "\n... und weitere
"; echo "\nGeben sie ein: '".$zgbbez."-999999A'
wobei '999999A' = gesuchtes GB-Blatt
Grundbuchblatt '".$zgbbez."-".$zblatt."' nicht gefunden.
"; if ($debug >= 3) {echo "\n".$sql."
";} } elseif($cntbl == 1) { return $bl_gml; } return; } function EinBlatt($showParent) { // Kennzeichen Bezirk + Blatt wurde eingegeben global $con, $gkz, $debug, $gemeinde, $auskpath, $zgbbez, $zblatt, $gblatt, $zbvnr; if ($showParent) { echo "\n".$sql."
";} } $cntbu=0; // Counter Buchung/Blatt while($row = pg_fetch_array($res)) { $bs_gml=$row["gml_id"]; $lfd=$row["lfd"]; echo "\nKeine Buchung gefunden.
"; } elseif($cntbu == 1) { //echo "\ngenau EINE Buchung gefunden".$lfd."
"; $zbvnr=$lfd; // mit dieser BVNR gleich weiter machen } return $cntbu; } function gml_buchungsstelle() { // Komplettes Kennzeichen "Bezirk + Blatt + BVNR" wurde eingegeben. // Dazu die gml_id der Buchungsstelle ermitteln fuer die weitere Verfolgung der Beziehungen. global $con, $gkz, $debug, $zgbbez, $zblatt, $zbvnr; // Blatt -> B u c h u n g s s t e l l e // ax_buchungsblattBuchung ".$zgbbez."-".$zblatt."-".$zbvnr." nicht gefunden.
"; return; } elseif($zbs > 1) { // nur TEST echo "\nBuchungsstelle mehrfach gefunden.
"; return; } else { return $bs_gml; } } function EinGrundstueck($showParent) { // Die gml_id der Buchungsstelle ist bekannt. global $con, $gkz, $debug, $gemeinde, $scalefs, $epsg, $auskpath, $gbuchung, $zgbbez, $zblatt, $zbvnr; if ($showParent) { // wenn Kennzeichen bekannt ist, dann auch Blatt ausgeben if (isset($zgbbez) and isset($zblatt)) { echo "\nKennzeichen Bezirk und Blatt nicht gesetzt
"; } echo "\nFehler bei Buchungsstelle (gml).
"; if ($debug >= 3) {echo "\n".$sql."
";} } $zfs=0; while($row = pg_fetch_array($res)) { $fs_gml=$row["gml_id"]; $gemei=$row["gemeinde"]; $gmkg=$row["bezeichnung"]; $flur=$row["flurnummer"]; $fskenn=$row["zaehler"]; if ($row["nenner"] != "") {$fskenn.="/".$row["nenner"];} // Bruchnummer $x=$row["x"]; $y=$row["y"]; if($gemeinde > 0 and $gemeinde != $gemei) { // ex-territorial echo "\nKein Flurstück.
";} return; } // =========== // Start hier! // =========== if(isset($epsg)) { if ($debug >= 2) {echo "aktueller EPSG='".$epsg."'
";} // aus MB If (substr($epsg, 0, 5) == "EPSG:") {$epsg=substr($epsg, 5);} } else { if ($debug >= 2) {echo "kein EPSG gesetzt
";} $epsg=$gui_epsg; // aus Conf } if ($debug >= 2) { if(isset($gemeinde)) {echo "Filter Gemeinde = ".$gemeinde."
"; } else {echo "Kein Filter Gemeinde
";} } // Auch wenn redundant: Das Kennzeichen für Anzeige und weitere Links zerlegen $kennztyp=ZerlegungGBKennz($gbkennz); if ($debug >= 2) {echo "GB-Kennzeichen Typ=".$kennztyp."
";} // Wurde eine gml_id (internes Kennzeichen) aus einem Link verwendet? If (isset($gbuchung)) { // gml der Buchungsstelle if ($debug >= 2) {echo "Link Buchung(gml)=".$gbuchung."
";} EinGrundstueck(true); } elseif(isset($gblatt)) { // gml des GB-Blattes if ($debug >= 2) {echo "Link Blatt(gml)=".$gblatt."
";} if (EinBlatt(true) == 1) { // darauf genau eine Buchung $gbuchung=gml_buchungsstelle(); // gml_id zum Kennzeichen EinGrundstueck(false); }; } else { // Kein internes Kennzeichen (gml_id), also nur die (manuelle) Eingabe interpretieren. switch ($kennztyp) { // +++ Ersten Schritt "Suche Amtsgericht" voranstellen? // +++ Wie kann Filter "Gemeinde" berücksichtigt werden? case 0: // Fehler echo "Bitte ein Grundbuchkennzeichen eingegeben, Format 'gggg-999999A-llll
"; break; case 1: // Eingabe Bezirk-Name (-Teil) -> Liste der Bezirke if ($debug >= 2) {echo "Eingabe Bez. ".$zgbbez."
";} $beznr=SuchGBBezName(); if ($beznr > 0) { $zgbbez=$beznr; EinBezirk(false); }; break; case 2: // Eingabe Bezirk-Nummer -> Liste der Blätter if ($debug >= 2) {echo "Eingabe Bez. ".$zgbbez."
";} EinBezirk(true); break; case 3: // Eingabe Blatt -> Liste der Buchungen if ($debug >= 2) {echo "Eingabe Bez. ".$zgbbez." Blatt ".$zblatt."
";} $gblatt=gml_blatt(); // gml_id zum Blatt suchen if ($gblatt != "") { // gefunden if (EinBlatt(true) == 1) { // darauf genau eine Buchung $gbuchung=gml_buchungsstelle(); // gml_id zum Kennzeichen EinGrundstueck(false); } } break; case 4: // Eingabe Buchung (Grundstueck) -> Liste der Flurstuecke if ($debug >= 2) {echo "Eingabe Bez. ".$zgbbez." Blatt ".$zblatt." BVNR ".$zbvnr."
";} $gbuchung=gml_buchungsstelle(); // gml_id zum Kennzeichen EinGrundstueck(true); break; } } ?>