Ignore:
Timestamp:
05/14/13 18:26:41 (11 years ago)
Author:
frank.jaeger
Message:

Mapbender-Navigation verbessert.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/mapbender/http/nav/alkisnav_eig.php

    r283 r284  
    1010        2013-04-29      Darstellung mit IE 
    1111        2013-05-07  Strukturierung des Programms, redundanten Code in Functions zusammen fassen 
    12         2013-05-08  Hervorhebung aktuelles Objekt, in Arbeit ... 
     12        2013-05-14  Hervorhebung aktuelles Objekt, Parameter "gbkennz" auswerten, 
     13                                        Title auch auf Icon, IE zeigt sonst alt= als Title dar. 
    1314*/ 
    1415$cntget = extract($_GET); 
     
    5051        if(isset($name)) { // Familiensuche 
    5152                echo "\n<div class='back' title='Andere Personen mit diesem Nachnamen'>"; 
    52                         echo "\n\t\t<img class='nwlink' src='ico/Eigentuemer_2.ico' width='16' height='16' alt='FAM'> "; 
     53                        echo "\n\t\t<img class='nwlink' src='ico/Eigentuemer_2.ico' width='16' height='16' alt='FAM' title='Andere Personen mit diesem Nachnamen'> "; 
    5354                        echo "\n<a class='back' href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;name=".$name."'>\"".$name."\"</a>"; 
    5455                echo "\n</div>\n<br>";   
     
    9293        <td valign='top'> 
    9394                <a title='Nachweis' href='javascript:imFenster(\"".$auskpath."alkisnamstruk.php?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;gmlid=".$person."\")'> 
    94                         <img class='nwlink' src='ico/Eigentuemer.ico' width='16' height='16' alt='EIG'> 
     95                        <img class='nwlink' src='ico/Eigentuemer.ico' width='16' height='16' alt='EIG' title='Nachweis'> 
    9596                </a> 
    9697        </td> 
     
    177178// Alternativ wÃŒrde eine Hilfstabelle benötigt, in der im PostProcessing  
    178179// das GB-zu-Gemeinde-VerhÀltnis vorbereitet wird. 
    179         global $gkz, $gemeinde, $epsg, $name, $person, $blattgml, $debug, $bltbez, $bltblatt, $bltseite; 
     180        global $gkz, $gemeinde, $epsg, $name, $person, $blattgml, $debug, $bltbez, $bltblatt, $bltseite, $kennztyp, $zgbbez; 
     181        # $zblatt, $zblattn, $zblattz, $zbvnr; 
    180182        $linelimit=150; 
     183 
     184        // Head 
    181185        familiensuche(); 
    182186        personendaten(); 
     187 
     188        // Body 
    183189        // Suche nach GrundbÃŒchern der Person 
    184         $sql ="SELECT gb.gml_id AS gml_g, gb.buchungsblattnummermitbuchstabenerweiterung as blatt, b.bezeichnung AS beznam "; 
     190        $sql ="SELECT gb.gml_id AS gml_g, gb.buchungsblattnummermitbuchstabenerweiterung as blatt, b.bezirk, b.bezeichnung AS beznam "; 
    185191        $sql.="FROM alkis_beziehungen bpn "; 
    186192        $sql.="JOIN ax_namensnummer n ON bpn.beziehung_von=n.gml_id "; 
     
    189195        $sql.="JOIN ax_buchungsblattbezirk b ON gb.land = b.land AND gb.bezirk = b.bezirk "; 
    190196        $sql.="WHERE bpn.beziehung_zu= $1 AND bpn.beziehungsart='benennt' AND bng.beziehungsart='istBestandteilVon' "; 
     197 
     198        // Parameter $gbkennz, z.B. nach Klick auf Zeile "Bezirk" 
     199        if ($kennztyp > 1) { // 2=Such Bezirk-Nummer, 3=Such Blatt, 4=Such Buchung BVNR 
     200                #if ($debug > 0) {echo "<p class='dbg'>Filter Bezirk '".$zgbbez."'<p>";} 
     201                $sql.="AND b.bezirk = ".$zgbbez." "; 
     202                $bezirkaktuell = true; 
     203        } else { 
     204                $bezirkaktuell = false; 
     205        } 
     206 
    191207        if ($bltbez.$bltblatt != "") { // BlÀttern, Fortsetzen bei ... 
    192208                $sql.="AND ((b.bezeichnung > '".$bltbez."') "; 
    193209                $sql.="OR (b.bezeichnung = '".$bltbez."' AND gb.buchungsblattnummermitbuchstabenerweiterung > '".$bltblatt."')) "; 
    194210        } 
     211 
    195212        $sql.="ORDER BY b.bezeichnung, gb.buchungsblattnummermitbuchstabenerweiterung LIMIT $2 ;"; 
    196213 
     
    208225        } 
    209226        $cnt = 0; 
     227        $gwbez=""; 
    210228        while($row = pg_fetch_array($res)) { 
     229                $beznr=$row["bezirk"]; 
     230                if ($gwbez != $beznr) { // Gruppenwechsel Bezirk 
     231                        $beznam=$row["beznam"]; 
     232                        $gwbez=$beznr; 
     233                        zeile_gbbez ($beznam, $beznr, $bezirkaktuell); 
     234                } 
    211235                $gml=$row["gml_g"]; 
    212                 $beznam=$row["beznam"]; 
    213236                $blatt=$row["blatt"]; 
    214237                zeile_blatt($zgbbez, $beznam, $gml, $blatt, false, $person, false); 
    215238                $cnt++; 
    216239        } 
     240 
     241        // Foot 
    217242        if($cnt == 0) {  
    218243                echo "\n<p class='anz'>Kein Grundbuch zum Eigent&uuml;mer</p>"; 
    219244        } elseif($cnt >= $linelimit) { 
    220245                echo "\n<p class='blt'>".$cnt." Grundb. zum Eigent."; 
     246 
     247                // BlÀttern 
    221248                $nxtbltbez=urlencode($beznam); 
    222249                $nxtbltblatt=urlencode($blatt); 
     
    241268        global $gkz, $gemeinde, $name, $person, $blattgml, $epsg, $gfilter, $debug; 
    242269        if($backlink) { // Erneuter Ansatz bei Person oder GB möglich. 
     270 
    243271                // Namen ermitteln 
    244272                $sql ="SELECT nachnameoderfirma, vorname FROM ax_person WHERE gml_id = $1 "; 
     
    248276                if (!$res) {echo "\n<p class='err'>Fehler bei Eigent&uuml;mer</p>";} 
    249277                $row = pg_fetch_array($res); // nur eine Zeile 
    250                 $nnam=htmlentities($row["nachnameoderfirma"], ENT_QUOTES, "UTF-8"); 
    251                 $vnam=htmlentities($row["vorname"], ENT_QUOTES, "UTF-8"); 
    252  
    253                 // +++ Function zeile_person nutzen ? 
    254                 echo "\n\t<div class='back' title='zur&uuml;ck zur Person'>"; 
    255                         echo "\n\t\t<img class='nwlink' src='ico/Eigentuemer.ico' width='16' height='16' alt='EIG'> "; 
    256                         echo "\n\t<a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;person=".$person."'>"; 
    257                         echo $nnam.", ".$vnam."</a><br>";                
    258                 echo "</div>"; 
     278                zeile_person($person, $row["nachnameoderfirma"], $row["vorname"]); 
    259279 
    260280                // Grundbuch-Daten ermitteln 
    261281                $sql ="SELECT gb.gml_id AS gml_g, gb.buchungsblattnummermitbuchstabenerweiterung as blatt, b.bezirk, b.bezeichnung AS beznam "; 
    262282                $sql.="FROM ax_buchungsblatt gb JOIN ax_buchungsblattbezirk b ON gb.land=b.land AND gb.bezirk=b.bezirk "; 
    263                 $sql.="WHERE gb.gml_id= $1 ;"; 
     283                $sql.="WHERE gb.gml_id= $1 LIMIT 1 ;"; 
    264284                $v=array($blattgml); 
    265285                $res=pg_prepare("", $sql); 
     
    271291                $beznam=$row["beznam"]; 
    272292                $blatt=$row["blatt"]; 
     293                zeile_gbbez ($beznam, $bezirk, false); 
    273294                zeile_blatt($bezirk, $beznam, $blattgml, $blatt, false, $person, true);  
    274295        } 
    275         #GB_Buchung_FS(200, $bezirk."-".$blatt); // Blatt > GrundstÃŒck > Flurst. (max. 200) 
    276         GB_Buchung_FS(200, ""); // ohne den Link auf "Buchung" 
     296        GB_Buchung_FS(250, ""); // Blatt > Grundst. > FS, max. 250, ohne Link "Buchung" 
    277297        return; 
    278298} 
     
    288308// Stufe 2 und 3 nacheinander verwendet werden. Dies ist wahrscheinlich ÃŒbersichtlicher,  
    289309// weil "ungefiltert" in "2+3" zu lange Listen entstehen wÃŒrden, die durchblÀttert werden mÃŒssen.  
    290         global $gkz, $gemeinde, $epsg, $name, $person, $blattgml, $gfilter, $debug, $bltbez, $bltblatt, $bltbvnr, $bltseite, $bltrecht; 
     310        global $gkz, $gemeinde, $epsg, $name, $person, $blattgml, $gfilter, $debug, $bltbez, $bltblatt, $bltbvnr, $bltseite, $bltrecht, $kennztyp, $zgbbez; 
    291311        $linelimit=80; // als Limit "Anzahl FlurstÃŒcke" in den beiden folgenden Abfragen 
    292312        // darf nun etwas knapper sein, weil man jetzt blÀttern kann 
     
    336356        $sql2.="WHERE bpn.beziehung_zu= $1 AND bpn.beziehungsart='benennt' AND bng.beziehungsart='istBestandteilVon' "; 
    337357        $sql2.="AND vbg.beziehungsart='istBestandteilVon' AND vfb.beziehungsart='istGebucht' "; 
     358 
     359        // Parameter $gbkennz nach Klick auf Zeile "Bezirk" 
     360        if ($kennztyp > 1) { // 2=Such Bezirk-Nummer, 3=Such Blatt, 4=Such Buchung BVNR 
     361                #if ($debug > 0) {echo "<p class='dbg'>Filter Bezirk '".$zgbbez."'<p>";} 
     362                $sql2.="AND b.bezirk = ".$zgbbez." "; 
     363                $bezirkaktuell = true; 
     364        } else { 
     365                $bezirkaktuell = false; 
     366        } 
     367 
    338368        switch ($gfilter) { // Gemeinde-Filter 
    339369                case 1: // Einzelwert 
     
    387417                                $beznam=$row["beznam"]; 
    388418                                $gwgb=""; 
    389                                 # Zeile ausgeben? 
    390                                 if($debug > 0) {echo "<p class='dbg'>Bezirk ".$bezirk."</p<>";} 
     419                                zeile_gbbez($beznam, $gwbez, $bezirkaktuell); 
    391420                        } 
    392421                        $gb_gml=$row["gml_g"]; 
     
    401430                                $gwbv = $bvnr; 
    402431                                $bsgml=$row["bsgml"]; 
    403                                 zeile_buchung($bsgml, $bvnr, "", false, false); // ohne Link! 
    404                         #       zeile_buchung($bsgml, $bvnr, $bezirk."-".$blatt, false, false); 
     432                                zeile_buchung($bsgml, $bvnr, "", false, false); //ohne Link 
    405433                        } 
    406434                        $fs_gml=$row["gml_id"]; 
     
    414442                if($zfs1 == 0) { 
    415443                        if ($bltrecht == "ohne") {echo "\n<p class='anz'>Keine direkte Buchung gefunden.</p>";} 
    416                 } elseif($zfs1 >= $linelimit) { // das Limit war zu knapp, das  B l À t t e r n  anbieten 
    417                         echo "\n<p class='blt'>".$zfs1." Flurst&uuml;cke"; 
     444                } elseif($zfs1 >= $linelimit) { // das Limit war zu knapp 
     445                        echo "\n<p class='blt'>"; 
     446                        if ($bltseite > 1) {echo "weitere ";} 
     447                        echo $zfs1." Flurst&uuml;cke"; 
     448                        // B l À t t e r n  (eine Folgeseite anbieten) 
    418449                        $nxtbltbez=urlencode($beznam); 
    419450                        $nxtbltblatt=urlencode($blatt); 
    420451                        $nxtbltseite=$bltseite + 1; 
    421                         echo "\n - <a class='blt' href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;person=".$person."&amp;bltbez=".$nxtbltbez."&amp;bltblatt=".$nxtbltblatt."&amp;bltbvnr=".$bvnr."&amp;bltseite=".$nxtbltseite."&amp;bltrecht=ohne' "; 
     452                        echo "\n - <a class='blt' href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;person=".$person; 
     453                        echo "&amp;gbkennz=".$zgbbez; // Filter Bezirk 
     454                        echo "&amp;bltbez=".$nxtbltbez."&amp;bltblatt=".$nxtbltblatt."&amp;bltbvnr=".$bvnr."&amp;bltseite=".$nxtbltseite."&amp;bltrecht=ohne' "; 
    422455                        echo "title='Bl&auml;ttern ab ".htmlentities($beznam)." Blatt ".$blatt." BVNR ".$bvnr."'>weitere</a>"; 
    423456                        echo "</p>"; 
    424                 } elseif($zfs1 > 1) { // Meldung (Plural) ab 2  
    425                         echo "\n<p class='anz'>".$zfs1." Flurst&uuml;cke zum Eigent&uuml;mer</p>"; // im Limit 
     457                } elseif($zfs1 > 1) { // Meldung (Plural) ab 2, im Limit 
     458                        echo "\n<p class='anz'>"; 
     459                        if ($bltseite > 1) {echo "weitere ";} 
     460                        echo $zfs1; 
     461                        if ($kennztyp > 1) { 
     462                                echo " Flurst. zum Eigent. im GB-Bezirk</p>";  
     463                        } else { 
     464                                echo " Flurst&uuml;cke zum Eigent&uuml;mer</p>";  
     465                        } 
    426466                } 
    427467        }        
     
    443483                } 
    444484                $zfs2=0; 
    445                 $gwgb=""; 
     485                $gwbez=""; 
     486                #gwgb=""; 
    446487                while($row = pg_fetch_array($res)) {     
     488                        $bezirk=$row["bezirk"]; 
     489                        if ($gwbez != $bezirk) { // Gruppierung Bezirk 
     490                                $gwbez=$bezirk; 
     491                                $beznam=$row["beznam"]; 
     492                                $gwgb=""; 
     493                                zeile_gbbez($beznam, $gwbez, $bezirkaktuell); 
     494                        } 
    447495                        $gb_gml=$row["gml_g"]; 
    448496                        if ($gwgb != $gb_gml) {  // Gruppierung Blatt (Grundbuch) 
     
    475523                        } 
    476524                } elseif($zfs2 >= $linelimit) { // das Limit war zu knapp, das  B l À t t e r n  anbieten 
    477                         echo "\n<p class='blt'>".$zfs2." Rechte an Flurst."; 
     525                        echo "\n<p class='blt'>"; 
     526                        if ($bltseite > 1) {echo "weitere ";} 
     527                        echo $zfs2." Rechte an Flurst."; 
    478528                        $nxtbltbez=urlencode($beznam); 
    479529                        $nxtbltblatt=urlencode($blatt); 
    480530                        $nxtbltseite=$bltseite + 1; 
    481                         echo "\n - <a class='blt' href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;person=".$person."&amp;bltbez=".$nxtbltbez."&amp;bltblatt=".$nxtbltblatt."&amp;bltbvnr=".$bvnr."&amp;bltseite=".$nxtbltseite."&amp;bltrecht=nur' "; 
     531                        echo "\n - <a class='blt' href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;person=".$person; 
     532                        echo "&amp;gbkennz=".$zgbbez; // Filter Bezirk 
     533                        echo "&amp;bltbez=".$nxtbltbez."&amp;bltblatt=".$nxtbltblatt."&amp;bltbvnr=".$bvnr."&amp;bltseite=".$nxtbltseite."&amp;bltrecht=nur' "; 
    482534                        echo "title='Bl&auml;ttern ab ".htmlentities($beznam)." Blatt ".$blatt." BVNR ".$bvnr."'>weitere</a>"; 
    483535                        echo "</p>"; 
    484536                } elseif($zfs2 > 1) { // ab 2 
    485                         echo "\n<p class='anz'>".$zfs2." Rechte an Flurst.</p>"; // im Limit             
     537                        echo "\n<p class='anz'>"; 
     538                        if ($bltseite > 1) {echo "weitere ";} 
     539                        echo $zfs2." Rechte an Flurst.</p>"; // im Limit                 
    486540                } 
    487541        } // ENDE FÀlle mit "Rechte an" 
     
    510564} 
    511565 
    512 ## Aus Link "Buchung" kommen folgende Parameter: 
    513 # ?gkz=250&gemeinde=20&epsg=31467 
    514 # &buchunggml=DENW15AL1000Bj2m 
    515 # &gbkennz=2619-000025+-8 
    516 ## Weder buchunggml noch gbkennz werden ausgewertet. 
    517 ## Name fehlt (zum drÃŒber setzen) 
    518 ## vorlÀufige Lösung: Link verhindern. 
     566$kennztyp=ZerlegungGBKennz($gbkennz); // Grundbuch-Kennzeichen aus Parameter zerlegen: $z__  
     567// 2=Such Bezirk-Nummer, 3=Such Blatt, 4=Such Buchung BVNR 
    519568 
    520569// Quo Vadis? 
     
    532581        // Die Filtereinstellung beeinflusst die Such-Strategie: 
    533582        if ($gfilter == 0) {                    // Keine Filterung auf "Gemeinde": große Datenmenge 
    534  
    535                 $trans="Grundb&uuml;cher zum Eigent&uuml;mer"; 
     583                if ($kennztyp > 1) { 
     584                        $trans = "Grundb&uuml;cher in ".$zgbbez." von .."; // Filter GB-Bez 
     585                } else { 
     586                        $trans = "Grundb&uuml;cher von .."; // Name steht darunter 
     587                } 
    536588                getGBbyPerson(); 
    537589                // Also schrittweise erst mal Stufe 2 = GrundbÃŒcher zur Person suchen. 
    538590                if(isset($blattgml) ) { // Es wurde nur EIN Grundbuch zu der Person gefunden. 
    539                         $trans="1 Blatt zum Eigent&uuml;mer"; 
     591                        $trans = "1 Blatt zum Eigent&uuml;mer"; 
    540592                        getFSbyGB(false);       // Dann dazu auch gleich die Stufe 3 hinterher, aber ohne Backlink. 
    541                 }  
    542  
     593                } 
    543594        } else {                                                // mit Filter auf Gemeinde: weniger Daten? 
    544                 $trans="Grundb. und Flurst. zum Eigent&uuml;mer"; 
     595                if ($kennztyp > 1) { 
     596                        #trans="Grundb. und Flurst. in ".$zgbbez." von .. "; // zu lang 
     597                        $trans="Grdb. und Flst. von .. in .."; // Filter GB-Bez, 
     598                        // darunter sind dann Name und Bezirk farblich markiert 
     599                } else { 
     600                        $trans="Grundb. und Flurst. von .."; // der EigentÃŒmer steht darunter 
     601                } 
    545602                getGBuFSbyPerson();             // Schritte 2+3 gleichzeitig, dabei Gemeinde-Filter auf Stufe 3 
    546603        } 
Note: See TracChangeset for help on using the changeset viewer.