<?php require_once(dirname(__FILE__)."/../../core/globalSettings.php"); require_once(dirname(__FILE__)."/../../http/classes/class_connector.php"); require_once(dirname(__FILE__)."/../../http/classes/class_administration.php"); require_once(dirname(__FILE__)."/../classes/class_weldMaps2JPEG.php"); //define("LAYER_PREVIEW_BASE","../tmp/layerpreviews/"); //define("LAYER_PREVIEW_BASE","../tmp/"); $ajaxResponse = new AjaxResponse($_REQUEST); $mapurl = $ajaxResponse->getParameter("mapurl"); $layerName = $ajaxResponse->getParameter("layerName"); $legendUrl = $ajaxResponse->getParameter("legendUrl"); $wmsId = $ajaxResponse->getParameter("wmsId"); $layerId = $ajaxResponse->getParameter("layerId"); $layerPreviewMapFileName = PREVIEW_DIR ."/".$layerId."_layer_map_preview.jpg"; $layerPreviewLegendFileName = PREVIEW_DIR ."/".$layerId."_layer_legend_preview.jpg"; if(!$mapurl){ $ajaxResponse->setSuccess(false); $ajaxResponse->setMessage('mapURL not set'); $ajaxResponse->send(); } /* if(!$legendurl){ $ajaxResponse->setSuccess(false); $ajaxResponse->setMessage('legendURL not set'); $ajaxResponse->send(); } */ if (!$wmsId) { $ajaxResponse->setSuccess(false); $ajaxResponse->setMessage('wmsId not set'); $ajaxResponse->send(); } if (!$layerName) { $ajaxResponse->setSuccess(false); $ajaxResponse->setMessage('layerName not set'); $ajaxResponse->send(); } switch ($ajaxResponse->getMethod()) { case "saveLayerPreview": $mapImg = new weldMaps2JPEG($mapurl, $layerPreviewMapFileName); if(!$mapImg) { $ajaxResponse->setSuccess(false); $ajaxResponse->setMessage('Map preview could not be created'); $ajaxResponse->send(); } if ($legendUrl) { $legendImg = new weldMaps2JPEG($legendUrl, $layerPreviewLegendFileName); if(!$legendImg) { $ajaxResponse->setSuccess(false); $ajaxResponse->setMessage('Legend preview could not be created'); $ajaxResponse->send(); } /*else { $ajaxResponse->setSuccess(true); $ajaxResponse->setMessage('Preview saved'); $ajaxResponse->send(); }*/ } else { $legendUrl = null; } $ajaxResponse->setSuccess(true); $ajaxResponse->setMessage('Preview saved'); $ajaxResponse->send(); /* $updateSQL = <<<SQL UPDATE layer_preview SET layer_map_preview_filename = $1, layer_legend_preview_filename = $2 WHERE layer_preview.fkey_layer_id IN ( SELECT layer_id FROM layer WHERE fkey_wms_id = $wmsId AND layer_name = $3 ) SQL; $insertSQL = <<<SQL INSERT INTO layer_preview ( fkey_layer_id, layer_map_preview_filename, layer_legend_preview_filename ) SELECT layer_id, $1, $2 FROM layer WHERE fkey_wms_id = $wmsId AND layer_name = $3 AND NOT EXISTS ( SELECT fkey_layer_id FROM layer JOIN layer_preview ON fkey_layer_id = layer_id WHERE fkey_wms_id = $wmsId AND layer_name = $4 ) SQL; $updateResult = db_prep_query( $updateSQL, array($layerPreviewMapFileName, $layerPreviewLegendFileName, $layerName), array("s", "s", "s") ); $insertResult = db_prep_query( $insertSQL, array($layerPreviewMapFileName, $layerPreviewLegendFileName, $layerName, $layerName), array("s", "s", "s", "s") ); if (!$insertResult && !$updateResult) { new mb_exception("could not insert/update layerPreview into db"); $ajaxResponse->setSuccess(false); $ajaxResponse->setMessage("could not insert/Update layerPreview into db: ". pg_last_error()); }*/ break; default: $ajaxResponse->setSuccess(false); $ajaxResponse->setMessage("invalid method"); } $ajaxResponse->send(); ?>