diff --git a/gtf.engine/gtf.engines/Traitement.class.inc b/gtf.engine/gtf.engines/Traitement.class.inc index 042bcbbd8570ed0e854e67b94ed1669275ae7ca8..d87dfd3606399bbe7faa0cb0bc02b8ea8a6dad23 100755 --- a/gtf.engine/gtf.engines/Traitement.class.inc +++ b/gtf.engine/gtf.engines/Traitement.class.inc @@ -136,7 +136,7 @@ class Traitement { // table de correspondance entre GTF et le FMW utiliser dans les fonction d'encodage $this->aReplaceGTF = array("\r\n", " ", "(", ")", "$", "&", "@", "°", "'", ",", "\"", "{", "}", "[", "]", ";", "/", "\\", "é", "à"); $this->aReplaceFME = array("<lf>", "<space>", "<openparen>", "<closeparen>", "<dollar>", "<amp>", "<at>", "<u00b0>", "<apos>", "<comma>", "<quote>", "<opencurly>", "<closecurly>", "<openbracket>", "<closebracket>", "<semicolon>", "<solidus>", "<backslash>", "<u00e9>", "<u00e0>"); - writeToLog(str_replace('[this->sFmwFileName]', $this->sFmwFileName, str_replace('[sParams]', $sParams, INFO_RESOURCES)), $this->sRobotLogFile); + //writeToLog(str_replace('[this->sFmwFileName]', $this->sFmwFileName, str_replace('[sParams]', $sParams, INFO_RESOURCES)), $this->sRobotLogFile); } /** @@ -737,9 +737,16 @@ class Traitement { copy($sFmwFilePath, $sRepositoryFmwFilePath); // Supprime le fichier de l'ancienne version du projet (GTF + Fme Server). if ($aWorkspace['version'] > 0) { - $sRepositoryOldFmwFileName = pathinfo($this->sFmwFileName, PATHINFO_FILENAME) . '_v' . --$aWorkspace['version'] . '.' . pathinfo($this->sFmwFileName, PATHINFO_EXTENSION); - unlink($this->aProperties["workspace_dir"] . "/" . pathinfo($this->sFmwFileName, PATHINFO_DIRNAME) . "/" . $sRepositoryOldFmwFileName); - //$oFmeServer->serviceRequest('repositories/' . $sRepository . '/items/' . $sRepositoryOldFmwFileName, 'delete'); + $sOldFmwFileName = pathinfo($this->sFmwFileName, PATHINFO_FILENAME) . '_v' . --$aWorkspace['version'] . '.' . pathinfo($this->sFmwFileName, PATHINFO_EXTENSION); + $sOldFmwFilePath = $this->aProperties["workspace_dir"] . "/" . pathinfo($this->sFmwFileName, PATHINFO_DIRNAME) . "/" . $sOldFmwFileName; + if (file_exists($sOldFmwFilePath)) + unlink($sOldFmwFilePath); + //$oFmeServer->serviceRequest('repositories/' . $sRepository . '/items/' . $sOldFmwFileName, 'delete'); + // S3 -> copie du fichier avec la dernière version et suppression de l'ancien. + if ($this->aProperties['fileS3Uploader'] === true) { + deleteFileFromWsDataDirTree('gtf', 'workspace', $aWorkspace['workspace_id'], 'fme', $sOldFmwFileName); + copyFileInWsDataDir ('gtf', 'workspace', $aWorkspace['workspace_id'], 'fme', pathinfo($this->sFmwFileName, PATHINFO_BASENAME), $sRepositoryFmwFileName); + } } } // Upload du fichier .fmw. diff --git a/gtf.engine/gtf.engines/engine.php b/gtf.engine/gtf.engines/engine.php index de4ebb04155b7ea36e52e97eef295f53241896da..4d7af46b28a6d713874df20c94dfbeaeabcbf782 100755 --- a/gtf.engine/gtf.engines/engine.php +++ b/gtf.engine/gtf.engines/engine.php @@ -268,14 +268,14 @@ if ($ErrorLicense == "0") { $sWorkspaceDir = $properties["workspace_dir"] . '/' . $aDemande['workspace_id']; if (file_exists($sWorkspaceDir)) clearDir($sWorkspaceDir); - mkdir($sWorkspaceDir, 0777, true); - mkdir($sWorkspaceDir . '/fme', 0777, true); - $aTree = getDirectoryInfosFromWsDataDir('gtf', 'workspace', $aDemande['workspace_id'], 'fme'); - if (!empty($aTree)) { - if (!empty($aTree[0]['content'])) { - foreach($aTree[0]['content'] as $aFile) { - $sFmwFileContent = getFileContentInWsDataDir("gtf", "workspace", $aDemande['workspace_id'], 'fme', $aFile['filename']); - file_put_contents($sWorkspaceDir . '/fme/' . $aFile['filename'], $sFmwFileContent); + if (mkdir($sWorkspaceDir . '/fme', 0777, true)) { + $aTree = getDirectoryInfosFromWsDataDir('gtf', 'workspace', $aDemande['workspace_id'], 'fme'); + if (!empty($aTree)) { + if (!empty($aTree[0]['content'])) { + foreach($aTree[0]['content'] as $aFile) { + $sFmwFileContent = getFileContentInWsDataDir("gtf", "workspace", $aDemande['workspace_id'], 'fme', $aFile['filename']); + file_put_contents($sWorkspaceDir . '/fme/' . $aFile['filename'], $sFmwFileContent); + } } } } @@ -842,7 +842,16 @@ function TesteHeureCreuse($sHeureMin, $sHeureMax) { */ function updateOrder($iOrderId, $iStatut, $sExecutionDate, $sLogUrl = null, $iNbSec = null, $sResultUrl = null) { // Variables globales. - global $oBd, $properties, $aSql; + global $oBd, $properties, $aSql, $aDemande; + // Suppression du répertoire temporaire du projet. + if ($properties['fileS3Uploader'] === true) { + $aStatus = array(2, 3, 4, 6, 7); + if (in_array($iStatut, $aStatus)) { + $sWorkspacePath = $properties['workspace_dir'] . '/' . $aDemande['workspace_id']; + if (file_exists($sWorkspacePath)) + clearDir($sWorkspacePath); + } + } // Requete d'update de la demande. if (empty($sLogUrl)) $sLogUrl = null;