$val) {
$_REQUEST[strtoupper($key)] = $val;
}
//validate request params
if (!isset($_REQUEST['TYPE'])) {
echo 'GET Parameter Type lacks';
die();
}
if (isset($_REQUEST['TYPE']) and $_REQUEST['TYPE'] != "ALL") {
echo 'validate: '.$_REQUEST['TYPE'].' is not valid.
';
die();
}
$sql = "SELECT layer_id ";
$sql .= "FROM ".$wmsView;
//$sql .= "FROM layer WHERE layer_id IN (20203,20202)";
$v = array();
$t = array();
$res = db_prep_query($sql,$v,$t);
$generatorScript = '/mapbender/php/mod_layerISOMetadata.php?';
$generatorScriptMetadata = '/mapbender/php/mod_dataISOMetadata.php?';
$generatorBaseUrl = 'http://'.$_SERVER['HTTP_HOST'].$generatorScript;
$generatorBaseUrlMetadata = 'http://'.$_SERVER['HTTP_HOST'].$generatorScriptMetadata;
$countLayer = 0;
$countMetadataURL = 0;
echo date('Y-m-d - H:i:s', time())."
";
//remove files from METADATA_DIR!
if ($handle = opendir(METADATA_DIR)) {
echo "Delete files from temporary metadata folder:
";
/* This is the correct way to loop over the directory. */
while (false !== ($file = readdir($handle))) {
//check if file name begin with "mapbender";
$pos = strpos($file, "mapbender");
if ($pos !== false) {
//delete file with unlink
unlink(METADATA_DIR."/".$file);
echo METADATA_DIR."/".$file." has been deleted!
";
} else {
echo "$file will not be deleted!
";
}
}
closedir($handle);
}
echo "Begin to create new metadata: ".date('Y-m-d - H:i:s', time())."
";
while($row = db_fetch_array($res)){
$generatorUrl = $generatorBaseUrl."SERVICE=WMS&outputFormat=iso19139&id=".$row['layer_id'];
echo "URL requested : ".$generatorUrl."
";
$generatorInterfaceObject = new connector($generatorUrl);
$ISOFile = $generatorInterfaceObject->file;
$layerId = $row['layer_id'];
echo "File for layer ".$layerId." will be generated
";
//generate temporary files under tmp
if($h = fopen(METADATA_DIR."/mapbenderServiceMetadata_".$layerId."_iso19139.xml","w")){
if(!fwrite($h,$ISOFile)){
$e = new mb_exception("mod_exportISOMetadata.php: cannot write to file: ".METADATA_DIR."/mapbenderLayerMetadata_".$row['layer_id']."_iso19139.xml");
}
echo "Service metadata file for layer ".$layerId." written to ".METADATA_DIR."
";
fclose($h);
}
//get all connected metadata for this layer and save it too
$sql = <<URL requested : ".$generatorUrlMetadata."
";
$generatorInterfaceObject = new connector($generatorUrlMetadata);
$ISOFile = $generatorInterfaceObject->file;
echo "Metadata uuid: ".$row_metadata['uuid']."
";
//generate temporary files under tmp
if($h = fopen(METADATA_DIR."/mapbenderDataMetadata_".$layerId."_".$row_metadata['uuid']."_iso19139.xml","w")){
if(!fwrite($h,$ISOFile)){
$e = new mb_exception("mod_exportISOMetadata.php: cannot write to file: ".METADATA_DIR."/metadata/mapbenderMetadata_".$layerId."_".$row_metadata['uuid']."_iso19139.xml");
}
echo "Data metadate file for layer ".$row['layer_id']." and metadata ".$row_metadata['uuid']." written to ".METADATA_DIR."
";
fclose($h);
$countMetadataURL++;
}
}
$countLayer++;
}
echo "Number of generated Service Metadata Records (one for each layer): ".$countLayer."
";
echo "Number of generated Data Metadata Records (multiple for each layer): ".$countMetadataURL."
";
echo date('Y-m-d - H:i:s', time())."
";