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

svn_mapbender at osgeo.org svn_mapbender at osgeo.org
Thu Jun 25 06:29:37 EDT 2009


Author: vera
Date: 2009-06-25 06:29:36 -0400 (Thu, 25 Jun 2009)
New Revision: 4204

Modified:
   trunk/mapbender/http/php/mod_wfs_server.php
Log:
session var angepasst

Modified: trunk/mapbender/http/php/mod_wfs_server.php
===================================================================
--- trunk/mapbender/http/php/mod_wfs_server.php	2009-06-25 10:28:00 UTC (rev 4203)
+++ trunk/mapbender/http/php/mod_wfs_server.php	2009-06-25 10:29:36 UTC (rev 4204)
@@ -1,326 +1,326 @@
-<?php
-require_once(dirname(__FILE__)."/../php/mb_validateSession.php");
-require_once(dirname(__FILE__)."/../classes/class_administration.php");
-require_once(dirname(__FILE__)."/../classes/class_wfs.php");
-require_once(dirname(__FILE__) . "/../classes/class_json.php");
-require_once(dirname(__FILE__) . "/../classes/class_universal_wfs_factory.php");
-
-$json = new Mapbender_JSON();
-$obj = $json->decode(stripslashes($_REQUEST['obj']));
-
-//workflow:
-switch($obj->action){
-	case 'getServices':
-		$obj->services = getServices($obj);
-		sendOutput($obj);
-	break;
-	case 'getWfsConfData':
-		$obj->wfsConf = getWfsConfData($obj->wfs);
-		sendOutput($obj);
-	break;
-	case 'getGuis':
-		$obj->id = getGuis($obj);
-		sendOutput($obj);
-	break;
-	case 'getAssignedConfs':
-		$obj->assignedConfs = getAssignedConfs($obj);
-		sendOutput($obj);
-	break;
-	case 'getUpdateUrl':
-		$obj->url = getUpdateUrl($obj);
-		sendOutput($obj);
-	break;
-		case 'add':
-		addConfsToGui($obj);
-		sendOutput($obj);
-	break;
-	case 'remove':
-		removeConfsFromGui($obj);
-		sendOutput($obj);
-	break;
-	case 'updateWfs':
-		updateWfs($obj);
-		sendOutput($obj);
-	break;
-	case 'deleteWfs':
-		deleteWfs($obj);
-		sendOutput($obj);
-	break;
-	case 'setOwsproxy':
-		$ows = array();
-		$ows['string'] = setOwsproxy($obj);
-		$ows['action'] = "owsproxy";
-		sendOutput($ows);
-	break;
-	case 'removeOwsproxy':
-		$ows = array();
-		$ows['string'] = removeOwsproxy($obj);
-		$ows['action'] = "owsproxy";
-		sendOutput($ows);
-	break;
-	case 'getOwsproxy':
-		$ows = array();
-		$ows['string'] = getOwsproxy($obj);
-		$ows['action'] = "owsproxy";
-		sendOutput($ows);
-	break;
-	default:
-		sendOutput("no action specified...");
-}
-
-
-/*
- * Get all services (ids and titles) where the current user is owner
- *
- * @return mixed[] services the ids and titles of the services
- */
-function getServices(){
-	global $con;
-	$services = array();
-	$services['id'] = array();
-	$services['title'] = array();
-	$adm = new administration();
-	$serviceList = $adm->getWfsByOwner($_SESSION['mb_user_id']);
-	if(count($serviceList) == 0){
-		return false;
-	}
-	$sql = "SELECT * FROM wfs WHERE wfs_id IN (";
-	$v = $serviceList;
-	$t = array();
-	for ($i = 1; $i <= count($serviceList); $i++) {
-		if ($i > 1) {
-			$sql .= ", ";
-		}
-		$sql .= "$" . $i;
-		array_push($t, "i");
-	}
-	$sql .= ") ORDER BY wfs_title";
-	$res = db_prep_query($sql, $v, $t);
-	while($row = db_fetch_array($res)){
-		array_push($services['id'], $row['wfs_id']);
-		array_push($services['title'], $row['wfs_title']);
-	}
-	return $services;
-}
-
-/*
- * Get all configurations of the selcted wfs if the current user is owner
- *
- * @return mixed[]
- */
-function getWfsConfData($wfsID){
-	global $con;
-	// re-check permission
-	$adm = new administration();
-	$serviceList = $adm->getWfsByOwner($_SESSION['mb_user_id']);
-	if(in_array($wfsID, $serviceList)){
-		$wfsConf = array();
-		$wfsConf['id'] = array();
-		$wfsConf['abstract'] = array();
-		$sql = "SELECT * FROM wfs_conf WHERE fkey_wfs_id = $1 ORDER BY wfs_conf_abstract";
-		$v = array($wfsID);
-		$t = array('i');
-		$res = db_prep_query($sql,$v,$t);
-		$cnt = 0;
-		while($row = db_fetch_array($res)){
-			array_push($wfsConf['id'], $row['wfs_conf_id']);
-			array_push($wfsConf['abstract'], $row['wfs_conf_abstract']);
-			$cnt++;
-		}
-		if($cnt == 0){
-			return false;
-		}
-		else{
-			return $wfsConf;
-		}
-	}
-	else if($wfsID==="gui_confs"){
-		$wfsConf = array();
-		$wfsConf['id'] = array();
-		$wfsConf['abstract'] = array();
-		$wfsConf['id'] = $adm->getWfsConfByPermission($_SESSION['mb_user_id']);
-		$cnt = 0;
-		foreach($wfsConf['id'] as $wfscid){
-			$sql = "SELECT wfs_conf_abstract FROM wfs_conf WHERE wfs_conf_id = $1";
-			$v = array($wfscid);
-			$t = array('i');
-			$res = db_prep_query($sql,$v,$t);
-			while($row = db_fetch_array($res)){
-				array_push($wfsConf['abstract'], $row['wfs_conf_abstract']);
-			}
-			$cnt++;
-		}
-		if($cnt == 0){
-			return false;
-		}
-		else{
-			return $wfsConf;
-		}
-	}
-}
-/*
- * Get all GUIs where the current user is owner. This are the GUIs where the user could publish his
- * wfs configurations
- *
- * @return mixed[]
- */
-function getGuis(){
-	$adm = new administration();
-	$guiList = $adm->getGuisByOwner($_SESSION['mb_user_id'],1);
-	if(count($guiList) > 0){
-		return $guiList;
-	}
-	return false;
-}
-
-
-/*
- * get all wfs_confs of the selected WFS which are assigned to the selected gui
- * @param
- * @return mixed[]
- */
-function getAssignedConfs($obj){
-	global $con;
-	$assignedConfs = array();
-	$confs = getWfsConfData($obj->selectedWfs);
-	if($confs === false){
-		return false;
-	}
-	$sql = "SELECT * FROM gui_wfs_conf WHERE fkey_gui_id = $1 AND fkey_wfs_conf_id IN (".join(",",$confs['id']).")";
-	$v = array($obj->selectedGui);
-	$t = array('s');
-	$res = db_prep_query($sql,$v,$t);
-	if(!$res){
-		$e = new mb_exception("Error: SQL: " . $sql . " -> Gui: " .$obj->selectedGui);
-	}
-	while($row = db_fetch_array($res)){
-		array_push($assignedConfs, $row['fkey_wfs_conf_id']);
-	}
-	return $assignedConfs;
-}
-
-
-function addConfsToGui($obj){
-	global $con;
-	for($i=0; $i<count($obj->confs); $i++){
-		$sql = "SELECT * FROM gui_wfs_conf WHERE fkey_gui_id = $1 AND fkey_wfs_conf_id = $2";
-		$v = array($obj->gui,$obj->confs->$i);
-		$t = array('s','i');
-		$res = db_prep_query($sql,$v,$t);
-		if(!$row = db_fetch_array($res)){
-			$sql1 = "INSERT INTO gui_wfs_conf (fkey_gui_id,fkey_wfs_conf_id) VALUES ($1,$2)";
-			$v1 = array($obj->gui, $obj->confs->$i);
-			$t1 = array('s', 'i');
-			$res1 = db_prep_query($sql1,$v1,$t1);
-		}
-	}
-}
-
-function removeConfsFromGui($obj){
-	global $con;
-	for($i=0; $i<count($obj->confs); $i++){
-		$sql = "DELETE FROM gui_wfs_conf  WHERE fkey_gui_id = $1 AND fkey_wfs_conf_id = $2";
-		$v = array($obj->gui, $obj->confs->$i);
-		$t = array('s', 'i');
-		$res = db_prep_query($sql,$v,$t);
-	}
-}
-/*
- * updates an WFS
- *
- * @param object the un-encoded object
- * @return boolean success
- */
-function updateWfs($obj){
-	$id = $obj->wfs;
-	$url = $obj->url;
-
-	$wfsFactory = new UniversalWfsFactory();
-	$myWfs = $wfsFactory->createFromUrl($url);
-	$myWfs->id = $id;
-
-	if(is_null($myWfs) || !$myWfs->update()){
-		$obj->success = false;
-	}
-	else {
-		$obj->success = true;
-	}
-	return true;
-}
-/*
- * deletes an WFS
- *
- * @param object the un-encoded object
- * @return boolean success
- */
-function deleteWfs($obj){
-	$id = $obj->wfs;
-	
-	$wfsFactory = new UniversalWfsFactory();
-	$myWfs = $wfsFactory->createFromDb($id);
-	if (is_null($myWfs) || !$myWfs->delete()) {
-		$obj->success = false;
-	}
-	else {
-		$obj->success = true;
-	}
-	return true;
-}
-
-/*
- * gets the specified url column from db
- *
- * @param object the un-encoded object
- * @return string requested url
- */
-
-function getUpdateUrl($obj){
-	global $con;
-	$sql = "SELECT * FROM wfs WHERE wfs_id = $1;";
-	$v = array($obj->wfs);
-	$t = array('i');
-	$res = db_prep_query($sql,$v,$t);
-	while($row = db_fetch_array($res)){
-		$ContentOfColumn = $row[$obj->column];
-		if($obj->column == 'wfs_getcapabilities'){
-										$n = new administration();
-										$updateUrl = $n->checkURL($ContentOfColumn)."Version=".$row['wfs_version']."&Request=getCapabilities&SERVICE=WFS";
-		}else{
-					$updateUrl = $ContentOfColumn;
-		}
-			
-		return $updateUrl;
-	}
-	return "";
-}
-
-function getOwsproxy($obj){
-	$n = new administration();
-	if($obj->wfs=="gui_confs")
-		return false;
-	return $n->getWfsOwsproxyString($obj->wfs);
-}
-function setOwsproxy($obj){
-	$n = new administration();
-	if($obj->wfs=="gui_confs")
-		return false;
-	return $n->setWfsOwsproxyString($obj->wfs,true);
-}
-function removeOwsproxy($obj){
-	$n = new administration();
-	if($obj->wfs=="gui_confs")
-		return false;
-	return $n->setWfsOwsproxyString($obj->wfs,false);
-}
-/*
- * encodes and delivers the data
- *
- * @param object the un-encoded object
- */
-function sendOutput($out){
-	global $json;
-	$output = $json->encode($out);
-	header("Content-Type: text/x-json");
-	echo $output;
-}
-?>
+<?php
+require_once(dirname(__FILE__)."/../php/mb_validateSession.php");
+require_once(dirname(__FILE__)."/../classes/class_administration.php");
+require_once(dirname(__FILE__)."/../classes/class_wfs.php");
+require_once(dirname(__FILE__) . "/../classes/class_json.php");
+require_once(dirname(__FILE__) . "/../classes/class_universal_wfs_factory.php");
+
+$json = new Mapbender_JSON();
+$obj = $json->decode(stripslashes($_REQUEST['obj']));
+
+//workflow:
+switch($obj->action){
+	case 'getServices':
+		$obj->services = getServices($obj);
+		sendOutput($obj);
+	break;
+	case 'getWfsConfData':
+		$obj->wfsConf = getWfsConfData($obj->wfs);
+		sendOutput($obj);
+	break;
+	case 'getGuis':
+		$obj->id = getGuis($obj);
+		sendOutput($obj);
+	break;
+	case 'getAssignedConfs':
+		$obj->assignedConfs = getAssignedConfs($obj);
+		sendOutput($obj);
+	break;
+	case 'getUpdateUrl':
+		$obj->url = getUpdateUrl($obj);
+		sendOutput($obj);
+	break;
+		case 'add':
+		addConfsToGui($obj);
+		sendOutput($obj);
+	break;
+	case 'remove':
+		removeConfsFromGui($obj);
+		sendOutput($obj);
+	break;
+	case 'updateWfs':
+		updateWfs($obj);
+		sendOutput($obj);
+	break;
+	case 'deleteWfs':
+		deleteWfs($obj);
+		sendOutput($obj);
+	break;
+	case 'setOwsproxy':
+		$ows = array();
+		$ows['string'] = setOwsproxy($obj);
+		$ows['action'] = "owsproxy";
+		sendOutput($ows);
+	break;
+	case 'removeOwsproxy':
+		$ows = array();
+		$ows['string'] = removeOwsproxy($obj);
+		$ows['action'] = "owsproxy";
+		sendOutput($ows);
+	break;
+	case 'getOwsproxy':
+		$ows = array();
+		$ows['string'] = getOwsproxy($obj);
+		$ows['action'] = "owsproxy";
+		sendOutput($ows);
+	break;
+	default:
+		sendOutput("no action specified...");
+}
+
+
+/*
+ * Get all services (ids and titles) where the current user is owner
+ *
+ * @return mixed[] services the ids and titles of the services
+ */
+function getServices(){
+	global $con;
+	$services = array();
+	$services['id'] = array();
+	$services['title'] = array();
+	$adm = new administration();
+	$serviceList = $adm->getWfsByOwner(Mapbender::session()->get("mb_user_id"));
+	if(count($serviceList) == 0){
+		return false;
+	}
+	$sql = "SELECT * FROM wfs WHERE wfs_id IN (";
+	$v = $serviceList;
+	$t = array();
+	for ($i = 1; $i <= count($serviceList); $i++) {
+		if ($i > 1) {
+			$sql .= ", ";
+		}
+		$sql .= "$" . $i;
+		array_push($t, "i");
+	}
+	$sql .= ") ORDER BY wfs_title";
+	$res = db_prep_query($sql, $v, $t);
+	while($row = db_fetch_array($res)){
+		array_push($services['id'], $row['wfs_id']);
+		array_push($services['title'], $row['wfs_title']);
+	}
+	return $services;
+}
+
+/*
+ * Get all configurations of the selcted wfs if the current user is owner
+ *
+ * @return mixed[]
+ */
+function getWfsConfData($wfsID){
+	global $con;
+	// re-check permission
+	$adm = new administration();
+	$serviceList = $adm->getWfsByOwner(Mapbender::session()->get("mb_user_id"));
+	if(in_array($wfsID, $serviceList)){
+		$wfsConf = array();
+		$wfsConf['id'] = array();
+		$wfsConf['abstract'] = array();
+		$sql = "SELECT * FROM wfs_conf WHERE fkey_wfs_id = $1 ORDER BY wfs_conf_abstract";
+		$v = array($wfsID);
+		$t = array('i');
+		$res = db_prep_query($sql,$v,$t);
+		$cnt = 0;
+		while($row = db_fetch_array($res)){
+			array_push($wfsConf['id'], $row['wfs_conf_id']);
+			array_push($wfsConf['abstract'], $row['wfs_conf_abstract']);
+			$cnt++;
+		}
+		if($cnt == 0){
+			return false;
+		}
+		else{
+			return $wfsConf;
+		}
+	}
+	else if($wfsID==="gui_confs"){
+		$wfsConf = array();
+		$wfsConf['id'] = array();
+		$wfsConf['abstract'] = array();
+		$wfsConf['id'] = $adm->getWfsConfByPermission(Mapbender::session()->get("mb_user_id"));
+		$cnt = 0;
+		foreach($wfsConf['id'] as $wfscid){
+			$sql = "SELECT wfs_conf_abstract FROM wfs_conf WHERE wfs_conf_id = $1";
+			$v = array($wfscid);
+			$t = array('i');
+			$res = db_prep_query($sql,$v,$t);
+			while($row = db_fetch_array($res)){
+				array_push($wfsConf['abstract'], $row['wfs_conf_abstract']);
+			}
+			$cnt++;
+		}
+		if($cnt == 0){
+			return false;
+		}
+		else{
+			return $wfsConf;
+		}
+	}
+}
+/*
+ * Get all GUIs where the current user is owner. This are the GUIs where the user could publish his
+ * wfs configurations
+ *
+ * @return mixed[]
+ */
+function getGuis(){
+	$adm = new administration();
+	$guiList = $adm->getGuisByOwner(Mapbender::session()->get("mb_user_id"),1);
+	if(count($guiList) > 0){
+		return $guiList;
+	}
+	return false;
+}
+
+
+/*
+ * get all wfs_confs of the selected WFS which are assigned to the selected gui
+ * @param
+ * @return mixed[]
+ */
+function getAssignedConfs($obj){
+	global $con;
+	$assignedConfs = array();
+	$confs = getWfsConfData($obj->selectedWfs);
+	if($confs === false){
+		return false;
+	}
+	$sql = "SELECT * FROM gui_wfs_conf WHERE fkey_gui_id = $1 AND fkey_wfs_conf_id IN (".join(",",$confs['id']).")";
+	$v = array($obj->selectedGui);
+	$t = array('s');
+	$res = db_prep_query($sql,$v,$t);
+	if(!$res){
+		$e = new mb_exception("Error: SQL: " . $sql . " -> Gui: " .$obj->selectedGui);
+	}
+	while($row = db_fetch_array($res)){
+		array_push($assignedConfs, $row['fkey_wfs_conf_id']);
+	}
+	return $assignedConfs;
+}
+
+
+function addConfsToGui($obj){
+	global $con;
+	for($i=0; $i<count($obj->confs); $i++){
+		$sql = "SELECT * FROM gui_wfs_conf WHERE fkey_gui_id = $1 AND fkey_wfs_conf_id = $2";
+		$v = array($obj->gui,$obj->confs->$i);
+		$t = array('s','i');
+		$res = db_prep_query($sql,$v,$t);
+		if(!$row = db_fetch_array($res)){
+			$sql1 = "INSERT INTO gui_wfs_conf (fkey_gui_id,fkey_wfs_conf_id) VALUES ($1,$2)";
+			$v1 = array($obj->gui, $obj->confs->$i);
+			$t1 = array('s', 'i');
+			$res1 = db_prep_query($sql1,$v1,$t1);
+		}
+	}
+}
+
+function removeConfsFromGui($obj){
+	global $con;
+	for($i=0; $i<count($obj->confs); $i++){
+		$sql = "DELETE FROM gui_wfs_conf  WHERE fkey_gui_id = $1 AND fkey_wfs_conf_id = $2";
+		$v = array($obj->gui, $obj->confs->$i);
+		$t = array('s', 'i');
+		$res = db_prep_query($sql,$v,$t);
+	}
+}
+/*
+ * updates an WFS
+ *
+ * @param object the un-encoded object
+ * @return boolean success
+ */
+function updateWfs($obj){
+	$id = $obj->wfs;
+	$url = $obj->url;
+
+	$wfsFactory = new UniversalWfsFactory();
+	$myWfs = $wfsFactory->createFromUrl($url);
+	$myWfs->id = $id;
+
+	if(is_null($myWfs) || !$myWfs->update()){
+		$obj->success = false;
+	}
+	else {
+		$obj->success = true;
+	}
+	return true;
+}
+/*
+ * deletes an WFS
+ *
+ * @param object the un-encoded object
+ * @return boolean success
+ */
+function deleteWfs($obj){
+	$id = $obj->wfs;
+	
+	$wfsFactory = new UniversalWfsFactory();
+	$myWfs = $wfsFactory->createFromDb($id);
+	if (is_null($myWfs) || !$myWfs->delete()) {
+		$obj->success = false;
+	}
+	else {
+		$obj->success = true;
+	}
+	return true;
+}
+
+/*
+ * gets the specified url column from db
+ *
+ * @param object the un-encoded object
+ * @return string requested url
+ */
+
+function getUpdateUrl($obj){
+	global $con;
+	$sql = "SELECT * FROM wfs WHERE wfs_id = $1;";
+	$v = array($obj->wfs);
+	$t = array('i');
+	$res = db_prep_query($sql,$v,$t);
+	while($row = db_fetch_array($res)){
+		$ContentOfColumn = $row[$obj->column];
+		if($obj->column == 'wfs_getcapabilities'){
+										$n = new administration();
+										$updateUrl = $n->checkURL($ContentOfColumn)."Version=".$row['wfs_version']."&Request=getCapabilities&SERVICE=WFS";
+		}else{
+					$updateUrl = $ContentOfColumn;
+		}
+			
+		return $updateUrl;
+	}
+	return "";
+}
+
+function getOwsproxy($obj){
+	$n = new administration();
+	if($obj->wfs=="gui_confs")
+		return false;
+	return $n->getWfsOwsproxyString($obj->wfs);
+}
+function setOwsproxy($obj){
+	$n = new administration();
+	if($obj->wfs=="gui_confs")
+		return false;
+	return $n->setWfsOwsproxyString($obj->wfs,true);
+}
+function removeOwsproxy($obj){
+	$n = new administration();
+	if($obj->wfs=="gui_confs")
+		return false;
+	return $n->setWfsOwsproxyString($obj->wfs,false);
+}
+/*
+ * encodes and delivers the data
+ *
+ * @param object the un-encoded object
+ */
+function sendOutput($out){
+	global $json;
+	$output = $json->encode($out);
+	header("Content-Type: text/x-json");
+	echo $output;
+}
+?>



More information about the Mapbender_commits mailing list