[Mapbender-commits] r3602 - trunk/mapbender/http/extensions

svn_mapbender at osgeo.org svn_mapbender at osgeo.org
Fri Feb 27 08:01:17 EST 2009


Author: christoph
Date: 2009-02-27 08:01:17 -0500 (Fri, 27 Feb 2009)
New Revision: 3602

Modified:
   trunk/mapbender/http/extensions/geom2wfst.php
Log:
removed obsolete code

Modified: trunk/mapbender/http/extensions/geom2wfst.php
===================================================================
--- trunk/mapbender/http/extensions/geom2wfst.php	2009-02-27 12:56:44 UTC (rev 3601)
+++ trunk/mapbender/http/extensions/geom2wfst.php	2009-02-27 13:01:17 UTC (rev 3602)
@@ -28,77 +28,7 @@
 require_once(dirname(__FILE__)."/../classes/class_universal_gml_factory.php");
 require_once(dirname(__FILE__)."/../classes/class_wfs_configuration.php");
 
-function isValidVarName ($varname) {
-	if (preg_match("/[\$]{1}_[a-z]+\[\"[a-z_]+\"\]/i", $varname) != 0) {
-		return true;
-	}
-	return false;
-}
 
-function addParameterToFilter($filter, $featuretype_name, $wfs_conf_id) {
-	
-	/* wfs_conf_element */
-	$sql = "SELECT * FROM wfs_conf_element ";
-	$sql .= "JOIN wfs_element ON wfs_conf_element.f_id = wfs_element.element_id ";
-	$sql .= "WHERE wfs_conf_element.fkey_wfs_conf_id = $1 ";
-	$sql .= "ORDER BY wfs_conf_element.f_respos";
-			
-	$v = array($wfs_conf_id);
-	$t = array('i');
-	$res = db_prep_query($sql,$v,$t);
-	while($row = db_fetch_array($res)){
-		if (!empty($row["f_auth_varname"])) {
-			$auth_varname = $row["f_auth_varname"];
-			$element_name = $row["element_name"];
-		}
-	}
-	if (!empty($auth_varname)) {
-		$e = new mb_notice("geom2wfst: addParameterToFilter: auth_varname = " . $auth_varname);
-		$e = new mb_notice("geom2wfst: addParameterToFilter: element_name = " . $element_name);
-
-		if (isValidVarName($auth_varname)) {
-			$user = eval("return " . $auth_varname . ";");
-			
-			$e = new mb_notice("geom2wfst: addParameterToFilter: user should be " . $_SESSION["mb_user_id"]);
-			$e = new mb_notice("geom2wfst: addParameterToFilter: user is " . $user);
-			$patternUpdate = "(<wfs:Update[^>]*>)";
-			$patternInsert = "(<wfs:Insert[^>]*>)";
-			$patternDelete = "(<wfs:Delete[^>]*>)";
-
-			$e = new mb_notice("geom2wfst: addParameterToFilter: old filter was: " . $filter);
-
-			// insert: store authenticated user in database 
-			if (eregi($patternInsert, $filter)) {
-				$pattern = "(<" . $featuretype_name . ">)";
-				$replacement = "\\1<" . $element_name . ">" . $user . "</" . $element_name . ">";
-				$filter = eregi_replace($pattern, $replacement, $filter);
-			}
-			// update or delete: disallow access for other users
-			if (eregi($patternDelete, $filter) || eregi($patternUpdate, $filter)) {
-				$pattern = "(<ogc:Filter>)(<ogc:FeatureId[^>]*>)(</ogc:filter>)";
-				$replacement = "\\1<And>\\2<ogc:PropertyIsEqualTo><ogc:PropertyName>" . $element_name . "</ogc:PropertyName><ogc:Literal>" . $user . "</ogc:Literal></ogc:PropertyIsEqualTo></And>\\3"; 
-				$filter = eregi_replace($pattern, $replacement, $filter);
-			}
-			$e = new mb_notice("geom2wfst: addParameterToFilter: new filter is: " . $filter);
-		}
-		else {
-			$e = new mb_exception("geom2wfst: addParameterToFilter: invalid auth_varname (".$auth_varname.")");
-		}
-	}
-	else {
-		$e = new mb_notice("geom2wfst: addParameterToFilter: no auth_varname.");
-	}
-	return $filter;
-			
-}
-function checkVal($value){
-	$pattern = array("'",'"',"--");
-	$r = str_replace($pattern, "", $value);	
-	$r = addslashes($r);
-	return $r;
-}
-
-
 function sendErrorMessage($data) {
 	$resObj = array();
 	$response = "error";
@@ -124,34 +54,14 @@
 	sendErrorMessage("Invalid WFS: " . $wfsConf->wfsId);
 }
 
-$gmlFactory = new UniversalGmlFactory();
-$gmlObj = $gmlFactory->createFromGeoJson($geoJson);
+$data = $myWfs->transaction($method, $wfsConf, $geoJson);
 
-$data = $myWfs->transaction($method, $wfsConf, $gmlObj);
-
 if (is_null($data)) {
 	sendErrorMessage("WFS didn't return any data.");
 }
 
-$data = mb_eregi_replace("^[^<]*", "", $data);
-$data = mb_eregi_replace("[^>]*$", "", $data);
+$resObj = $myWfs->parseTransactionResponse($data);
 
-$resObj = array();
-if (mb_strpos(mb_strtoupper($data), "SUCCESS") !== false) {
-	$response = "success";
-	if (mb_ereg("^.*ogc:FeatureId fid=\"(.+)\"/>.*$", $data)) {
-		$fid = mb_ereg_replace("^.*ogc:FeatureId fid=\"(.+)\"/>.*$", "\\1", $data);
-		$resObj["fid"] = $fid;
-	}
-	$resObj["successConfirmation"] = $data;
-}
-else {
-	$response = "error";
-	$resObj["errorMessage"] = $data;
-}
-$resObj["response"] = $response;
-$notice = new mb_notice("response:".$response);
-
 header("Content-Type:application/x-json");
 $json = new Mapbender_JSON();
 echo $json->encode($resObj);



More information about the Mapbender_commits mailing list