Changeset 68 for trunk/data/mapbender/http/nav/alkisnav_grd.php
- Timestamp:
- 01/13/11 17:42:06 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/data/mapbender/http/nav/alkisnav_grd.php
r67 r68 1 1 <?php 2 // Version vom 1 2.01.20113 $gkz = urldecode($_REQUEST["gkz"]); // Mandant 2 // Version vom 13.01.2011 3 import_request_variables("PG"); 4 4 include("../../conf/alkisnav_conf.php"); 5 import_request_variables("PG");6 7 // Datenbank-Connection8 5 $con_string = "host=".$host." port=".$port." dbname=".$dbname.$gkz." user=".$user." password=".$password; 9 6 $con = pg_connect ($con_string) or die ("Fehler bei der Verbindung zur Datenbank ".$dbname); 10 11 7 ?> 12 8 … … 29 25 } 30 26 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 Zahlen38 return true;39 } else { // Sonderfall Zusatz-Buchstabe am Ende40 $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 51 27 function ZerlegungGBKennz($gbkennz) { 52 // Das eingegebene Grundbuch-Kennzeichen auseinander nehmen (gggg-999999z-BVNR)53 // Return: 0=Fehler, 1=Such Bezirk-Name oder Listen alle Bezirke54 // 2=Such Bezirk-Nummer $zgbbez, 3=Such Blatt $zblatt, 4=Such BVNR $zbvnr55 global $debug, $zgbbez, $zblatt, $zb vnr;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); 57 33 $zgbbez=trim($arr[0]); 58 34 $zblatt=trim($arr[1]); … … 60 36 if ($zgbbez == "") { // keine Eingabe 61 37 return 1; // alle Bezirke listen 62 } elseif ( ! is_ne_zahl($zgbbez)) { 38 } elseif ( ! is_ne_zahl($zgbbez)) { // Alphabetische Eingabe 63 39 return 1; // Such Bezirk-NAME 64 40 } elseif ($zblatt == "") { 65 41 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 } 73 69 } else { 74 echo "<p class='err>D ie Buchungsstelle (BVNR) '".$zbvnr."' ist nicht numerisch</p>";70 echo "<p class='err>Das Grundbuch-Blatt '".$zblatt."' ist ungültig.</p>"; 75 71 return 0; 76 72 } 77 } else {78 echo "<p class='err>Das Grundbuch-Blatt '".$zblatt."' ist ungültig.</p>";79 return 0;80 73 } 81 74 } 82 75 83 76 function SuchGBBezName() { 84 // Grundbuch-Bezirk suchen nach Name(-nsanfang)77 // Grundbuch-Bezirk suchen nach Name(-nsanfang) 85 78 global $con, $gkz, $gemeinde, $debug, $gbkennz; 86 79 $linelimit=50; … … 134 127 global $con, $gkz, $gemeinde, $debug, $zgbbez, $auskpath; 135 128 $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. 140 132 if ($showParent) { 141 133 $sql ="SELECT a.bezeichnung AS ag, g.bezeichnung FROM ax_buchungsblattbezirk g "; … … 163 155 return; 164 156 } 165 // > 1 auch möglich ???157 // > 1 auch möglich? 166 158 echo "\n<div class='gk' title='GB-Bezirk'>"; 167 159 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."&gemeinde=".$gemeinde."&gbkennz=".$zgbbez."'>";160 echo "<a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&gemeinde=".$gemeinde."&gbkennz=".$zgbbez."'>"; 169 161 echo $gnam."</a> (".$zgbbez.") AG ".$ag; 170 162 echo "\n</div>"; … … 188 180 echo "\n\t\t<img class='nwlink' src='ico/GBBlatt_link.ico' width='16' height='16' alt='Blatt'>"; 189 181 echo "\n\t</a> "; 190 echo "Blatt <a href=' alkisnav_grd.php?gkz=".$gkz."&gemeinde=".$gemeinde."&gblatt=".$gml."&gbkennz=".$zgbbez."-".$blatt."'> ".$blatt." </a>";182 echo "Blatt <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&gemeinde=".$gemeinde."&gblatt=".$gml."&gbkennz=".$zgbbez."-".$blatt."'> ".$blatt." </a>"; 191 183 echo "\n</div>"; 192 184 $cntbl++; … … 204 196 205 197 function 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 "; 213 201 $sql.="WHERE b.bezirk= $1 AND b.buchungsblattnummermitbuchstabenerweiterung IN ( $2 , $3 );"; 214 202 // Unterschiedliche Formate in ax_buchungsblatt.buchungsblattnummermitbuchstabenerweiterung 215 203 // 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); 218 206 $res=pg_prepare("", $sql); 219 207 $res=pg_execute("", $v); … … 225 213 while($row = pg_fetch_array($res)) { 226 214 $bl_gml=$row["gml_id"]; 215 $zblatt=$row["blatt"]; // das tatsaechliche Format (mit/ohne fuehrende 0) 227 216 $cntbl++; 228 217 } … … 241 230 242 231 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."&gemeinde=".$gemeinde."&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>"; 243 238 echo "\n<div class='gb' title='GB-Blatt'>"; 244 239 echo "\n\t<a title='Nachweis' target='_blank' href='".$auskpath."alkisbestnw.php?gkz=".$gkz."&gmlid=".$gblatt."'>"; 245 240 echo "\n\t\t<img class='nwlink' src='ico/GBBlatt_link.ico' width='16' height='16' alt='Blatt'>"; 246 241 echo "\n\t</a> "; 247 echo "Blatt <a href=' alkisnav_grd.php?gkz=".$gkz."&gemeinde=".$gemeinde."&gblatt=".$gblatt."&gbkennz=".$zgbbez."-".$zblatt."'> ".$zblatt."</a>";242 echo "Blatt <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&gemeinde=".$gemeinde."&gblatt=".$gblatt."&gbkennz=".$zgbbez."-".$zblatt."'> ".$zblatt." </a>"; 248 243 echo "\n</div>"; 249 244 } 250 245 // 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 "; 254 247 $sql.="JOIN alkis_beziehungen v ON s.gml_id=v.beziehung_von "; 255 248 $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? 259 251 // +++ Counter FLST ausgeben, Buchungen mit 0 weglassen 260 252 $v=array($gblatt); … … 271 263 echo "\n<div class='gs'>"; 272 264 echo "\n\t\t<img class='nwlink' title='Grundstück' src='ico/Grundstueck.ico' width='16' height='16' alt='GS'> "; 273 echo "Buchung <a href=' alkisnav_grd.php?gkz=".$gkz."&gemeinde=".$gemeinde."&gbuchung=".$bs_gml."&gbkennz=".$zgbbez."-".$zblatt."-".$lfd."'>".$lfd."</a>";265 echo "Buchung <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&gemeinde=".$gemeinde."&gbuchung=".$bs_gml."&gbkennz=".$zgbbez."-".$zblatt."-".$lfd."'> ".$lfd." </a>"; 274 266 echo "\n</div>"; 275 267 $cntbu++; … … 285 277 286 278 function 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. 289 280 global $con, $gkz, $debug, $zgbbez, $zblatt, $zbvnr; 290 291 281 // Blatt -> B u c h u n g s s t e l l e 292 // ax_buchungsblatt <istBestandteilVon< ax_buchungsstelle293 282 $sql ="SELECT s.gml_id FROM ax_buchungsstelle s "; 294 283 $sql.="JOIN alkis_beziehungen v ON s.gml_id=v.beziehung_von "; … … 322 311 // Die gml_id der Buchungsstelle ist bekannt. 323 312 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 327 314 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."&gemeinde=".$gemeinde."&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>"; 328 321 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."&gemeinde=".$gemeinde."&gbkennz=".$zgbbez."-".$zblatt."'> ".$zblatt." </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."&gemeinde=".$gemeinde."&gbkennz=".$zgbbez."-".$zblatt."'> ".$zblatt." </a>"; 331 324 echo "\n</div>"; 332 325 } else { … … 335 328 echo "\n<div class='gs'>"; 336 329 echo "\n\t\t<img class='nwlink' title='Grundstück' src='ico/Grundstueck.ico' width='16' height='16' alt='GS'> "; 337 echo "Buchung <a href=' alkisnav_grd.php?gkz=".$gkz."&gemeinde=".$gemeinde."&gbuchung=".$gbuchung."&gbkennz=".$zgbbez."-".$zblatt."-".$zbvnr."'> ".$zbvnr." </a>";330 echo "Buchung <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&gemeinde=".$gemeinde."&gbuchung=".$gbuchung."&gbkennz=".$zgbbez."-".$zblatt."-".$zbvnr."'> ".$zbvnr." </a>"; 338 331 echo "\n</div>"; 339 332 } … … 378 371 echo "\n\t<a title='Nachweis' target='_blank' href='".$auskpath."alkisfsnw.php?gkz=".$gkz."&gmlid=".$fs_gml."'>"; 379 372 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ück positionieren 1:".$scalefs."' href='";373 echo "\n\t</a> "; 374 echo "\n\t".$gmkg." <a title='Flurstück positionieren 1:".$scalefs."' href='"; 382 375 echo "javascript:parent.parent.parent.mb_repaintScale(\"mapframe1\",".$x.",".$y.",".$scalefs."); "; 383 376 echo "parent.parent.hideHighlight();' "; 384 377 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()'> "; 379 echo $flur."-".$fskenn." </a>"; 387 380 echo "\n</div>"; 388 381 } … … 411 404 $kennztyp=ZerlegungGBKennz($gbkennz); 412 405 if ($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. 414 409 If (isset($gbuchung)) { // gml der Buchungsstelle 415 410 if ($debug >= 2) {echo "<p>Link Buchung(gml)=".$gbuchung."</p>";} … … 422 417 }; 423 418 } else { 424 // Kein internes Kennzeichen (gml_id), also nurdie (manuelle) Eingabe interpretieren.419 // Kein internes Kennzeichen (gml_id), die (manuelle) Eingabe interpretieren. 425 420 switch ($kennztyp) { 426 421 // +++ Ersten Schritt "Suche Amtsgericht" voranstellen?
Note: See TracChangeset
for help on using the changeset viewer.