1) {echo "\n
keine Berechtigungs-Prüfung
";} $customer = "(unbekannt)"; return 1; // alles erlaubt } elseif ($auth === "mapbender") { // if ($debug > 1) {echo "\n";} $customer = ""; include '/opt/gdi/mapbender/http/php/mb_validateSession.php'; if (!isset($_SESSION)) { // keine (passende) Session if ($debug > 1) {echo "\n
Session nicht gesetzt
";} } elseif ( !isset($_SESSION["mb_user_name"]) ) { if ($debug > 1) {echo "\nusername nicht gesetzt
";} } else { $customer = $_SESSION["mb_user_name"]; // angemeldeter Benutzer } //if ($debug > 1) {echo "\nCustomer '".$customer."'
";} 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 } } elseif ($auth === "qwc2") { if ($debug > 1) {echo "\nBerechtigungs-Prüfung QWC2 -GEPLANT-
";} // BAUSTELLE: Hier den Code einfügen um im QWC2 die Berechtigung zu prüfen und den Benutzer auszulesen. // Guggs du: https://git.sourcepole.ch/krz_dt/qwc2/-/issues/78 $customer = "(Unbekannt)"; echo "Berechtigungsprüfung für QWC2 ist noch nicht möglich.
"; return 1; // vorläufig erlaubt } else { echo "\nDie Berechtigungs-Prüfung ist falsch konfiguriert
"; return 0; // verboten } } function footer($gmlid, $link, $append) { // Einen Seitenfuss ausgeben. // Die Parameter &gkz= und &gmlid= kommen in allen Modulen einheitlich vor // Den URL-Parameter "&showkey=j/n" umschalten lassen. // $append wird angehaengt wenn gefuellt. Anwendung: &eig=j bei FS-NW, <yp=m/p/o bei Lage global $gkz, $showkey, $hilfeurl, $debug, $customer; echo ""; return 0; } function ber_bs_zaehl($gmls) { // Berechtigte Buchungs-Stellen zaehlen. // 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("", $sql); $resan = pg_execute("", $v); if (!$resan) {echo "\nFehler bei 'berechtigte Buchungsstellen zaehlen'.
";} $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, $debug, $showkey, $bartgrp, $barttypgrp, $stufe; $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 " ."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("", $sqlbs); $resbs = pg_execute("", $v); if (!$resbs) { echo "\nFehler bei 'Buchungsstelle ausgeben'.
"; if ($debug > 2) {echo "\nSQL=
".htmlentities(str_replace("$1", "'".$gmlbs."'", $sqlbs), ENT_QUOTES, "UTF-8")."
Bezirk | " ."\n\t\t\t\t"; if ($showkey) {echo "".$blattkeyber." ";} echo $blattartber." | " ."\n\t\t\t\tLfd-Nr | " ."\n\t\t\t
";
if ($showkey) {echo "".$rowbs["bezirk"]." ";} echo $beznam." | "
."\n\t\t\t\t".$blatt." | " ."\n\t\t\t\t".$lfd." | " ."\n\t\t\t
".$rowbs["zaehler"]."/".$rowbs["nenner"]." Anteil am Flurstück
"; } if ($nrpl != "") { echo "\n\t\t\tNummer ".$nrpl." im Aufteilungsplan.
"; } if ($sond != "") { echo "\n\t\t\tVerbunden mit dem Sondereigentum: ".$sond."
"; } echo "\n\t\t"; // 2-3 echo "\n\t\tEnde function buchung_anzg(), Return = ". $gezeigt ."
";} 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 $debug, $gezeigt; // 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("", $sql); $resber = pg_execute("", $v); if (!$resber) { echo "\nFehler bei 'berechtigte Buchungsstellen'.
"; if ($debug > 2) {echo "\nSQL=
".htmlentities(str_replace("$1", "'".$gmls."'", $sql), ENT_QUOTES, "UTF-8")."
lang='".$lang."'
/nkurz='".$kurz."'
"; return $kurz; } function bnw_fsdaten($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. Tabellenkopf wird im aufrufenden Programm ausgegeben. */ global $debug, $gkz, $showkey, $filtkreis, $filtgem, $trclass; // 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.amtlicheflaeche " ."FROM ax_flurstueck f LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer " ."WHERE f.endet IS NULL AND g.endet IS NULL AND f.istgebucht = $1 "; if ($filtgem === '') { // ungefiltert $v=array($gml_bs); } else { $sql.="AND f.gemeindezugehoerigkeit_kreis = $2 AND f.gemeindezugehoerigkeit_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 "\nFehler bei Flurstück
";} if($bvnraus) { // nur bei direkten Buchungen die lfdNr ausgeben $bvnr=str_pad($lfdnr, 4, "0", STR_PAD_LEFT); } else { $bvnr=""; } $altbvnr=""; // ++ besser mit "$j === 0" steuern? $j=0; while($rowf = pg_fetch_assoc($resf)) { $flur= $rowf["flurnummer"]; $fskenn=$rowf["zaehler"]; if ($rowf["nenner"] != "") { // Bruch $fskenn.="/".$rowf["nenner"]; } $flae=number_format($rowf["amtlicheflaeche"],0,",",".") . " m²"; echo "\nFehler bei Eigentümer
"; // kein Fehler bei Blattarten > 1000 //if ($debug > 2) {echo "\nSQL=
".str_replace("$1", "'".$gmlid."'", $sqln )."
".htmlentities($rown["beschr"], ENT_QUOTES, "UTF-8")."
"; } else { echo "\n\t\t\t".htmlentities($rown["adrv"], ENT_QUOTES, "UTF-8")."
"; } } else { // Namensnummer echo "\n\t\t".$namnum."
\n\t\tAnlass=".$rown["anlass"]."
";} // 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. // Schleife 2: P e r s o n // +++ bei SQL Namensnummer oben gleich mit JOIN dazu holen, statt dieser Schleife // Beziehung: ax_personSQL=
".str_replace("$1", "'".$gmlpers."'", $sqlp)."
".$diePerson."
\n\t\tFehler bei Adressen
"; if ($debug > 2) {echo "\nSQL=
".str_replace("$1", "'".$gmlpers."'", $sqla)."
"; // 3
if ($str.$hsnr != "") {echo $str." ".$hsnr."
";}
if ($plz.$ort != "") {echo $plz." ".$ort;}
if ($land != "" and $land != "DEUTSCHLAND") {echo ", ".$land;}
echo "
weitere Adresse
".$zaehler."/".$nenner." Anteil
Rechtsgemeinschaft = '".$rechtsg."'
";} } else { echo "\n(Die Person mit der ID '".$gmlpers."' fehlt im Datenbestand)
"; } echo "\n\t\tFehler bei Werteliste.
"; if ($debug > 2) {echo "\nSQL=
".htmlentities($sql, ENT_QUOTES, "UTF-8")."
SQL=
".htmlentities($sql, ENT_QUOTES, "UTF-8")."
function fortfuehrungen
1: ".$dbzeart."
2: ".$dbzename."
Entstehung | " ."\n\t\t\t".$entsteh." | \n\t\t
";
$arrart=explode(",", trim($dbzeart, "{}"));
foreach($arrart AS $artval) { // Zeile für jedes Element
$artval=trim($artval, '"');
// ibR: {"Entstehung des Flurstücks/5200","Letzte Fortführung des Flurstücks/5300",urn:adv:fachdatenverbindung:AA_Antrag}
// AED: {http://geoportal.kreis-herford.de/alkis/alkis.html#5200,http://geoportal.kreis-herford.de/alkis/alkis.html#5300,urn:adv:fachdatenverbindung:AA_Antrag}
$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)"; break;
case '5200': $arttxt="Entstehung des Flurstücks"; break;
case '5300': $arttxt="Letzte Fortführung des Flurstücks"; break;
default: $arttxt=$artval;
}
if ($showkey) {echo "".$artkey." ";}
echo $arttxt." "; } else { $artpos=strpos($artval, '/'); if ($artpos > 0) { // ibR $artkey=substr($artval, $artpos + 1); $arttxt=substr($artval, 0, $artpos); if ($showkey) {echo "".$artkey." ";} echo $arttxt." "; } } } echo " | "
."\n\t\t\t";
$arrname=explode(",", trim($dbzename, "{}"));
foreach($arrname AS $val) {
echo trim($val, '"')." "; } echo " | "
."\n\t\t