[Mapbender-commits] r1243 - trunk/mapbender/http/php

svn_mapbender at osgeo.org svn_mapbender at osgeo.org
Wed Mar 28 04:42:06 EDT 2007


Author: christoph
Date: 2007-03-28 04:42:06 -0400 (Wed, 28 Mar 2007)
New Revision: 1243

Modified:
   trunk/mapbender/http/php/mod_filteredWms_layer_topic.php
Log:
refactoring and minor bug fixes

Modified: trunk/mapbender/http/php/mod_filteredWms_layer_topic.php
===================================================================
--- trunk/mapbender/http/php/mod_filteredWms_layer_topic.php	2007-03-28 08:40:25 UTC (rev 1242)
+++ trunk/mapbender/http/php/mod_filteredWms_layer_topic.php	2007-03-28 08:42:06 UTC (rev 1243)
@@ -17,18 +17,20 @@
 # along with this program; if not, write to the Free Software
 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 
-import_request_variables("PG");
 require_once(dirname(__FILE__)."/../../conf/mapbender.conf");
+require_once(dirname(__FILE__)."/mb_validatePermission.php");
+require_once("../classes/class_administration.php");
+
+$logged_user_name = $_SESSION["mb_user_name"];
+$logged_user_id = $_SESSION["mb_user_id"];
+$self = $PHP_SELF . "?".SID."&guiID=".$_REQUEST["guiID"]."&elementID=".$_REQUEST["elementID"];
+
 $con = db_connect(DBSERVER,OWNER,PW);
 db_select_db(DB,$con);
-require_once(dirname(__FILE__)."/mb_validatePermission.php");
-$self = $PHP_SELF . "?".SID."&guiID=".$_REQUEST["guiID"]."&elementID=".$_REQUEST["elementID"];
 ?>
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 <html>
-<?php
-echo '<meta http-equiv="Content-Type" content="text/html; charset='.CHARSET.'">';	
-?>
+<meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET;?>">	
 <title>Administration</title>
 <?php
 include '../include/dyn_css.php';
@@ -61,38 +63,31 @@
 	}
 }
 </script>
-
 </head>
 <body>
 <?php
 
-require_once("../classes/class_administration.php");
-
 $fieldHeight = 20;
+$language_suffix = "en";
 
-$language_suffix = "en";
 //FIXME: there seems to be an error in dyn_css.php concerning php vars.
 if ($language == "'de'") {
 	$language_suffix = "de";
 }
 
-$logged_user_name = $_SESSION["mb_user_name"];
-$logged_user_id = $_SESSION["mb_user_id"];
-
 $admin = new administration();
 $own_gui_id_array = $admin->getGuisByOwner($logged_user_id,true);
-#$own_wms_id_array = $admin->getWmsByOwnGuis($own_gui_id_array);
 $own_wms_id_array = array();
+
 $sql = "SELECT wms_id FROM wms WHERE wms_owner = $1";
 $v = array($logged_user_id);
 $t = array('i');
 $res = db_prep_query($sql,$v,$t);
+
 while($row = db_fetch_array($res)){
 	array_push($own_wms_id_array,$row['wms_id']);
 }
-$cnt_wms = count($own_wms_id_array); 
 $own_layer_id_array = $admin->getLayerByWms($selected_wms);
-$cnt_layer = count($own_layer_id_array);
 
 /*handle remove, update and insert*****************************************************************/
 if($insert){
@@ -124,31 +119,51 @@
 	}
 }
 
-/*get all topics from selected layer*****************************************************************/
-$sql_layer_topic = "SELECT t.md_topic_category_id, t.md_topic_category_code_".$language_suffix." ";
-$sql_layer_topic .= "FROM layer_md_topic_category as w, md_topic_category as t WHERE w.fkey_layer_id = $1 AND w.fkey_md_topic_category_id = t.md_topic_category_id ";
-$sql_layer_topic .= "ORDER BY t.md_topic_category_code_".$language_suffix;
 
-if(!$selected_layer){$v = array($own_layer_id_array[0]);}
-if($selected_layer){$v = array($selected_layer);}
-$t = array('s');
-$res_layer_topic = db_prep_query($sql_layer_topic,$v,$t);
-$cnt_layer_topic=0;
-while($row = db_fetch_array($res_layer_topic)){
-	$topic_id_layer[$cnt_layer_topic] = $row["md_topic_category_id"];
-	$topic_name_layer[$cnt_layer_topic] =  $row["md_topic_category_code_".$language_suffix];
-	$cnt_layer_topic++;
+if (!isset($selected_layer)) {
+	if (count($own_layer_id_array) > 0) {
+		$selected_layer = $own_layer_id_array[0];
+	}
 }
 
+$topic_id_layer = array();
+
+if (isset($selected_layer)) {
+	/*get all topics from selected layer*****************************************************************/
+	if ($language_suffix == "de") {
+		$sql_layer_topic = "SELECT t.md_topic_category_id, t.md_topic_category_code_de ";
+		$sql_layer_topic .= "FROM layer_md_topic_category as w, md_topic_category as t WHERE w.fkey_layer_id = $1 AND w.fkey_md_topic_category_id = t.md_topic_category_id ";
+		$sql_layer_topic .= "ORDER BY t.md_topic_category_code_de";
+	}
+	else {
+		$sql_layer_topic = "SELECT t.md_topic_category_id, t.md_topic_category_code_en ";
+		$sql_layer_topic .= "FROM layer_md_topic_category as w, md_topic_category as t WHERE w.fkey_layer_id = $1 AND w.fkey_md_topic_category_id = t.md_topic_category_id ";
+		$sql_layer_topic .= "ORDER BY t.md_topic_category_code_en";
+	}
+	
+	$v = array($selected_layer);
+	$t = array('s');
+	$res_layer_topic = db_prep_query($sql_layer_topic,$v,$t);
+
+	while($row = db_fetch_array($res_layer_topic)){
+		array_push($topic_id_layer, $row["md_topic_category_id"]);
+		array_push($topic_name_layer, $row["md_topic_category_code_".$language_suffix]);
+	}
+}
 /*get all topics **********************************************************************************/
-$sql_topic = "SELECT * FROM md_topic_category ORDER BY md_topic_category_code_" . $language_suffix;
+if ($language_suffix == "de") {
+	$sql_topic = "SELECT * FROM md_topic_category ORDER BY md_topic_category_code_de";
+}
+else {
+	$sql_topic = "SELECT * FROM md_topic_category ORDER BY md_topic_category_code_en";
+}
 $res_topic = db_query($sql_topic);
-$cnt_topic = 0;
+$topic_id = array();
+$topic_name = array();
 while($row = db_fetch_array($res_topic)){
 	if (!in_array($row["md_topic_category_id"], $topic_id_layer)) {
-		$topic_id[$cnt_topic] = $row["md_topic_category_id"];
-		$topic_name[$cnt_topic] =  $row["md_topic_category_code_".$language_suffix];
-		$cnt_topic++;
+		array_push($topic_id, $row["md_topic_category_id"]);
+		array_push($topic_name, $row["md_topic_category_code_".$language_suffix]);
 	}
 }
 
@@ -158,7 +173,7 @@
 /*insert wms in selectbox*************************************************************************/
 echo "<div class='text1'>WMS: </div>";
 echo "<select style='background:#ffffff' class='select1' name='selected_wms' onChange='submit()' size='10'>";
-for($i=0; $i<$cnt_wms; $i++){
+for($i=0; $i<count($own_wms_id_array); $i++){
 	echo "<option value='" . $own_wms_id_array[$i] . "' ";
 	if($selected_wms && $selected_wms == $own_wms_id_array[$i]){
 		echo "selected";
@@ -170,7 +185,7 @@
 /*insert wms in selectbox*************************************************************************/
 echo "<div class='text2'>Layer: </div>";
 echo "<select style='background:#ffffff' class='select2' name='selected_layer' onChange='submit()' size='10'>";
-for($i=0; $i<$cnt_layer; $i++){
+for($i=0; $i<count($own_layer_id_array); $i++){
 	echo "<option value='" . $own_layer_id_array[$i] . "' ";
 	if($selected_layer && $selected_layer == $own_layer_id_array[$i]){
 		echo "selected";
@@ -182,7 +197,7 @@
 /*insert all groups in selectbox*******************************************************************/
 echo "<div class='text3'>TOPICS:</div><br>";
 echo "<select style='background:#ffffff' class='select3' multiple='multiple' name='selected_topic[]' size='$fieldHeight' >";
-for($i=0; $i<$cnt_topic; $i++){
+for($i=0; $i<count($topic_id); $i++){
 	echo "<option value='" . $topic_id[$i]  . "'>" . $topic_name[$i]  . "</option>";
 }
 echo "</select>";
@@ -198,7 +213,7 @@
 /*insert wms_topic_dependence and container_group_dependence in selectbox**************************************************/
 echo "<div class='text4'>SELECTED TOPICS:</div>";
 echo "<select style='background:#ffffff' class='select4' multiple='multiple' name='remove_topic[]' size='$fieldHeight' >";
-for($i=0; $i<$cnt_layer_topic; $i++){
+for ($i=0; $i < count($topic_id_layer); $i++) {
 	echo "<option value='" . $topic_id_layer[$i]  . "'>" . $topic_name_layer[$i]  . "</option>";
 }
 echo "</select>";



More information about the Mapbender_commits mailing list