]*>)(.*)()"; $replacement = "\\1\\2" . $element_name . "" . $user . "\\3"; $filter = mb_eregi_replace($pattern, $replacement, $filter); } else { $e = new mb_exception("mod_wfs_gazetteer_server: checkAccessConstraint: invalid value of variable containing user information!"); } } else { $e = new mb_exception("mod_wfs_gazetteer_server: checkAccessConstraint: var name is not valid! (" . $auth_varname . ")"); } } return $filter; } if ($command == "getWfsConf") { $wfsConfIdString = $_GET["wfsConfIdString"]; if ($wfsConfIdString != "") { //array_keys(array_flip()) produces an array with unique entries $wfsConfIdArray = array_keys(array_flip(mb_split(",", $wfsConfIdString))); } else { echo "please specify wfs conf id."; die(); } $obj = new WfsConf(); $obj->load($wfsConfIdArray); echo $obj; } else if ($command == "getSearchResults") { $wfs_conf_id = $_REQUEST["wfs_conf_id"]; $backlink = $_REQUEST["backlink"]; $frame = $_REQUEST["frame"]; $filter = $_REQUEST["filter"]; $url = $_REQUEST["url"]; /* wfs_conf */ $sql = "SELECT * FROM wfs_conf JOIN wfs ON wfs_conf.fkey_wfs_id = wfs.wfs_id "; $sql .= "WHERE wfs_conf.wfs_conf_id = $1"; $v = array($wfs_conf_id); $t = array('i'); $res = db_prep_query($sql,$v,$t); if ($row = db_fetch_array($res)) { $g_res_style = $row["g_res_style"]; } else { die("wfs_conf " . $wfs_conf_id . "data not available"); } /* 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 .= "AND wfs_conf_element.f_show = 1 ORDER BY wfs_conf_element.f_respos;"; $v = array($wfs_conf_id); $t = array('i'); $res = db_prep_query($sql,$v,$t); $col = array(); while ($row = db_fetch_array($res)) { array_push($col, $row["element_name"]); } if (count($col) == 0) { die("wfs_conf_element data not available"); } // append authorisation condition to filter $filter = checkAccessConstraint($filter, $wfs_conf_id); $admin = new administration(); $req = urldecode($url).urlencode($admin->char_decode(stripslashes($filter))); $mygml = new gml2(); $mygml->parsegml($req); // generates JavaScript code that will add a geometry array containing // all the result geometries and their attributes (wfs_conf_elements) $js = ""; if ($mygml->getMemberCount() > 0) { $js .= $mygml->exportGeometriesToJS(true); for ($i = 0; $i < $mygml->getMemberCount(); $i++) { for ($j = 0; $j < count($col); $j++){ $js .= "geom.get(".$i.").e.setElement('".$j."', '".$mygml->getValueBySeparatedKey($i, $col[$j]) . "');\n"; } } } echo $js; } else { echo "please enter a valid command."; } ?>