Example #1
0
$namespace = $gBitSystem->getConfig('geoserver_namespace', 'map4change');
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    $args = $_POST;
} else {
    $args = $_GET;
}
// Remove the query from the arguments
unset($args['request']);
if (empty($args['typename'])) {
    $args['typename'] = 'liberty';
}
switch ($_REQUEST['request']) {
    case 'GetFeature':
        if (strstr($args['typename'], 'liberty')) {
            // Validate the namespace
            if ($args['typename'] != 'liberty' && substr($args['typename'], 0, strlen($namespace) + 1) != $namespace . ':') {
                geoserver_exception('Permision denied while trying to request type name: "' . $args['typename'] . '" namespace:' . $namespace);
            } else {
                geoserver_fetch($url, 'GetFeature', $args, 'wfs_liberty_filter.tpl');
            }
        } else {
            geoserver_fetch($url, 'GetFeature', $args);
        }
        break;
    case 'DescribeFeatureType':
    case 'GetCapabilities':
        geoserver_fetch($url, $_REQUEST['request']);
        break;
    default:
        geoserver_exception('Invalid request specified: ' . $_REQUEST['request']);
}
Example #2
0
    curl_setopt($ch, CURLOPT_HEADER, false);
    if ($_SERVER['REQUEST_METHOD'] == 'POST') {
        curl_setopt($ch, CURLOPT_POST, true);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
    }
    $result = curl_exec($ch);
    if (!$result) {
        geoserver_exception(curl_error($ch));
    }
    $header = curl_getinfo($ch, CURLINFO_CONTENT_TYPE);
    if (!empty($header)) {
        // Hack for geoserver stupidity.
        if (strstr($header, 'xml')) {
            header('Content-Type: application/xml');
        } else {
            header('Content-Type: ' . $header);
        }
    }
    curl_close($ch);
    // Trick out any URLs in the result
    $result = str_replace('http://localhost:8080/geoserver/', '/geoserver/', $result);
    echo $result;
}
$url = 'http://localhost:8080/geoserver/wms';
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    $args = $_POST;
} else {
    $args = $_GET;
}
geoserver_fetch($url, $args);