Index: trunk/data/mapbender/http/nav/alkisnav_adr.php
===================================================================
--- trunk/data/mapbender/http/nav/alkisnav_adr.php	(revision 83)
+++ trunk/data/mapbender/http/nav/alkisnav_adr.php	(revision 85)
@@ -1,6 +1,8 @@
 <?php
-/* Version vom 24.03.2011 
-	bei HsNr auch Gemeinde in Where
-	Anzeige Gemeinde wenn nicht in Filter */
+/* Version vom 
+	24.03.2011: bei HsNr auch Gemeinde in Where, Anzeige Gemeinde je nach Filter 
+	25.03.2011: parameter &gemeinde= auch als Liste moeglich
+	z.B. Wasserverband zustaendig fuer: &gemeinde=12,20,24,28,32
+*/
 import_request_variables("PG");
 include("../../conf/alkisnav_conf.php");
@@ -24,5 +26,5 @@
 function suchStrName() {
 	// Strassen nach Name(-nsanfang)
-	global $con, $street, $scalestr, $str_schl, $gkz, $gemeinde, $debug;
+	global $con, $street, $scalestr, $str_schl, $gkz, $gemeinde, $gfilter, $debug;
 	$linelimit=120;  // -> in die Conf?
 	preg_match("/^(\D+)(\d*)(\D*)/",$street,$matches); # 4 matches name/nr/zusatz echo "match: ".$matches[1].",".$matches[2].",".$matches[3];
@@ -38,7 +40,20 @@
 	$sql.="JOIN ax_gemeinde g ON k.land=g.land AND k.regierungsbezirk=g.regierungsbezirk AND k.kreis=g.kreis AND k.gemeinde=g.gemeinde ";
 	$sql.="WHERE k.bezeichnung ILIKE $1 ";
- 	if($gemeinde > 0) { // Filter Gemeinde?
-		$sql.="AND k.gemeinde=".$gemeinde." ";
-	}
+ 
+// 	if($gemeinde > 0) { // Filter Gemeinde?
+//		$sql.="AND k.gemeinde=".$gemeinde." ";
+//	}
+
+	switch ($gfilter) {
+		case 1: // Einzelwert
+			$sql.="AND k.gemeinde=".$gemeinde." ";
+			break;
+		case 2: // Liste
+			$sql.="AND k.gemeinde in (".$gemeinde.") ";
+			break;
+		default: // kein Filter
+			break;
+	}
+
 	$sql.="ORDER BY k.bezeichnung, g.bezeichnung, k.lage LIMIT $2 ;";
  	$v=array($match,$linelimit);
@@ -58,5 +73,17 @@
 				echo $sname; // nicht brauchbar fuer ax_lagebezeichnungmithausnummer.lage (Integer)
 			}
-			if ($gemeinde == "") {echo " in ".$gemname;}
+			//if ($gemeinde == "") {echo " in ".$gemname;}
+			
+			switch ($gfilter) {
+				case 0: // Kein Filter
+					echo " in ".$gemname;
+					break;
+				case 2: // Liste
+					echo " in ".$gemname;
+					break;
+				default: // Einzelwert
+					break;
+			}			
+			
 		echo "</div>";
 		$cnt++;
@@ -74,5 +101,5 @@
 function suchStrKey() {
 	// Strassen nach Strassen-Schluessel
-	global $con, $street, $scalestr, $str_schl, $gkz, $gemeinde, $debug;
+	global $con, $street, $scalestr, $str_schl, $gkz, $gemeinde, $gfilter, $debug;
 	$linelimit=50;
 	if(preg_match("/\*/",$street)) {
@@ -87,7 +114,20 @@
 	$sql.="JOIN ax_gemeinde g ON k.land=g.land AND k.regierungsbezirk=g.regierungsbezirk AND k.kreis=g.kreis AND k.gemeinde=g.gemeinde ";
 	$sql.="WHERE k.lage LIKE $1 ";
-	if($gemeinde > 0) { // Filter Gemeinde?
-		$sql.="AND k.gemeinde=".$gemeinde." ";
-	}
+
+//	if($gemeinde > 0) { // Filter Gemeinde?
+//		$sql.="AND k.gemeinde=".$gemeinde." ";
+//	}
+
+	switch ($gfilter) {
+		case 1: // Einzelwert
+			$sql.="AND k.gemeinde=".$gemeinde." ";
+			break;
+		case 2: // Liste
+			$sql.="AND k.gemeinde in (".$gemeinde.") ";
+			break;
+		default: // kein Filter
+			break;
+	}
+
 	$sql.="ORDER BY k.lage, k.bezeichnung LIMIT $2 ;";
  	$v=array($match,$linelimit);
@@ -104,5 +144,18 @@
 			echo $skey." <a class='st' href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;str_schl=".$gkey."' title='".$gemname."'>".$sname;
 			echo "</a>";
-			if ($gemeinde == "") {echo " in ".$gemname;}
+
+//			if ($gemeinde == "") {echo " in ".$gemname;}
+
+			switch ($gfilter) {
+				case 0: // Kein Filter
+					echo " in ".$gemname;
+					break;
+				case 2: // Liste
+					echo " in ".$gemname;
+					break;
+				default: // Einzelwert
+					break;
+			}
+
 		echo "</div>";
 		$cnt++;
@@ -122,5 +175,5 @@
 function suchHausZurStr($showParent){
 	// Haeuser zu einer Strasse
-	global $con, $str_schl, $gkz, $scalestr, $scalehs, $epsg, $gemeinde, $debug;
+	global $con, $str_schl, $gkz, $scalestr, $scalehs, $epsg, $gemeinde, $gfilter, $debug;
 	// Strasse zum Strassenschluessel
 	$sql ="SELECT g.bezeichnung AS gemname, k.bezeichnung, k.land, k.regierungsbezirk, k.kreis, k.gemeinde, k.lage ";
@@ -176,5 +229,18 @@
 				echo $sname." (".$nr.")"; // nur Anzeige, ohne Link
 			}
-			if ($gemeinde == "") {echo " in ".$gemname;}
+
+//			if ($gemeinde == "") {echo " in ".$gemname;}
+			
+			switch ($gfilter) {
+				case 0: // Kein Filter
+					echo " in ".$gemname;
+					break;
+				case 2: // Liste
+					echo " in ".$gemname;
+					break;
+				default: // Einzelwert
+					break;
+			}			
+			
 			echo "\n</div>";
 		}
@@ -237,6 +303,12 @@
 }
 if ($debug >= 2) {
-	if(isset($gemeinde)) {echo "<p>Filter Gemeinde = ".$gemeinde."</p>";
-	} else {echo "\n<p>Kein Filter Gemeinde</p>";}
+	echo "<p>Filter Gemeinde = ".$gemeinde."</p>";
+}
+if ($gemeinde == "") {
+	$gfilter = 0; // ungefiltert
+} elseif(strpos($gemeinde, ",") === false) {
+	$gfilter = 1; // Einzelwert
+} else {
+	$gfilter = 2; // Liste
 }
 if (isset($str_schl)) { // aus Link
