Ignore:
Timestamp:
01/13/11 17:42:06 (12 years ago)
Author:
frank.jaeger
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/data/mapbender/http/nav/alkisnav_grd.php

    r67 r68  
    11<?php 
    2 // Version vom 12.01.2011   
    3 $gkz = urldecode($_REQUEST["gkz"]); // Mandant 
     2// Version vom 13.01.2011   
     3import_request_variables("PG"); 
    44include("../../conf/alkisnav_conf.php"); 
    5 import_request_variables("PG"); 
    6  
    7 // Datenbank-Connection 
    85$con_string = "host=".$host." port=".$port." dbname=".$dbname.$gkz." user=".$user." password=".$password; 
    96$con = pg_connect ($con_string) or die ("Fehler bei der Verbindung zur Datenbank ".$dbname); 
    10  
    117?> 
    128 
     
    2925} 
    3026 
    31 function is_blatt(&$wert) { 
    32         // Prueft, ob eine Eingabe dem Format von Grundbuch-Blatt entspricht. 
    33         // Die Blatt-Nummern wird dabei auf das Datenbank-Format mit fuehrenden Nullen ergaenzt (&). 
    34         // +++ Nur ein Aufruf der Function. In aufrufendes Programm integrieren?         
    35         $len=strlen($wert); 
    36         if ($len < 1 or $len > 7) {return false;}; 
    37         if (trim($wert, "0..9") == "") { // Normalfall: nur Zahlen 
    38                 return true; 
    39         } else { // Sonderfall Zusatz-Buchstabe am Ende  
    40                 $zahl=substr($wert,0,$len-1); 
    41                 $zus=strtoupper(substr($wert,$len-1,1)); 
    42                 if ( (trim($zahl, "0..9") == "") and (trim($zus, "A..Z") == "")) { 
    43                         $wert=$zahl.$zus;        
    44                         return true;             
    45                 } else {                 
    46                         return false; 
    47                 } 
    48         } 
    49 } 
    50  
    5127function ZerlegungGBKennz($gbkennz) { 
    52 // Das eingegebene Grundbuch-Kennzeichen auseinander nehmen (gggg-999999z-BVNR) 
    53 // Return: 0=Fehler, 1=Such Bezirk-Name oder Listen alle Bezirke 
    54 //         2=Such Bezirk-Nummer $zgbbez, 3=Such Blatt $zblatt, 4=Such BVNR $zbvnr 
    55         global $debug, $zgbbez, $zblatt, $zbvnr;         
    56         $arr = explode("-", $gbkennz, 3); 
     28        // Das eingegebene Grundbuch-Kennzeichen auseinander nehmen (gggg-999999z-BVNR) 
     29        // Return: 0=Fehler, 1=Such Bezirk-Name oder Listen alle Bezirke 
     30        //         2=Such Bezirk-Nummer $zgbbez, 3=Such Blatt $zblatt, 4=Such BVNR $zbvnr 
     31        global $debug, $zgbbez, $zblatt, $zblattn, $zblattz, $zbvnr;     
     32        $arr=explode("-", $gbkennz, 3); 
    5733        $zgbbez=trim($arr[0]); 
    5834        $zblatt=trim($arr[1]); 
     
    6036        if ($zgbbez == "") { // keine Eingabe 
    6137                return 1; // alle Bezirke listen 
    62         } elseif ( ! is_ne_zahl($zgbbez)) { 
     38        } elseif ( ! is_ne_zahl($zgbbez)) { // Alphabetische Eingabe 
    6339                return 1; // Such Bezirk-NAME 
    6440        } elseif ($zblatt == "") { 
    6541                return 2; // Such Bezirk-NUMMER 
    66         } elseif (is_blatt($zblatt)) { 
    67                 if ($zbvnr == "") { 
    68                         return 3; // Such BLATT 
    69                 } elseif (is_ne_zahl($zbvnr)) {          
    70                         // $zbvnr=ltrim($zbvnr,"0"); // DB-Format ist integer 
    71                         // Vorsicht, Wert "0" ist moeglich und gueltig 
    72                         return 4; // Such Grundstueck 
     42        } else  { // Format von Blatt pruefen 
     43                $len=strlen($zblatt); 
     44                if ($len > 0 AND $len < 8) {             
     45                        if (trim($zblatt, "0..9") == "") { // Normalfall: nur Zahlen 
     46                                $zblattn= ltrim($zblatt, "0"); 
     47                                $zblattz=""; 
     48                        } else { // Sonderfall: Zusatz-Buchstabe am Ende 
     49                                $zblattn=substr($zblatt,0,$len-1); 
     50                                $zblattz=strtoupper(substr($zblatt,$len-1,1));  
     51                                if ( (trim($zblattn, "0..9") == "") and (trim($zblattz, "A..Z") == "")) { 
     52                                        $zblatt=$zblattn.$zblattz; 
     53                                        $zblattn= ltrim($zblattn, "0"); // ohne fuehrende Nullen 
     54                                } else { 
     55                                        echo "<p class='err>Format 'Blatt': bis zu 6 Zahlen und ggf. ein Buchstabe</p>";         
     56                                        return 0; 
     57                                } 
     58                        } 
     59                        if ($zbvnr == "") { 
     60                                return 3; // Such BLATT 
     61                        } elseif (is_ne_zahl($zbvnr)) {          
     62                                // $zbvnr=ltrim($zbvnr,"0"); // DB-Format ist integer 
     63                                // Vorsicht, Wert "0" ist moeglich und gueltig 
     64                                return 4; // Such Grundstueck 
     65                        } else { 
     66                                echo "<p class='err>Die Buchungsstelle (BVNR) '".$zbvnr."' ist nicht numerisch</p>"; 
     67                                return 0; 
     68                        } 
    7369                } else { 
    74                         echo "<p class='err>Die Buchungsstelle (BVNR) '".$zbvnr."' ist nicht numerisch</p>"; 
     70                        echo "<p class='err>Das Grundbuch-Blatt '".$zblatt."' ist ung&uuml;ltig.</p>"; 
    7571                        return 0; 
    7672                } 
    77         } else { 
    78                 echo "<p class='err>Das Grundbuch-Blatt '".$zblatt."' ist ung&uuml;ltig.</p>"; 
    79                 return 0; 
    8073        } 
    8174} 
    8275 
    8376function SuchGBBezName() { 
    84 // Grundbuch-Bezirk suchen nach Name(-nsanfang) 
     77        // Grundbuch-Bezirk suchen nach Name(-nsanfang) 
    8578        global $con, $gkz, $gemeinde, $debug, $gbkennz; 
    8679        $linelimit=50; 
     
    134127        global $con, $gkz, $gemeinde, $debug, $zgbbez, $auskpath; 
    135128        $linelimit=200; // max. Blatt je Bezirk 
    136         // Dies linelimit nicht ausreichend fuer alle Blaetter eines Bezirks, aber ... 
    137         //  Wenn man die Blatt-Nr nicht kennt, kommt man hier sowieso nicht weiter. 
    138         //  Es nutzt also nichts, hier Tausende Nummern aufzulisten. 
    139         // +++ Wildcard in Blatt zulassen? Schwiegig bei numerischem Wert mit fuehrenden Nullen. 
     129        // Dies linelimit ist nicht ausreichend fuer alle Blaetter eines Bezirks, aber ... 
     130        // Wenn man die Blatt-Nr nicht kennt, kommt man hier sowieso nicht weiter. 
     131        // Es nutzt also nichts, hier Tausende Nummern aufzulisten. 
    140132        if ($showParent) { 
    141133                $sql ="SELECT a.bezeichnung AS ag, g.bezeichnung FROM ax_buchungsblattbezirk g "; 
     
    163155                        return; 
    164156                } 
    165                 // > 1 auch möglich ??? 
     157                // > 1 auch möglich? 
    166158                echo "\n<div class='gk' title='GB-Bezirk'>"; 
    167159                        echo "\n\t\t<img class='nwlink' src='ico/Gericht.ico' width='16' height='16' alt='Bez.'> "; 
    168                         echo "<a href='alkisnav_grd.php?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;gbkennz=".$zgbbez."'>";              
     160                        echo "<a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;gbkennz=".$zgbbez."'>";           
    169161                        echo $gnam."</a> (".$zgbbez.") AG ".$ag; 
    170162                echo "\n</div>"; 
     
    188180                                echo "\n\t\t<img class='nwlink' src='ico/GBBlatt_link.ico' width='16' height='16' alt='Blatt'>"; 
    189181                        echo "\n\t</a> "; 
    190                         echo "Blatt <a href='alkisnav_grd.php?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;gblatt=".$gml."&amp;gbkennz=".$zgbbez."-".$blatt."'>&nbsp;".$blatt."&nbsp;</a>"; 
     182                        echo "Blatt <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;gblatt=".$gml."&amp;gbkennz=".$zgbbez."-".$blatt."'>&nbsp;".$blatt."&nbsp;</a>"; 
    191183                echo "\n</div>"; 
    192184                $cntbl++; 
     
    204196 
    205197function gml_blatt() { 
    206         // Komplettes Kennzeichen "Bezirk + Blatt" wurde eingegeben. 
    207         // Dazu die gml_id des GB-Blattes ermitteln. 
    208         global $con, $gkz, $debug, $zgbbez, $zblatt; 
    209  
    210         // Blatt ->  B u c h u n g s s t e l l e 
    211         // ax_buchungsblatt   <istBestandteilVon<  ax_buchungsstelle     
    212         $sql ="SELECT b.gml_id FROM ax_buchungsblatt b ";  
     198        // Kennzeichen "Bezirk + Blatt" eingegeben. Dazu die gml_id des Blattes ermitteln. 
     199        global $con, $gkz, $debug, $zgbbez, $zblatt, $zblattn, $zblattz; 
     200        $sql ="SELECT b.gml_id, b.buchungsblattnummermitbuchstabenerweiterung AS blatt FROM ax_buchungsblatt b ";  
    213201        $sql.="WHERE b.bezirk= $1 AND b.buchungsblattnummermitbuchstabenerweiterung IN ( $2 , $3 );"; 
    214202        // Unterschiedliche Formate in ax_buchungsblatt.buchungsblattnummermitbuchstabenerweiterung 
    215203        // Musterdaten RLP: ohne fuehrende Nullen, Lippe NRW: mit! 
    216         $zblatt0v=str_pad($zblatt, 7, "0", STR_PAD_LEFT); // Nullen vorne oder Blanks hinten ? 
    217         $v=array($zgbbez,$zblatt,$zblatt0); 
     204        $zblatt0v=str_pad($zblattn, 6, "0", STR_PAD_LEFT).$zblattz;     // mit 0 vorne 
     205        $v=array($zgbbez,$zblattn.$zblattz,$zblatt0v); 
    218206        $res=pg_prepare("", $sql); 
    219207        $res=pg_execute("", $v); 
     
    225213        while($row = pg_fetch_array($res)) {     
    226214                $bl_gml=$row["gml_id"]; 
     215                $zblatt=$row["blatt"]; // das tatsaechliche Format (mit/ohne fuehrende 0) 
    227216                $cntbl++; 
    228217        } 
     
    241230 
    242231        if ($showParent) {       
     232                echo "\n<div class='gk' title='GB-Bezirk'>"; 
     233                        echo "\n\t\t<img class='nwlink' src='ico/Gericht.ico' width='16' height='16' alt='Bez.'> "; 
     234                        echo "<a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;gbkennz=".$zgbbez."'>";           
     235                        echo "Bezirk ".$zgbbez."</a>"; 
     236                        // Key ist bekannt. Sollte man sich die Muehe machen, Namen und Amtsgericht zu ermitteln? 
     237                echo "\n</div>"; 
    243238                echo "\n<div class='gb' title='GB-Blatt'>"; 
    244239                        echo "\n\t<a title='Nachweis' target='_blank' href='".$auskpath."alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$gblatt."'>"; 
    245240                                echo "\n\t\t<img class='nwlink' src='ico/GBBlatt_link.ico' width='16' height='16' alt='Blatt'>"; 
    246241                        echo "\n\t</a> "; 
    247                         echo "Blatt <a href='alkisnav_grd.php?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;gblatt=".$gblatt."&amp;gbkennz=".$zgbbez."-".$zblatt."'> ".$zblatt."</a>"; 
     242                        echo "Blatt <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;gblatt=".$gblatt."&amp;gbkennz=".$zgbbez."-".$zblatt."'>&nbsp;".$zblatt."&nbsp;</a>"; 
    248243                echo "\n</div>"; 
    249244        } 
    250245        // Blatt ->  B u c h u n g s s t e l l e 
    251         // ax_buchungsblatt   <istBestandteilVon<  ax_buchungsstelle  
    252         $sql ="SELECT s.gml_id, s.laufendenummer AS lfd "; 
    253         $sql.="FROM ax_buchungsstelle s "; 
     246        $sql ="SELECT s.gml_id, s.laufendenummer AS lfd FROM ax_buchungsstelle s "; 
    254247        $sql.="JOIN alkis_beziehungen v ON s.gml_id=v.beziehung_von ";  
    255248        $sql.="JOIN ax_buchungsblatt b ON v.beziehung_zu=b.gml_id "; 
    256         $sql.="WHERE v.beziehungsart='istBestandteilVon' AND b.gml_id= $1 "; 
    257         $sql.="ORDER BY s.laufendenummer;"; 
    258         // +++ Buchungen ohne FLST weglassen ?? 
     249        $sql.="WHERE v.beziehungsart='istBestandteilVon' AND b.gml_id= $1 ORDER BY s.laufendenummer;"; 
     250        // +++ Buchungen ohne FLST weglassen? 
    259251        // +++ Counter FLST ausgeben, Buchungen mit 0 weglassen  
    260252        $v=array($gblatt); 
     
    271263                echo "\n<div class='gs'>"; 
    272264                        echo "\n\t\t<img class='nwlink' title='Grundst&uuml;ck' src='ico/Grundstueck.ico' width='16' height='16' alt='GS'> "; 
    273                         echo "Buchung <a href='alkisnav_grd.php?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;gbuchung=".$bs_gml."&amp;gbkennz=".$zgbbez."-".$zblatt."-".$lfd."'>".$lfd."</a>"; 
     265                        echo "Buchung <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;gbuchung=".$bs_gml."&amp;gbkennz=".$zgbbez."-".$zblatt."-".$lfd."'>&nbsp;".$lfd."&nbsp;</a>"; 
    274266                echo "\n</div>"; 
    275267                $cntbu++; 
     
    285277 
    286278function gml_buchungsstelle() { 
    287         // Komplettes Kennzeichen "Bezirk + Blatt + BVNR" wurde eingegeben. 
    288         // Dazu die gml_id der Buchungsstelle ermitteln fuer die weitere Verfolgung der Beziehungen. 
     279        // Kennzeichen "Bezirk + Blatt + BVNR" eingegeben. Dazu die gml_id der Buchungsstelle ermitteln. 
    289280        global $con, $gkz, $debug, $zgbbez, $zblatt, $zbvnr; 
    290  
    291281        // Blatt ->  B u c h u n g s s t e l l e 
    292         // ax_buchungsblatt   <istBestandteilVon<  ax_buchungsstelle     
    293282        $sql ="SELECT s.gml_id FROM ax_buchungsstelle s "; 
    294283        $sql.="JOIN alkis_beziehungen v ON s.gml_id=v.beziehung_von ";  
     
    322311        // Die gml_id der Buchungsstelle ist bekannt. 
    323312        global $con, $gkz, $debug, $gemeinde, $scalefs, $epsg, $auskpath, $gbuchung, $zgbbez, $zblatt, $zbvnr; 
    324  
    325         if ($showParent) {       
    326                 // wenn Kennzeichen bekannt ist, dann auch Blatt ausgeben 
     313        if ($showParent) { // wenn Kennzeichen bekannt ist, dann auch Blatt ausgeben 
    327314                if (isset($zgbbez) and isset($zblatt)) { 
     315                        echo "\n<div class='gk' title='GB-Bezirk'>"; 
     316                                echo "\n\t\t<img class='nwlink' src='ico/Gericht.ico' width='16' height='16' alt='Bez.'> "; 
     317                                echo "<a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;gbkennz=".$zgbbez."'>";           
     318                                echo "Bezirk ".$zgbbez."</a>"; 
     319                                // Key ist bekannt. Sollte man sich die Muehe machen, Namen und Amtsgericht zu ermitteln? 
     320                        echo "\n</div>";                         
    328321                        echo "\n<div class='gb' title='GB-Blatt'>"; 
    329                                 echo "\n\t\t<img class='nwlink' src='ico/GBBlatt.ico' width='16' height='16' alt='Blatt'>"; 
    330                                 echo "Blatt <a href='alkisnav_grd.php?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;gbkennz=".$zgbbez."-".$zblatt."'>&nbsp;".$zblatt."&nbsp;</a>"; 
     322                                echo "\n\t\t<img class='nwlink' src='ico/GBBlatt.ico' width='16' height='16' alt='Blatt'> "; 
     323                                echo "Blatt <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;gbkennz=".$zgbbez."-".$zblatt."'>&nbsp;".$zblatt."&nbsp;</a>"; 
    331324                        echo "\n</div>"; 
    332325                } else { 
     
    335328                echo "\n<div class='gs'>"; 
    336329                        echo "\n\t\t<img class='nwlink' title='Grundst&uuml;ck' src='ico/Grundstueck.ico' width='16' height='16' alt='GS'> "; 
    337                         echo "Buchung <a href='alkisnav_grd.php?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;gbuchung=".$gbuchung."&amp;gbkennz=".$zgbbez."-".$zblatt."-".$zbvnr."'>&nbsp;".$zbvnr."&nbsp;</a>"; 
     330                        echo "Buchung <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;gbuchung=".$gbuchung."&amp;gbkennz=".$zgbbez."-".$zblatt."-".$zbvnr."'>&nbsp;".$zbvnr."&nbsp;</a>"; 
    338331                echo "\n</div>"; 
    339332        } 
     
    378371                                echo "\n\t<a title='Nachweis' target='_blank' href='".$auskpath."alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$fs_gml."'>"; 
    379372                                        echo "\n\t\t<img class='nwlink' src='ico/Flurstueck_Link.ico' width='16' height='16' alt='FS'>"; 
    380                                 echo "\n\t</a>"; 
    381                                 echo "\n\t<a title='Flurst&uuml;ck positionieren 1:".$scalefs."' href='"; 
     373                                echo "\n\t</a> "; 
     374                                echo "\n\t".$gmkg." <a title='Flurst&uuml;ck positionieren 1:".$scalefs."' href='"; 
    382375                                        echo "javascript:parent.parent.parent.mb_repaintScale(\"mapframe1\",".$x.",".$y.",".$scalefs."); "; 
    383376                                        echo "parent.parent.hideHighlight();' "; 
    384377                                        echo "onmouseover='parent.parent.showHighlight(".$x.",".$y.")' "; 
    385                                         echo "onmouseout='parent.parent.hideHighlight()'>"; 
    386                                 echo $gmkg." ".$flur."-".$fskenn."</a>"; 
     378                                        echo "onmouseout='parent.parent.hideHighlight()'>&nbsp;"; 
     379                                echo $flur."-".$fskenn."&nbsp;</a>"; 
    387380                        echo "\n</div>"; 
    388381                } 
     
    411404$kennztyp=ZerlegungGBKennz($gbkennz); 
    412405if ($debug >= 2) {echo "<p>GB-Kennzeichen Typ=".$kennztyp."</p>";} 
    413 // Wurde eine gml_id (internes Kennzeichen) aus einem Link verwendet? 
     406 
     407// Wurde eine gml_id (internes Kennzeichen) aus einem Self-Link verwendet? 
     408// Dann hat das Prioritaet, nicht nach $gbkennz suchen. 
    414409If (isset($gbuchung)) { // gml der Buchungsstelle 
    415410        if ($debug >= 2) {echo "<p>Link Buchung(gml)=".$gbuchung."</p>";} 
     
    422417        }; 
    423418} else { 
    424         // Kein internes Kennzeichen (gml_id), also nur die (manuelle) Eingabe interpretieren. 
     419        // Kein internes Kennzeichen (gml_id), die (manuelle) Eingabe interpretieren. 
    425420        switch ($kennztyp) { 
    426421        // +++ Ersten Schritt "Suche Amtsgericht" voranstellen? 
Note: See TracChangeset for help on using the changeset viewer.