[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