cswId = SYNC_CATALOGUE_ID; $this->active = true; $this->cswClient = new cswClient(); $this->cswClient->cswId = $this->cswId; } else { $this->cswId = null; $this->active = false; } if (defined("MAPBENDER_PATH") && MAPBENDER_PATH !== "") { $this->absolutePath = MAPBENDER_PATH; } else { $this->absolutePath = "http://".$_SERVER['HTTP_HOST']."/mapbender"; } } public function doPropagation($resourceType, $resourceIds, $operation, $resourceUuids=false) { if ($this->active == true) { //$e = new mb_exception("classes/class_propagateMetadata.php: try to propagate metadata!"); switch ($resourceType) { case "layer": $mapbenderMetadataUrl = $this->absolutePath."/php/mod_layerISOMetadata.php?SERVICE=WMS&outputFormat=iso19139&Id="; $metadataIds = $resourceIds; break; case "metadata": $mapbenderMetadataUrl = $this->absolutePath."/php/mod_dataISOMetadata.php?outputformat=iso19139&id="; $metadataIds = $resourceUuids; break; } $isoMetadata = new Iso19139(); switch ($operation) { case "push": foreach ($metadataIds as $id) { $metadata = $isoMetadata->createFromUrl($mapbenderMetadataUrl.$id); $e = new mb_exception("classes/class_propagateMetadata.php: try to push metadata for ".$resourceType." - ".$id); $result = $this->cswClient->pushRecord($metadata); $e = new mb_exception("classes/class_propagateMetadata.php: ".$result); } break; case "delete": $metadataIds = $resourceUuids; $e = new mb_exception("classes/class_propagateMetadata.php: count of array to delete: ".count($metadataIds)); foreach ($metadataIds as $id) { $e = new mb_exception("classes/class_propagateMetadata.php: try to delete metadata for ".$resourceType." - ".$id); $result = $this->cswClient->deleteRecord($id); $e = new mb_exception("classes/class_propagateMetadata.php: ".$result); } break; } } else { $e = new mb_exception("classes/class_propagateMetadata.php: Metadata propagation not yet configured!"); } return true; } }