From 97c25a320efc6ec05909ddbcac04618e5df18bf6 Mon Sep 17 00:00:00 2001 From: Paula Quispe Date: Tue, 6 Jun 2017 15:21:42 -0400 Subject: [PATCH] HOR-3351 --- .../engine/methods/processes/processes_Export.php | 6 +++++- .../BusinessModel/Migrator/GranularExporter.php | 12 +++++++++++- .../engine/src/ProcessMaker/Services/Api/Project.php | 5 +++++ 3 files changed, 21 insertions(+), 2 deletions(-) diff --git a/workflow/engine/methods/processes/processes_Export.php b/workflow/engine/methods/processes/processes_Export.php index 039087510..59d20790d 100644 --- a/workflow/engine/methods/processes/processes_Export.php +++ b/workflow/engine/methods/processes/processes_Export.php @@ -39,7 +39,8 @@ try { if (sizeof($_GET['objects']) == 0) { /*----------------------------------********---------------------------------*/ $exporter = new ProcessMaker\Exporter\XmlExporter($_GET["pro_uid"]); - $getProjectName = $exporter->truncateName($exporter->getProjectName(), false); + $projectName = $exporter->getProjectName(); + $getProjectName = $exporter->truncateName($projectName, false); $version = ProcessMaker\Util\Common::getLastVersion($outputDir . $getProjectName . "-*.pmx") + 1; $outputFilename = sprintf("%s-%s.%s", str_replace(" ", "_", $getProjectName), $version, "pmx"); @@ -48,8 +49,10 @@ try { }else{ $granularExporter = new \ProcessMaker\BusinessModel\Migrator\GranularExporter($_GET['pro_uid']); $outputFilename = $granularExporter->export($_GET['objects']); + $projectName = $granularExporter->getProjectName(); } /*----------------------------------********---------------------------------*/ + G::auditLog('ExportProcess','Export process "' . $projectName . '"'); } else { $oProcess = new Processes(); $proFields = $oProcess->serializeProcess($_GET["pro_uid"]); @@ -57,6 +60,7 @@ try { $outputFilename = $result["FILENAME"]; rename($outputDir . $outputFilename . "tpm", $outputDir . $outputFilename); + G::auditLog('ExportProcess','Export process "' . $result["PRO_TITLE"] . '"'); } $response->file_hash = base64_encode($outputFilename); $response->success = true; diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/GranularExporter.php b/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/GranularExporter.php index 8d67b5b2f..4d0e96064 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/GranularExporter.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/GranularExporter.php @@ -12,6 +12,7 @@ class GranularExporter protected $generator; protected $data; protected $prjuid; + protected $prjName = ''; /** * GranularExporter constructor. */ @@ -60,6 +61,7 @@ class GranularExporter $objectList = func_get_args()[0]; $bpmnProject = Project\Bpmn::load($this->prjuid); $projectData = $bpmnProject->getProject(); + $this->prjName = $projectData['PRJ_NAME']; $getProjectName = $this->publisher->truncateName($projectData['PRJ_NAME'], false); $outputDir = PATH_DATA . "sites" . PATH_SEP . SYS_SYS . PATH_SEP . "files" . PATH_SEP . "output" . PATH_SEP; $version = \ProcessMaker\Util\Common::getLastVersion($outputDir . $getProjectName . "-*.pmx2") + 1; @@ -172,7 +174,7 @@ class GranularExporter } } } - return $migratorData; + return $migratorData; } public function publish() @@ -184,4 +186,12 @@ class GranularExporter ) ); } + /** + * Get the project name + */ + public function getProjectName() + { + return $this->prjName; + } + } \ No newline at end of file diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project.php b/workflow/engine/src/ProcessMaker/Services/Api/Project.php index 57603085d..0496db5b0 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project.php @@ -163,6 +163,9 @@ class Project extends Api PATH_SEP . $outputFilename; $httpStream = new HttpStream(); $fileExtension = pathinfo($outputFilename, PATHINFO_EXTENSION); + + \G::auditLog('ExportProcess','Export process "' . $granularExporter->getProjectName() . '"'); + $httpStream->loadFromFile($outputFilename); $httpStream->setHeader("Content-Type", "application/xml; charset=UTF-8"); $httpStream->send(); @@ -188,6 +191,8 @@ class Project extends Api $httpStream = new \ProcessMaker\Util\IO\HttpStream(); $fileExtension = pathinfo($outputFilename, PATHINFO_EXTENSION); + \G::auditLog('ExportProcess','Export process "' . $exporter->getProjectName() . '"'); + $httpStream->loadFromFile($outputFilename); $httpStream->setHeader("Content-Type", "application/xml; charset=UTF-8"); $httpStream->send();