diff --git a/workflow/engine/src/BusinessModel/FilesManager.php b/workflow/engine/src/BusinessModel/FilesManager.php index 0abc1d3a2..ffe22de16 100644 --- a/workflow/engine/src/BusinessModel/FilesManager.php +++ b/workflow/engine/src/BusinessModel/FilesManager.php @@ -183,6 +183,12 @@ class FilesManager $sDirectory = PATH_DATA_MAILTEMPLATES . $sProcessUID . PATH_SEP . $sSubDirectory . $aData['prf_filename']; break; } + $content = $aData['prf_content']; + if (is_string($content)) { + if (file_exists(PATH_SEP.$sDirectory)) { + throw (new \Exception( 'The file: '. $sDirectory . ' already exists.')); + } + } if (!file_exists($sCheckDirectory)) { $sPkProcessFiles = \G::generateUniqueID(); $oProcessFiles = new \ProcessFiles(); diff --git a/workflow/engine/src/Services/Api/ProcessMaker/Project/FilesManager.php b/workflow/engine/src/Services/Api/ProcessMaker/Project/FilesManager.php index e916c8a8f..351af84be 100644 --- a/workflow/engine/src/Services/Api/ProcessMaker/Project/FilesManager.php +++ b/workflow/engine/src/Services/Api/ProcessMaker/Project/FilesManager.php @@ -37,15 +37,17 @@ class FilesManager extends Api /** * @param string $prj_uid {@min 32} {@max 32} - * @param ProcessFilesManagerStructure $request_data + * @param ProcessFilesManagerStructurePost $request_data + * @param string $prf_content * * @url POST /:prj_uid/file-manager */ - public function doPostProcessFilesManager($prj_uid, ProcessFilesManagerStructure $request_data) + public function doPostProcessFilesManager($prj_uid, ProcessFilesManagerStructurePost $request_data, $prf_content=null) { try { $userUid = $this->getUserId(); $request_data = (array)($request_data); + $request_data = array_merge(array('prf_content' => $prf_content ), $request_data); $filesManager = new \BusinessModel\FilesManager(); $arrayData = $filesManager->addProcessFilesManager($prj_uid, $userUid, $request_data); //Response @@ -151,6 +153,18 @@ class FilesManager extends Api } } +class ProcessFilesManagerStructurePost +{ /** + * @var string {@from body} + */ + public $prf_filename; + + /** + * @var string {@from body} + */ + public $prf_path; +} + class ProcessFilesManagerStructure { /**