|
|
@@ -31,13 +31,15 @@ class Route_UrlAction_WmsGenerate extends RouteBase {
|
|
|
|
|
|
private function defaultAction_WMS_LAYERS($ID_WMS_LAYERS) {
|
|
|
try {
|
|
|
- $LAYER_TYPE=DB::getPDO()->fetchall("select LAYER_TYPE from WMS_LAYERS where ID='".$ID_WMS_LAYERS."'");
|
|
|
- if (!$LAYER_TYPE) throw new Exception('Błąd - nie ma takiej warstwy!');
|
|
|
+ $layer=DB::getPDO()->fetchall("select LAYER_TYPE,FILE_STATUS from WMS_LAYERS where ID='".$ID_WMS_LAYERS."'");
|
|
|
+ if (!$layer) throw new Exception('Błąd - nie ma takiej warstwy!');
|
|
|
+
|
|
|
+ if ($layer[0]['FILE_STATUS']=="IN_PROGRESS") throw new Exception('Błąd - plik w trakcie przetwarzania!');
|
|
|
|
|
|
$destFolderPath = $this->getDirectory($ID_WMS_LAYERS);
|
|
|
$files=array();
|
|
|
|
|
|
- if ($LAYER_TYPE[0]['LAYER_TYPE']=='GeoTIFF') {
|
|
|
+ if ($layer[0]['LAYER_TYPE']=='GeoTIFF') {
|
|
|
|
|
|
foreach (glob($destFolderPath."/*.tif",GLOB_BRACE) as $node) {
|
|
|
if (is_file($node)) $files[]=basename($node);
|
|
|
@@ -50,7 +52,7 @@ class Route_UrlAction_WmsGenerate extends RouteBase {
|
|
|
if (!$validateGeoTif) throw new Exception('Znaleziony plik '.$files[0].' nie jest poprawnym plikiem tif!');
|
|
|
if (!$validateGeoTif->coordinateSystem->wkt) throw new Exception('Znaleziony plik '.$files[0].' nie jest poprawnym plikiem GeoTif!');
|
|
|
|
|
|
- } elseif ($LAYER_TYPE[0]['LAYER_TYPE']=='QGIS') {
|
|
|
+ } elseif ($layer[0]['LAYER_TYPE']=='QGIS') {
|
|
|
|
|
|
foreach (glob($destFolderPath."/*.qgs",GLOB_BRACE) as $node) {
|
|
|
if (is_file($node)) $files[]=basename($node);
|
|
|
@@ -87,7 +89,7 @@ class Route_UrlAction_WmsGenerate extends RouteBase {
|
|
|
$sqlObj->FILE_STATUS='TO_GENERATE';
|
|
|
$sqlObj->FILE_STATUS_INFO='Plik oczekuje na przetworzenie';
|
|
|
$sqlObj->FILE_NAME=$files[0];
|
|
|
- $sqlObj->OLD_LAYER_TYPE=$LAYER_TYPE[0]['LAYER_TYPE'];
|
|
|
+ $sqlObj->OLD_LAYER_TYPE=$layer[0]['LAYER_TYPE'];
|
|
|
$affected = DB::getDB()->UPDATE_OBJ('WMS_LAYERS', $sqlObj);
|
|
|
if ($affected) SE_Layout::alert('success','Oznaczono plik '.$files[0].' do przetworzenia.');
|
|
|
else SE_Layout::alert('warning','Plik '.$files[0].' został już wcześniej oznaczony do przetworzenia.');
|