[:space:]]+[[:alnum:]/]", "\\0", $string);
$string = eregi_replace("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@([0-9a-z](-?[0-9a-z])*\.)+[a-z]{2}([zmuvtg]|fo|me)?$", "\\0", $string);
$string = eregi_replace("\n", "
", $string);
return $string;
}
//initialize request parameters:
$type = "wms";
$id = 1;
$languageCode = "de";
$withHeader = false;
$asTable = false;
//parse request parameters
//
if (isset($_REQUEST["id"]) & $_REQUEST["id"] != "") {
//validate to integer
$testMatch = $_REQUEST["id"];
$pattern = '/^[\d]*$/';
if (!preg_match($pattern,$testMatch)){
echo 'id: '.$testMatch.' is not valid.
';
die();
}
$id = (integer)$testMatch;
$testMatch = NULL;
}
//
if (isset($_REQUEST["type"]) & $_REQUEST["type"] != "") {
//validate to wms, wfs
$testMatch = $_REQUEST["type"];
if (!($testMatch == 'wms' or $testMatch == 'wfs')){
echo 'type: '.$testMatch.' is not valid.
';
die();
}
$type = $testMatch;
$testMatch = NULL;
}
//
if (isset($_REQUEST["languageCode"]) & $_REQUEST["languageCode"] != "") {
//validate to wms, wfs
$testMatch = $_REQUEST["languageCode"];
if (!($testMatch == 'de' or $testMatch == 'en' or $testMatch == 'fr')){
echo 'type: '.$testMatch.' is not valid.
';
die();
}
$languageCode = $testMatch;
$testMatch = NULL;
}
//
if (isset($_REQUEST["withHeader"]) & $_REQUEST["withHeader"] != "") {
//validate to wms, wfs
$testMatch = $_REQUEST["withHeader"];
if (!($testMatch == 'true' or $testMatch == 'false')){
echo 'type: '.$testMatch.' is not valid.
';
die();
}
if ($testMatch == 'true'){
$withHeader = true;
} else {
$withHeader = false;
}
$testMatch = NULL;
}
//
if (isset($_REQUEST["asTable"]) & $_REQUEST["asTable"] != "") {
//validate to wms, wfs
$testMatch = $_REQUEST["asTable"];
if (!($testMatch == 'true' or $testMatch == 'false')){
echo 'type: '.$testMatch.' is not valid.
';
die();
}
if ($testMatch == 'true'){
$asTable = true;
} else {
$asTable = false;
}
$testMatch = NULL;
}
$htmlHeader = array();
switch($languageCode){
case 'de':
$htmlHeader['discHeader'] = 'Nutzungsbedingungen';
$htmlHeader['discPrivacyHeader'] = 'Datenschutzhinweis';
$htmlHeader['accessConstraintsHeader'] = 'Beschränkungen des öffentlichen Zugangs';
$htmlHeader['feesHeader'] = 'Angaben zu Kosten/Gebühren/Lizenzen';
$htmlHeader['licences'] = 'Lizenz:
';
$htmlHeader['networkAccess'] = 'Der Dienst ist nicht im Internet sondern nur in ausgewählten Netzwerken (z.B. Intranets) verfügbar. Genauere Angaben erhalten Sie ggf. im folgenden Abschnitt.
';
$htmlHeader['logInformation'] = 'Die Zugriffe auf den Dienst werden vom Anbieter nutzerbezogen aufgezeichnet. Dies erfolgt entweder zur Abrechnung vertraglicher Vereinbarungen ';
$htmlHeader['logInformation'] .= 'oder aufgrund gesetzlicher Vorgaben.
Wenn Sie hiermit nicht einverstanden sein sollten, nutzen Sie diesen Dienst nicht!
';
$htmlHeader['logInformation'] .= 'Falls Sie weitere Fragen haben, kontaktieren Sie bitte den Anbieter unter ';
$htmlHeader['priceInformation'][0] = 'Der Anbieter dieses Dienstes hat ein allgemeines Nutzungsentgelt von ';
$htmlHeader['priceInformation'][1] = ' Cent pro Megapixel ';
$htmlHeader['priceInformation'][2] = ' für abgerufene Bildinformationen angegeben. Das Abrufen eines Kartenbildes in einer Standardauflösung von 600x400 Pixeln kostet dementsprechend ';
$htmlHeader['priceInformation'][3] = ' Euro. Angaben zu eventuell möglichen Rabatten erhalten Sie über ';
$htmlHeader['noInformation'] = 'Es sind keine Informationen über Nutzungsbedingungen verfügbar!';
break;
case 'en':
$htmlHeader['discHeader'] = 'Terms of use';
$htmlHeader['discPrivacyHeader'] = 'Note on protection of privacy';
$htmlHeader['accessConstraintsHeader'] = 'Constraints on public access';
$htmlHeader['feesHeader'] = 'Information about costs/fees/licences';
$htmlHeader['licences'] = 'Licence:
';
$htmlHeader['networkAccess'] = 'This Service is not available via www but only in special networks. Possibly you get further information about the network availability in the following paragraph.
';
$htmlHeader['logInformation'] = 'The access on this service is logged user-related by the provider. The logging is done to support automated settlement based on a contract ';
$htmlHeader['logInformation'] .= 'or to fulfill legal standards.
If you do not agree on this - please don\'t use this service!
';
$htmlHeader['logInformation'] .= 'If you have further questions, please contact the provider under ';
$htmlHeader['priceInformation'][0] = 'The provider have defined a charge of ';
$htmlHeader['priceInformation'][1] = ' (euro)cent per megapixel ';
$htmlHeader['priceInformation'][2] = ' for retrieved picture data. The retrieving of a typical map with a standardized resolution of 600x400 px will cost ';
$htmlHeader['priceInformation'][3] = ' euro. For information about possible discounts please contact ';
$htmlHeader['noInformation'] = 'No informations about terms of use are available!';
break;
case 'fr':
$htmlHeader['discHeader'] = 'Nutzungsbedingungen';
$htmlHeader['discPrivacyHeader'] = 'Datenschutzhinweis';
$htmlHeader['accessConstraintsHeader'] = 'Beschränkungen des öffentlichen Zugangs';
$htmlHeader['feesHeader'] = 'Angaben zu Kosten/Gebühren/Lizenzen';
$htmlHeader['licences'] = 'Lizenz:
';
$htmlHeader['networkAccess'] = 'Der Dienst ist nicht im Internet sondern nur in ausgewählten Netzwerken (z.B. Intranets) verfügbar. Genauere Angaben erhalten Sie ggf. im folgenden Abschnitt.
';
$htmlHeader['logInformation'] = 'Die Zugriffe auf den Dienst werden vom Anbieter nutzerbezogen aufgezeichnet. Dies erfolgt entweder zur Abrechnung vertraglicher Vereinbarungen ';
$htmlHeader['logInformation'] .= 'oder aufgrund gesetzlicher Vorgaben.
Wenn Sie hiermit nicht einverstanden sein sollten, nutzen Sie diesen Dienst nicht!
';
$htmlHeader['logInformation'] .= 'Falls Sie weitere Fragen haben, kontaktieren Sie bitte den Anbieter unter ';
$htmlHeader['priceInformation'][0] = 'Der Anbieter dieses Dienstes hat ein allgemeines Nutzungsentgelt von ';
$htmlHeader['priceInformation'][1] = ' Cent pro Megapixel ';
$htmlHeader['priceInformation'][2] = ' für abgerufene Bildinformationen angegeben. Das Abrufen eines Kartenbildes in einer Standardauflösung von 600x400 Pixeln kostet dementsprechend ';
$htmlHeader['priceInformation'][3] = ' Euro. Angaben zu eventuell möglichen Rabatten erhalten Sie über ';
$htmlHeader['noInformation'] = 'No informations about terms of use are available!';
break;
default:
$htmlHeader['discHeader'] = 'Nutzungsbedingungen';
$htmlHeader['discPrivacyHeader'] = 'Datenschutzhinweis';
$htmlHeader['accessConstraintsHeader'] = 'Beschränkungen des öffentlichen Zugangs';
$htmlHeader['feesHeader'] = 'Angaben zu Kosten/Gebühren/Lizenzen';
$htmlHeader['licences'] = 'Lizenz:
';
$htmlHeader['networkAccess'] = 'Der Dienst ist nicht im Internet sondern nur in ausgewählten Netzwerken (z.B. Intranets) verfügbar. Genauere Angaben erhalten Sie ggf. im folgenden Abschnitt.
';
$htmlHeader['logInformation'] = 'Die Zugriffe auf den Dienst werden vom Anbieter nutzerbezogen aufgezeichnet. Dies erfolgt entweder zur Abrechnung vertraglicher Vereinbarungen ';
$htmlHeader['logInformation'] .= 'oder aufgrund gesetzlicher Vorgaben.
Wenn Sie hiermit nicht einverstanden sein sollten, nutzen Sie diesen Dienst nicht!
';
$htmlHeader['logInformation'] .= 'Falls Sie weitere Fragen haben, kontaktieren Sie bitte den Anbieter unter ';
$htmlHeader['priceInformation'][0] = 'Der Anbieter dieses Dienstes hat ein allgemeines Nutzungsentgelt von ';
$htmlHeader['priceInformation'][1] = ' Cent pro Megapixel ';
$htmlHeader['priceInformation'][2] = ' für abgerufene Bildinformationen angegeben. Das Abrufen eines Kartenbildes in einer Standardauflösung von 600x400 Pixeln kostet dementsprechend ';
$htmlHeader['priceInformation'][3] = ' Euro. Angaben zu eventuell möglichen Rabatten erhalten Sie über ';
$htmlHeader['noInformation'] = 'No informations about terms of use are available!';
}
//parameters: type :wms, wfs, ... string
// id :1234, 234, ... integer
//
//
//read information from database
//
//
if ($type == "wms") {
$sql = "SELECT wms_id, wms.accessconstraints, wms.fees, wms.wms_network_access , wms.wms_pricevolume, wms.wms_proxylog, termsofuse.name,";
$sql .= " termsofuse.termsofuse_id, termsofuse.symbollink, termsofuse.description,termsofuse.descriptionlink from wms LEFT OUTER JOIN";
$sql .= " wms_termsofuse ON (wms.wms_id = wms_termsofuse.fkey_wms_id) LEFT OUTER JOIN termsofuse ON";
$sql .= " (wms_termsofuse.fkey_termsofuse_id=termsofuse.termsofuse_id) where wms.wms_id = $1";
}
if ($type == "wfs") {
$sql = "SELECT wfs_id, accessconstraints, fees, wfs_network_access , termsofuse.name,";
$sql .= " termsofuse.termsofuse_id ,termsofuse.symbollink, termsofuse.description,termsofuse.descriptionlink from wfs LEFT OUTER JOIN";
$sql .= " wfs_termsofuse ON (wfs.wfs_id = wfs_termsofuse.fkey_wfs_id) LEFT OUTER JOIN termsofuse ON";
$sql .= " (wfs_termsofuse.fkey_termsofuse_id=termsofuse.termsofuse_id) where wfs.wfs_id = $1";
}
$v = array();
$t = array();
array_push($t, "i");
array_push($v, $id);
$res = db_prep_query($sql,$v,$t);
$row = db_fetch_array($res);
if (!isset($row['wms_id'])) {
echo $type."-service with this id is not known!";
die();
}
//get email adress of responsible person for service:
if ($type == "wms") {
$sql = "SELECT mb_user_email FROM wms LEFT OUTER JOIN mb_user ON (wms_owner = mb_user.mb_user_id) WHERE wms_id=$1";
}
if ($type == "wfs") {
$sql = "SELECT mb_user_email FROM wfs LEFT OUTER JOIN mb_user ON (wfs_owner = mb_user.mb_user_id) WHERE wfs_id=$1";
}
$v = array();
$t = array();
array_push($t, "i");
array_push($v, $id);
$res = db_prep_query($sql,$v,$t);
$rowOwner = db_fetch_array($res);
if ((isset($row[$type.'_proxylog']) & $row[$type.'_proxylog'] != 0) or strtoupper($row['accessconstraints']) != "NONE" or strtoupper($row['fees']) != "NONE" or isset($row['termsofuse_id']) or (isset($row[$type.'_network_access']) & $row[$type.'_network_access'] != 0)) {
//generate text for json object if restrictions exists
if ($withHeader) {
echo "
\n\t\t\t"; $t_b = "\n\t\t | \n\t\t\n\t\t\t"; $t_c = "\n\t\t | \n\t
---|