# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
require_once dirname(__FILE__) . "/../../core/globalSettings.php";
require_once dirname(__FILE__) . "/../classes/class_gml2.php";
require_once dirname(__FILE__) . "/../classes/class_json.php";
$ajaxResponse = new AjaxResponse($_POST);
if ($ajaxResponse->getMethod() != "createUsemap") {
    $ajaxResponse->setSuccess(false);
    $ajaxResponse->setMessage("method invalid");
    $ajaxResponse->send();
    exit;
}
$url = $ajaxResponse->getParameter('url');
//urldecode($_REQUEST["url"]);
$g = new gml2();
$g->parsegml($url);
$um_title = array();
$um_x = array();
$um_y = array();
for ($i = 0; $i < $g->getMemberCount(); $i++) {
    $um_title[] = utf8_decode($g->getValueBySeparatedKey($i, "name"));
    $um_x[] = $g->getXfromMemberAsString($i, 0);
    $um_y[] = $g->getYfromMemberAsString($i, 0);
}
$resultObj = array();
$resultObj['um_title'] = $um_title;
$resultObj['um_x'] = $um_x;
$resultObj['um_y'] = $um_y;
<?php

require_once dirname(__FILE__) . "/../php/mb_validateSession.php";
require_once dirname(__FILE__) . "/../classes/class_json.php";
$ajaxResponse = new AjaxResponse($_POST);
switch ($ajaxResponse->getMethod()) {
    case "createWPSRequest":
        $templatefilePath = realpath(dirname(__FILE__) . "/../../resources/wps_template.xml");
        $parameters = $ajaxResponse->getParameter('attributes');
        try {
            $result = createWPSRequest($parameters, $templatefilePath);
            $ajaxResponse->setSuccess(true);
            $ajaxResponse->setResult($result);
        } catch (Exception $E) {
            $ajaxResponse->setSuccess(true);
            $ajaxResponse->setMessage($E->getMessage);
        }
        break;
    default:
        $ajaxResponse->setSuccess(false);
        $ajaxResponse->setMessage("method invalid");
}
$ajaxResponse->send();
/*
* @params parameters an assoc array containing parameters with wich to create a WPS request
* @return a WPS XML document
*/
function createWPSRequest($parameters, $templatefilePath)
{
    // check and give parameters default values
    // need this collection to be subscriptable
require_once dirname(__FILE__) . "/../classes/class_tou.php";
//ajax wrapper for class_tou.php
$ajaxResponse = new AjaxResponse($_POST);
$json = new Mapbender_JSON();
$touObject = new tou();
//$currentUser = new User();
//$wmc = new wmc();
$resultObj = array();
//obj structure in session for acceptedTou (see class_tou.php):
//acceptedTou {
//		wms [100,101,112],
//		wfs [12,34]
//		}
switch ($ajaxResponse->getMethod()) {
    case 'checkAcceptedTou':
        $result = $touObject->check($ajaxResponse->getParameter("serviceType"), $ajaxResponse->getParameter("serviceId"));
        $ajaxResponse->setResult($result['accepted']);
        //1 or 0
        $ajaxResponse->setMessage(_mb($result['message']));
        $ajaxResponse->setSuccess(true);
        break;
    case 'setAcceptedTou':
        $serviceType = $ajaxResponse->getParameter("serviceType");
        $serviceId = $ajaxResponse->getParameter("serviceId");
        $result = $touObject->set($ajaxResponse->getParameter("serviceType"), $ajaxResponse->getParameter("serviceId"));
        $ajaxResponse->setResult($result['setTou']);
        //1 or 0
        $ajaxResponse->setMessage(_mb($result['message']));
        $ajaxResponse->setSuccess(true);
        break;
        // Invalid command
        $resMinx = pg_query($con, $sqlMinx);
        $minx = floatval(pg_fetch_result($resMinx, 0, "minx"));
        $sqlMiny = "SELECT Y(transform(GeometryFromText('POINT(" . pg_escape_string($x) . " " . pg_escape_string($y) . ")'," . pg_escape_string($oldEPSG) . ")," . pg_escape_string($newEPSG) . ")) as miny";
        $resMiny = pg_query($con, $sqlMiny);
        $miny = floatval(pg_fetch_result($resMiny, 0, "miny"));
    }
    return array("x" => $minx, "y" => $miny);
}
switch ($ajaxResponse->getMethod()) {
    case "transform":
        if (!Mapbender::postgisAvailable()) {
            $ajaxResponse->setSuccess(false);
            $ajaxResponse->setMessage(_mb("PostGIS is not available. Please contact the administrator."));
            $ajaxResponse->send();
        }
        $fromSrs = $ajaxResponse->getParameter("fromSrs");
        $toSrs = $ajaxResponse->getParameter("toSrs");
        $x = $ajaxResponse->getParameter("x");
        $y = $ajaxResponse->getParameter("y");
        $bboxStr = $ajaxResponse->getParameter("bbox");
        $bbox = explode(",", $bboxStr);
        $response = null;
        $oldEPSG = preg_replace("/EPSG:/", "", $fromSrs);
        $newEPSG = preg_replace("/EPSG:/", "", $toSrs);
        if (!is_null($bbox) && is_array($bbox) && count($bbox) === 4) {
            $response = array("newSrs" => $toSrs, "points" => array());
            for ($i = 0; $i < count($bbox); $i += 2) {
                $pt = transform(floatval($bbox[$i]), floatval($bbox[$i + 1]), $oldEPSG, $newEPSG);
                if (!is_null($pt)) {
                    $response["points"][] = array("x" => $pt["x"], "y" => $pt["y"]);
                } else {
require_once dirname(__FILE__) . "/../../core/globalSettings.php";
require_once dirname(__FILE__) . "/../classes/class_user.php";
require_once dirname(__FILE__) . "/../classes/class_wmc.php";
require_once dirname(__FILE__) . "/../classes/class_wmcToXml.php";
require_once dirname(__FILE__) . "/../classes/class_json.php";
require_once dirname(__FILE__) . "/../classes/class_administration.php";
$ajaxResponse = new AjaxResponse($_POST);
$json = new Mapbender_JSON();
$userId = Mapbender::session()->get("mb_user_id");
$currentUser = new User($userId);
$wmc = new wmc();
$resultObj = array();
switch ($ajaxResponse->getMethod()) {
    // gets available WMCs
    case "getWmc":
        $showPublic = $ajaxResponse->getParameter("showPublic");
        //$e = new mb_notice("mod_loadwmc_server.php: showPublic: ".$showPublic);
        $resultObj["wmc"] = $wmc->selectByUser($currentUser, $showPublic);
        $ajaxResponse->setResult($resultObj);
        $ajaxResponse->setSuccess(true);
        break;
        // gets XML document of a WMC
    // gets XML document of a WMC
    case "getWmcDocument":
        $wmcId = $ajaxResponse->getParameter("id");
        $doc = $wmc->getDocument($wmcId);
        if (!$doc) {
            $ajaxResponse->setMessage(_mb("The WMC document could not be found."));
            $ajaxResponse->setSuccess(false);
        } else {
            $resultObj["wmc"] = array("document" => $doc);
        //"Service"-childnode KeywordList
        if (strtoupper($layerChild->nodeName) == "KEYWORDLIST") {
            $keywords_list = $layerChild->childNodes;
            $keywords = array();
            foreach ($keywords_list as $keywordlist_child_node) {
                $keyword = $keywordlist_child_node->nodeValue;
                array_push($keywords, $keyword);
            }
            $resultObj["original_featuretype_keyword"] = implode(", ", $keywords);
        }
    }
    return $resultObj;
}
switch ($ajaxResponse->getMethod()) {
    case "getOriginalMetadata":
        $wfsId = $ajaxResponse->getParameter("id");
        $featuretypeName = $ajaxResponse->getParameter("featuretypeName");
        $sql = <<<SQL
\t
SELECT wfs_getcapabilities_doc FROM wfs WHERE wfs_id = {$wfsId};

SQL;
        $res = db_query($sql);
        $row = db_fetch_array($res);
        $wfs_getcapabilities_doc = $row["wfs_getcapabilities_doc"];
        if ($featuretypeName != "") {
            $resultObj = getFeaturetypeMetadataFromXml($wfs_getcapabilities_doc, $featuretypeName);
        } else {
            $resultObj = getWfsMetadataFromXml($wfs_getcapabilities_doc);
        }
        $ajaxResponse->setResult($resultObj);
        //"Service"-childnode KeywordList
        if (strtoupper($layerChild->nodeName) == "KEYWORDLIST") {
            $keywords_list = $layerChild->childNodes;
            $keywords = array();
            foreach ($keywords_list as $keywordlist_child_node) {
                $keyword = $keywordlist_child_node->nodeValue;
                array_push($keywords, $keyword);
            }
            $resultObj["original_layer_keyword"] = implode(", ", $keywords);
        }
    }
    return $resultObj;
}
switch ($ajaxResponse->getMethod()) {
    case "getOriginalMetadata":
        $wmsId = $ajaxResponse->getParameter("id");
        $layerName = $ajaxResponse->getParameter("layerName");
        $sql = <<<SQL
\t
SELECT wms_getcapabilities_doc FROM wms WHERE wms_id = {$wmsId};

SQL;
        $res = db_query($sql);
        $row = db_fetch_array($res);
        $wms_getcapabilities_doc = $row["wms_getcapabilities_doc"];
        if ($layerName != "") {
            $resultObj = getLayerMetadataFromXml($wms_getcapabilities_doc, $layerName);
        } else {
            $resultObj = getWmsMetadataFromXml($wms_getcapabilities_doc);
        }
        $ajaxResponse->setResult($resultObj);
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
require_once dirname(__FILE__) . "/../../core/globalSettings.php";
require_once dirname(__FILE__) . "/../php/mb_validateSession.php";
require_once dirname(__FILE__) . "/../classes/class_json.php";
require_once dirname(__FILE__) . "/../classes/class_wfs_configuration.php";
require_once dirname(__FILE__) . "/../classes/class_wfs_conf.php";
$ajaxResponse = new AjaxResponse($_REQUEST);
$command = $ajaxResponse->getMethod();
switch ($command) {
    case "getWfsConfsFromId":
        $wfsConfIdString = $ajaxResponse->getParameter("wfsConfIdString");
        if (!$wfsConfIdString) {
            $ajaxResponse->setSuccess($false);
            $ajaxResponse->setMessage("missing wfsConfIdString");
            $ajaxResponse->send();
            break;
        }
        $wfsConfIdString = trim($wfsConfIdString, ',');
        $wfsConfIds = explode(',', $wfsConfIdString);
        $result = array();
        foreach ($wfsConfIds as $wfsId) {
            $currentWfsConf = WfsConfiguration::createFromDb($wfsId);
            if ($currentWfsConf !== null) {
                $result[] = $currentWfsConf;
            }
        }
<?php

require dirname(__FILE__) . "/../../core/globalSettings.php";
$request = new AjaxResponse($_REQUEST);
$method = $request->getMethod();
try {
    switch ($method) {
        case "intersect":
            $geometries = $request->getParameter("geometries");
            $clickPoint = $request->getparameter("clickPoint");
            $resultGeometries = array();
            $i = 0;
            foreach ($geometries as $geometry) {
                $sql = "SELECT ST_Intersects ('{$clickPoint}'::geometry, '{$geometry}'::geometry);";
                $dbresult = db_query($sql);
                $row = db_fetch_array($dbresult);
                $result = $row["st_intersects"] == "f" ? false : true;
                if ($result) {
                    $resultGeometries[$i] = $geometry;
                }
                $i++;
            }
            $request->setSuccess(true);
            $request->setResult(array("geometries" => $resultGeometries));
            break;
        default:
            $e = new mb_exception(__FILE__ . ": RPC called with invalid Method '{$method}'");
            $request->setSuccess(false);
            $request->setMessage(__FILE__ . ": RPC called with invalid Method '{$method}'");
    }
} catch (Exception $E) {
    if (is_object($tree)) {
        foreach ($tree as $key => $value) {
            $tree->{$key} = translateTree($value);
        }
    } else {
        if (is_array($tree)) {
            foreach ($tree as $key => $value) {
                $tree[$key] = translateTree($value);
            }
        } else {
            if (is_string($tree)) {
                $tree = _mb($tree);
            }
        }
    }
    return $tree;
}
$ajaxResponse = new AjaxResponse($_POST);
switch ($ajaxResponse->getMethod()) {
    case "translateServiceData":
        $msg_obj = $ajaxResponse->getParameter("data");
        $translated_obj = translateTree($msg_obj);
        $ajaxResponse->setSuccess(true);
        $ajaxResponse->setResult($translated_obj);
        break;
    default:
        $ajaxResponse->setSuccess(false);
        $ajaxResponse->setMessage(_mb("An unknown error occured."));
        break;
}
$ajaxResponse->send();
        if (Mapbender::session()->exists("mb_wmc")) {
            Mapbender::session()->delete("mb_wmc");
            $ajaxResponse->setMessage(_mb("WMC in session reset."));
            $ajaxResponse->setSuccess(true);
        } else {
            $ajaxResponse->setMessage(_mb("No WMC in session found."));
            $ajaxResponse->setResult($resultObj);
            $ajaxResponse->setSuccess(false);
        }
        break;
    case 'updateWmc':
        if (!Mapbender::session()->exists("wmcGetApi") || !is_a(Mapbender::session()->get("wmcGetApi"), "wmc")) {
            $ajaxResponse->setMessage(_mb("No WMC in session."));
            $ajaxResponse->setSuccess(true);
            break;
        }
        $wmc = Mapbender::session()->get("wmcGetApi");
        $skipWms = $ajaxResponse->getParameter("wmsIndices");
        $skipWms = is_array($skipWms) ? $skipWms : array();
        $js = $wmc->toJavaScript($skipWms);
        $resultObj = array("js" => $js);
        $ajaxResponse->setResult($resultObj);
        $ajaxResponse->setSuccess(true);
        break;
        // Invalid command
    // Invalid command
    default:
        $ajaxResponse->setMessage(_mb("No method specified."));
        $ajaxResponse->setSuccess(false);
}
$ajaxResponse->send();
require_once dirname(__FILE__) . "/../php/mb_validateSession.php";
require_once dirname(__FILE__) . "/../classes/class_administration.php";
require_once dirname(__FILE__) . "/../classes/class_wmc.php";
require_once dirname(__FILE__) . "/../classes/class_json.php";
require_once dirname(__FILE__) . "/../classes/class_lzw_decompress.php";
$ajaxResponse = new AjaxResponse($_POST);
if ($ajaxResponse->getMethod() != "saveWMC") {
    $ajaxResponse->setSuccess(false);
    $ajaxResponse->setMessage("method invalid");
    $ajaxResponse->send();
    exit;
}
$json = new Mapbender_JSON();
// get data from POST and SESSION
$userId = Mapbender::session()->get("mb_user_id");
$mapObject = $ajaxResponse->getParameter('mapObject');
$lzwCompressed = $ajaxResponse->getParameter('lzwCompressed');
$saveInSession = $ajaxResponse->getParameter('saveInSession');
$extensionData = $json->decode($ajaxResponse->getParameter('extensionData'));
$attributes = $ajaxResponse->getParameter('attributes');
$overwrite = $ajaxResponse->getParameter('overwrite');
$overwrite = $overwrite == "1" ? true : false;
//for debugging, write mapObject to file
if ($lzwCompressed == 'true') {
    //$e = new mb_exception('mod_savewmc_server.php: mapObject: '.implode(',',$mapObject));
    $mapObject = lzw_decompress($mapObject);
    //$e = new mb_exception('mod_savewmc_server.php: mapObject uncompressed: '.$mapObject);
    //$filename = TMPDIR."/formerly_compressed_json.txt";//will be set to new one cause ?
} else {
    //$filename = TMPDIR."/formerly_uncompressed_json.txt";//will be set to new one cause ?
}
<?php

require_once dirname(__FILE__) . "/../../core/globalSettings.php";
require_once dirname(__FILE__) . "/../classes/class_connector.php";
require_once dirname(__FILE__) . "/../classes/class_administration.php";
require_once dirname(__FILE__) . "/../classes/class_stripRequest.php";
require_once dirname(__FILE__) . "/../classes/class_weldMaps2JPEG.php";
$ajaxResponse = new AjaxResponse($_REQUEST);
$wmcId = $ajaxResponse->getParameter("wmcId");
$mapUrls = $ajaxResponse->getParameter("mapUrls");
if (!$wmcId) {
    $ajaxResponse->setSuccess(false);
    $ajaxResponse->setMessage('wmcId not set');
    $ajaxResponse->send();
}
if (!$mapUrls) {
    $ajaxResponse->setSuccess(false);
    $ajaxResponse->setMessage('mapURLs not set');
    $ajaxResponse->send();
}
switch ($ajaxResponse->getMethod()) {
    case "saveWmcPreview":
        //check if all urls have been send - sometimes only false is send - then delete this entry!
        //loop
        $mapUrlsNew = array();
        $problemUrls = array();
        for ($i = 0; $i < count($mapUrls); $i++) {
            if ($mapUrls[$i] != 'false') {
                $mapUrlsNew[] = $mapUrls[$i];
            } else {
                $problemUrls[] = $i;
<?php

require_once dirname(__FILE__) . "/../../core/globalSettings.php";
require_once dirname(__FILE__) . "/../../http/classes/class_connector.php";
require_once dirname(__FILE__) . "/../../http/classes/class_administration.php";
require_once dirname(__FILE__) . "/../classes/class_weldMaps2JPEG.php";
//define("LAYER_PREVIEW_BASE","../tmp/layerpreviews/");
//define("LAYER_PREVIEW_BASE","../tmp/");
$ajaxResponse = new AjaxResponse($_REQUEST);
$mapurl = $ajaxResponse->getParameter("mapurl");
$layerName = $ajaxResponse->getParameter("layerName");
$legendUrl = $ajaxResponse->getParameter("legendUrl");
$wmsId = $ajaxResponse->getParameter("wmsId");
$layerId = $ajaxResponse->getParameter("layerId");
$layerPreviewMapFileName = PREVIEW_DIR . "/" . $layerId . "_layer_map_preview.jpg";
$layerPreviewLegendFileName = PREVIEW_DIR . "/" . $layerId . "_layer_legend_preview.jpg";
if (!$mapurl) {
    $ajaxResponse->setSuccess(false);
    $ajaxResponse->setMessage('mapURL not set');
    $ajaxResponse->send();
}
/*
if(!$legendurl){
	$ajaxResponse->setSuccess(false);
	$ajaxResponse->setMessage('legendURL not set');
	$ajaxResponse->send();
}
*/
if (!$wmsId) {
    $ajaxResponse->setSuccess(false);
    $ajaxResponse->setMessage('wmsId not set');
SELECT wfs.wfs_id, wfs.wfs_title, wfs.wfs_timestamp, wfs_version
FROM wfs WHERE wfs_id IN ({$wfsList});

SQL;
        $res = db_query($sql);
        $resultObj = array("header" => array("WFS ID", "Titel", "Timestamp", "Version"), "data" => array());
        while ($row = db_fetch_row($res)) {
            // convert NULL to '', NULL values cause datatables to crash
            $walk = array_walk($row, create_function('&$s', '$s=strval($s);'));
            $resultObj["data"][] = $row;
        }
        $ajaxResponse->setResult($resultObj);
        $ajaxResponse->setSuccess(true);
        break;
    case "getWfsMetadata":
        $wfsId = $ajaxResponse->getParameter("id");
        getWfs($wfsId);
        $sql = <<<SQL
\t
SELECT wfs_id, wfs_abstract, wfs_title, fees, accessconstraints, 
individualname, positionname, providername, voice, 
facsimile, deliverypoint, city, 
administrativearea, postalcode, country, electronicmailaddress,
wfs_timestamp, wfs_timestamp_create, wfs_network_access, fkey_mb_group_id 
FROM wfs WHERE wfs_id = {$wfsId};

SQL;
        $res = db_query($sql);
        $resultObj = array();
        $row = db_fetch_assoc($res);
        $resultObj['wfs_id'] = $row['wfs_id'];
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
require dirname(__FILE__) . "/mb_validateSession.php";
$epsgObj = array();
$ajaxResponse = new AjaxResponse($_POST);
switch ($ajaxResponse->getMethod()) {
    case "changeEpsg":
        if (!Mapbender::postgisAvailable()) {
            $ajaxResponse->setSuccess(false);
            $ajaxResponse->setMessage(_mb("PostGIS is not available. Please contact the administrator."));
            $ajaxResponse->send();
        }
        $epsgArray = $ajaxResponse->getParameter("srs");
        $newSrs = $ajaxResponse->getParameter("newSrs");
        for ($i = 0; $i < count($epsgArray); $i++) {
            // check if parameters are valid geometries to
            // avoid SQL injections
            $currentEpsg = $epsgArray[$i];
            $oldEPSG = preg_replace("/EPSG:/", "", $currentEpsg->epsg);
            $newEPSG = preg_replace("/EPSG:/", "", $newSrs);
            $extArray = explode(",", $currentEpsg->extent);
            if (is_numeric($extArray[0]) && is_numeric($extArray[1]) && is_numeric($extArray[2]) && is_numeric($extArray[3]) && is_numeric($oldEPSG) && is_numeric($newEPSG)) {
                $con = db_connect($DBSERVER, $OWNER, $PW);
                $sqlMinx = "SELECT X(transform(GeometryFromText('POINT(" . $extArray[0] . " " . $extArray[1] . ")'," . $oldEPSG . ")," . $newEPSG . ")) as minx";
                $resMinx = db_query($sqlMinx);
                $minx = floatval(db_result($resMinx, 0, "minx"));
                $sqlMiny = "SELECT Y(transform(GeometryFromText('POINT(" . $extArray[0] . " " . $extArray[1] . ")'," . $oldEPSG . ")," . $newEPSG . ")) as miny";
                $resMiny = db_query($sqlMiny);
            if (strtoupper($child->nodeName) == "WMC:KEYWORDLIST") {
                $keywords_list = $child->childNodes;
                $keywords = array();
                foreach ($keywords_list as $keywordlist_child_node) {
                    $keyword = $keywordlist_child_node->nodeValue;
                    array_push($keywords, $keyword);
                }
                $resultObj["original_wmc_keyword"] = implode(", ", $keywords);
            }
        }
    }
    return $resultObj;
}
switch ($ajaxResponse->getMethod()) {
    case "getOriginalMetadata":
        $wmcId = $ajaxResponse->getParameter("id");
        $sql = <<<SQL
\t
SELECT wmc FROM mb_user_wmc WHERE wmc_serial_id = {$wmcId};

SQL;
        $res = db_query($sql);
        $row = db_fetch_array($res);
        $wmc_doc = $row["wmc"];
        $resultObj = getWmcMetadataFromXml($wmc_doc);
        $ajaxResponse->setResult($resultObj);
        $ajaxResponse->setSuccess(true);
        break;
    default:
        $ajaxResponse->setSuccess(false);
        $ajaxResponse->setMessage(_mb("An unknown error occured."));
<?php

# License:
# Copyright (c) 2009, Open Source Geospatial Foundation
# This program is dual licensed under the GNU General Public License
# and Simplified BSD license.
# http://svn.osgeo.org/mapbender/trunk/mapbender/license/license.txt
require_once dirname(__FILE__) . "/../../core/globalSettings.php";
require_once dirname(__FILE__) . "/../classes/class_administration.php";
require_once dirname(__FILE__) . "/../classes/class_wfs_conf.php";
$ajaxResponse = new AjaxResponse($_POST);
$myGui = $ajaxResponse->getParameter('gui');
$myWms = $ajaxResponse->getParameter('wms');
$myLayer = $ajaxResponse->getParameter('layer');
$myWfsConf = $ajaxResponse->getParameter('wfsConf');
try {
    switch ($ajaxResponse->getMethod()) {
        case "getWfsConfs":
            $result = getWfsConfs($myGui);
            $ajaxResponse->setSuccess(true);
            $ajaxResponse->setResult($result);
            break;
        case "saveLayerWfsConnection":
            $result = saveLayerWfsConnection($myWfsConf, $myGui, $myLayer);
            if ($result === true) {
                $ajaxResponse->setSuccess(true);
            } else {
                $ajaxResponse->setSuccess(false);
                $ajaxResponse->setMessage("An error occured performing UPDATE");
            }
            break;
<?php

# License:
# Copyright (c) 2009, Open Source Geospatial Foundation
# This program is dual licensed under the GNU General Public License
# and Simplified BSD license.
# http://svn.osgeo.org/mapbender/trunk/mapbender/license/license.txt
require_once dirname(__FILE__) . "/../php/mb_validateSession.php";
require_once dirname(__FILE__) . "/../classes/class_gui.php";
require_once dirname(__FILE__) . "/../classes/class_user.php";
$ajaxResponse = new AjaxResponse($_POST);
switch ($ajaxResponse->getMethod()) {
    case "sql":
        $application = new gui($ajaxResponse->getParameter("applicationId"));
        $user = new User();
        $apps = $user->getApplicationsByPermission();
        if (in_array($application->id, $apps)) {
            $sql = $application->toSql();
            $resultObj = array("sql" => $sql);
            $ajaxResponse->setResult($resultObj);
            $ajaxResponse->setSuccess(true);
            break;
        }
        $ajaxResponse->setSuccess(false);
        $ajaxResponse->setMessage(_mb("You are not allowed to access this application."));
        break;
    default:
        $ajaxResponse->setSuccess(false);
        $ajaxResponse->setMessage(_mb("An unknown error occured."));
        break;
}
    if (is_object($tree)) {
        foreach ($tree as $key => $value) {
            $tree->{$key} = translateTree($value);
        }
    } else {
        if (is_array($tree)) {
            // strings with arguments, like 'Found %d results'
            $tree = call_user_func_array("_mb", $tree);
        } else {
            if (is_string($tree)) {
                $tree = _mb($tree);
            }
        }
    }
    return $tree;
}
$ajaxResponse = new AjaxResponse($_POST);
switch ($ajaxResponse->getMethod()) {
    case "translate":
        $localeObj = new Mb_locale($ajaxResponse->getParameter("locale"));
        $msg_obj = $ajaxResponse->getParameter("data");
        $translated_obj = translateTree($msg_obj);
        $ajaxResponse->setSuccess(true);
        $ajaxResponse->setResult(array("data" => $translated_obj, "locale" => $localeObj->name));
        break;
    default:
        $ajaxResponse->setSuccess(false);
        $ajaxResponse->setMessage(_mb("An unknown error occured."));
        break;
}
$ajaxResponse->send();
ON wms.wms_id = m.fkey_wms_id 
WHERE wms_id IN ({$wmsList});

SQL;
        $res = db_query($sql);
        $resultObj = array("header" => array(_mb("WMS ID"), _mb("title"), _mb("last change"), _mb("creation"), _mb("version"), _mb("status"), _mb("wms id")), "data" => array());
        while ($row = db_fetch_row($res)) {
            // convert NULL to '', NULL values cause datatables to crash
            $walk = array_walk($row, create_function('&$s', '$s=strval($s);'));
            $resultObj["data"][] = $row;
        }
        $ajaxResponse->setResult($resultObj);
        $ajaxResponse->setSuccess(true);
        break;
    case "getWmsMetadata":
        $wmsId = $ajaxResponse->getParameter("id");
        getWms($wmsId);
        $wms = new wms();
        $wms->createObjFromDBNoGui($wmsId);
        //here the owsproxyurls will be read out - to make previews with proxy urls
        $fields = array("wms_id", "wms_abstract", "wms_title", "fees", "accessconstraints", "contactperson", "contactposition", "contactvoicetelephone", "contactfacsimiletelephone", "contactorganization", "address", "city", "stateorprovince", "postcode", "country", "contactelectronicmailaddress", "wms_timestamp", "wms_timestamp_create", "wms_network_access", "fkey_mb_group_id");
        $resultObj = array();
        foreach ($fields as $field) {
            if ($field == "wms_timestamp" || $field == "wms_timestamp_create") {
                if ($wms->{$field} != "") {
                    $resultObj[$field] = date('d.m.Y', $wms->{$field});
                }
            } else {
                $resultObj[$field] = $wms->{$field};
                //$e = new mb_exception("mb_metadata_server: resultObject[".$field."]=".$wms->$field);
            }
SQL;
        $res = db_query($sql);
        $resultObj = array("header" => array("WMC ID", "Titel", "Timestamp", "Load Count", ""), "data" => array());
        while ($row = db_fetch_row($res)) {
            // convert NULL to '', NULL values cause datatables to crash
            $walk = array_walk($row, create_function('&$s', '$s=strval($s);'));
            $link = "<a class='cancelClickEvent' target='_blank' href='../php/mod_showMetadata.php?" . "languageCode=" . Mapbender::session()->get("mb_lang") . "&resource=wmc&id=" . $row[0] . "'>" . _mb("Metadata") . "</a>";
            array_push($row, $link);
            $resultObj["data"][] = $row;
        }
        $ajaxResponse->setResult($resultObj);
        $ajaxResponse->setSuccess(true);
        break;
    case "getWmcMetadata":
        $wmcId = $ajaxResponse->getParameter("id");
        $sql = <<<SQL
\t
SELECT wmc_serial_id as wmc_id, abstract, wmc_title, 
wmc_timestamp, wmc_timestamp_create, wmc_public 
FROM mb_user_wmc WHERE wmc_serial_id = {$wmcId};

SQL;
        $res = db_query($sql);
        $row = db_fetch_assoc($res);
        $resultObj = array();
        $resultObj['wmc_id'] = $row['wmc_id'];
        $resultObj['wmc_abstract'] = $row['abstract'];
        $resultObj['wmc_title'] = $row['wmc_title'];
        $resultObj['wmc_timestamp'] = $row['wmc_timestamp'] != "" ? date('d.m.Y', $row['wmc_timestamp']) : "";
        $resultObj['wmc_timestamp_create'] = $row['wmc_timestamp_create'] != "" ? date('d.m.Y', $row['wmc_timestamp_create']) : "";
<?php

require_once dirname(__FILE__) . "/../php/mb_validateSession.php";
require_once dirname(__FILE__) . "/../classes/class_json.php";
if ($_SERVER['REQUEST_METHOD'] == "POST") {
    $ajaxResponse = new AjaxResponse($_POST);
    try {
        switch ($ajaxResponse->getMethod()) {
            case "createFile":
                $data = $ajaxResponse->getParameter('data');
                $fileId = createFile($data);
                $e = new mb_exception("fileid " . $fileId);
                if ($fileId == false) {
                    throw new Exception("Could not create file");
                }
                $url = "../tmp/{$fileId}";
                $result = array('url' => $url);
                break;
            default:
                throw new Exception("method invalid");
        }
        $ajaxResponse->setSuccess(true);
        $ajaxResponse->setResult($result);
    } catch (Exception $E) {
        $ajaxResponse->setSuccess(false);
        $ajaxResponse->setMessage($E->getMessage() . " [" . $E->getLine() . "]");
    }
    $ajaxResponse->send();
} else {
    if ($_SERVER['REQUEST_METHOD'] == "GET") {
        ob_start();