$imtFactory = new MetadataFactory($DB, 'imt');
$vs30Factory = new MetadataFactory($DB, 'vs30');
$datasetFactory = new DatasetFactory($DB);
$curveFactory = new CurveFactory($DB);
$request = ($_SERVER['HTTPS'] == 'On' ? 'https://' : 'http://') . $_SERVER['HTTP_HOST'];
try {
    $curves = array();
    if ($editionInput === 'any') {
        $editions = $editionFactory->getAvailable();
    } else {
        $editions = array($editionFactory->get($editionFactory->getId($editionInput)));
    }
    if ($regionInput === 'any') {
        $regions = $regionFactory->getAvailable();
    } else {
        $regions = array($regionFactory->get($regionFactory->getId($regionInput)));
    }
    if ($imtInput === 'any') {
        $imts = $imtFactory->getAvailable();
    } else {
        $imts = array($imtFactory->get($imtFactory->getId($imtInput)));
    }
    if ($vs30Input === 'any') {
        $vs30s = $vs30Factory->getAvailable();
    } else {
        $vs30s = array($vs30Factory->get($vs30Factory->getId($vs30Input)));
    }
    foreach ($imts as $imt) {
        foreach ($vs30s as $vs30) {
            foreach ($editions as $edition) {
                foreach ($regions as $region) {