Merge remote-tracking branch 'upstream/3.0.1.8' into MT-100
This commit is contained in:
@@ -1984,10 +1984,12 @@ class Processes
|
|||||||
{
|
{
|
||||||
$map = array();
|
$map = array();
|
||||||
foreach ($oData->inputs as $key => $val) {
|
foreach ($oData->inputs as $key => $val) {
|
||||||
|
$oldUid = $val['INP_DOC_UID'];
|
||||||
$newGuid = $this->getUnusedInputGUID();
|
$newGuid = $this->getUnusedInputGUID();
|
||||||
$map[$val['INP_DOC_UID']] = $newGuid;
|
$map[$val['INP_DOC_UID']] = $newGuid;
|
||||||
$oData->inputFiles[$oData->inputs[$key]['INP_DOC_UID']] = $newGuid;
|
$oData->inputFiles[$oData->inputs[$key]['INP_DOC_UID']] = $newGuid;
|
||||||
$oData->inputs[$key]['INP_DOC_UID'] = $newGuid;
|
$oData->inputs[$key]['INP_DOC_UID'] = $newGuid;
|
||||||
|
$oData->inputs[$key]['INP_DOC_UID_OLD'] = $oldUid;
|
||||||
}
|
}
|
||||||
if (!isset($oData->inputFiles)) {
|
if (!isset($oData->inputFiles)) {
|
||||||
$oData->inputFiles = array();
|
$oData->inputFiles = array();
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ class FilesManager
|
|||||||
*
|
*
|
||||||
* @access public
|
* @access public
|
||||||
*/
|
*/
|
||||||
public function getProcessFilesManagerPath($sProcessUID, $path)
|
public function getProcessFilesManagerPath($sProcessUID, $path, $getContent = true)
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
$checkPath = substr($path, -1);
|
$checkPath = substr($path, -1);
|
||||||
@@ -85,7 +85,10 @@ class FilesManager
|
|||||||
}
|
}
|
||||||
foreach ($aFiles as $aFile) {
|
foreach ($aFiles as $aFile) {
|
||||||
$arrayFileUid = $this->getFileManagerUid($sDirectory.$aFile['FILE']);
|
$arrayFileUid = $this->getFileManagerUid($sDirectory.$aFile['FILE']);
|
||||||
$fcontent = '';
|
$fcontent = "";
|
||||||
|
if ($getContent === true) {
|
||||||
|
$fcontent = file_get_contents($sDirectory . $aFile['FILE']);
|
||||||
|
}
|
||||||
$fileUid = $arrayFileUid["PRF_UID"];
|
$fileUid = $arrayFileUid["PRF_UID"];
|
||||||
if ($fileUid != null) {
|
if ($fileUid != null) {
|
||||||
$oProcessFiles = \ProcessFilesPeer::retrieveByPK($fileUid);
|
$oProcessFiles = \ProcessFilesPeer::retrieveByPK($fileUid);
|
||||||
@@ -243,6 +246,11 @@ class FilesManager
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param $aData
|
||||||
|
* @throws Exception
|
||||||
|
* @throws \Exception
|
||||||
|
*/
|
||||||
public function addProcessFilesManagerInDb($aData)
|
public function addProcessFilesManagerInDb($aData)
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
@@ -250,7 +258,26 @@ class FilesManager
|
|||||||
$aData = array_change_key_case($aData, CASE_UPPER);
|
$aData = array_change_key_case($aData, CASE_UPPER);
|
||||||
$oProcessFiles->fromArray($aData, \BasePeer::TYPE_FIELDNAME);
|
$oProcessFiles->fromArray($aData, \BasePeer::TYPE_FIELDNAME);
|
||||||
|
|
||||||
$sDirectory = PATH_DATA_MAILTEMPLATES . $aData['PRO_UID'] . PATH_SEP . basename($aData['PRF_PATH']);
|
$path = $aData['PRF_PATH'];
|
||||||
|
if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
|
||||||
|
$path = str_replace("/", DIRECTORY_SEPARATOR.DIRECTORY_SEPARATOR, $path);
|
||||||
|
}
|
||||||
|
|
||||||
|
$path = explode(DIRECTORY_SEPARATOR,$path);
|
||||||
|
$fileDirectory = $path[count($path)-3];
|
||||||
|
|
||||||
|
switch ($fileDirectory) {
|
||||||
|
case 'mailTemplates':
|
||||||
|
$sDirectory = PATH_DATA_MAILTEMPLATES . $aData['PRO_UID'] . PATH_SEP . basename($aData['PRF_PATH']);
|
||||||
|
break;
|
||||||
|
case 'public':
|
||||||
|
$sDirectory = PATH_DATA_PUBLIC . $aData['PRO_UID'] . PATH_SEP . basename($aData['PRF_PATH']);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
throw new \Exception(\G::LoadTranslation("ID_INVALID_VALUE_FOR", array($aData['PRF_PATH'])));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
$oProcessFiles->setPrfPath($sDirectory);
|
$oProcessFiles->setPrfPath($sDirectory);
|
||||||
|
|
||||||
if($this->existsProcessFile($aData['PRF_UID'])) {
|
if($this->existsProcessFile($aData['PRF_UID'])) {
|
||||||
|
|||||||
@@ -36,6 +36,19 @@ class ProcessDefinitionMigrator implements Importable, Exportable
|
|||||||
try {
|
try {
|
||||||
//Bpmn elements
|
//Bpmn elements
|
||||||
$pjrUid =$this->bpmn->createFromStruct($data['bpmn'], false);
|
$pjrUid =$this->bpmn->createFromStruct($data['bpmn'], false);
|
||||||
|
//Import workflow elements
|
||||||
|
$this->afterImport($data);
|
||||||
|
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
$exception = new ImportException($e->getMessage());
|
||||||
|
$exception->setNameException($this->className);
|
||||||
|
throw($exception);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function afterImport($data)
|
||||||
|
{
|
||||||
|
try {
|
||||||
//Workflow elements
|
//Workflow elements
|
||||||
$this->processes->createTaskRows($data['workflow']['tasks']);
|
$this->processes->createTaskRows($data['workflow']['tasks']);
|
||||||
$this->processes->createTaskUserRows($data['workflow']['taskusers']);
|
$this->processes->createTaskUserRows($data['workflow']['taskusers']);
|
||||||
@@ -70,11 +83,6 @@ class ProcessDefinitionMigrator implements Importable, Exportable
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public function afterImport($data)
|
|
||||||
{
|
|
||||||
// TODO: Implement afterImport() method.
|
|
||||||
}
|
|
||||||
|
|
||||||
public function beforeExport()
|
public function beforeExport()
|
||||||
{
|
{
|
||||||
// TODO: Implement beforeExport() method.
|
// TODO: Implement beforeExport() method.
|
||||||
|
|||||||
@@ -253,6 +253,10 @@ abstract class Importer
|
|||||||
$granularObj->import($objectList);
|
$granularObj->import($objectList);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if($option === self::IMPORT_OPTION_CREATE_NEW || $option === self::IMPORT_OPTION_KEEP_WITHOUT_CHANGING_AND_CREATE_NEW){
|
||||||
|
$oProcessDef = new \ProcessMaker\BusinessModel\Migrator\ProcessDefinitionMigrator();
|
||||||
|
$oProcessDef->afterImport($this->importData['tables']);
|
||||||
|
}
|
||||||
|
|
||||||
return $projectUid;
|
return $projectUid;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1317,6 +1317,18 @@ class Workflow extends Handler
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
foreach ($arrayWorkflowData["inputs"] as $keyin => $value) {
|
||||||
|
$newUid = $value["INP_DOC_UID"];
|
||||||
|
if(isset($value["INP_DOC_UID_OLD"])){
|
||||||
|
foreach ($arrayWorkflowData["processVariables"] as $keypv => $vars) {
|
||||||
|
if($vars['INP_DOC_UID'] === $value["INP_DOC_UID_OLD"]){
|
||||||
|
$arrayWorkflowData["processVariables"][$keypv]["INP_DOC_UID"] = $newUid;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
unset($arrayWorkflowData["inputs"][$keyin]["INP_DOC_UID_OLD"]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//Workflow files
|
//Workflow files
|
||||||
foreach ($arrayWorkflowFile as $key => $value) {
|
foreach ($arrayWorkflowFile as $key => $value) {
|
||||||
$arrayFile = $value;
|
$arrayFile = $value;
|
||||||
|
|||||||
@@ -14,15 +14,16 @@ class FilesManager extends Api
|
|||||||
/**
|
/**
|
||||||
* @param string $prj_uid {@min 32} {@max 32}
|
* @param string $prj_uid {@min 32} {@max 32}
|
||||||
* @param string $path
|
* @param string $path
|
||||||
|
* @param string $get_content
|
||||||
*
|
*
|
||||||
* @url GET /:prj_uid/file-manager
|
* @url GET /:prj_uid/file-manager
|
||||||
*/
|
*/
|
||||||
public function doGetProcessFilesManager($prj_uid, $path = '')
|
public function doGetProcessFilesManager($prj_uid, $path = '', $get_content = true)
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
$filesManager = new \ProcessMaker\BusinessModel\FilesManager();
|
$filesManager = new \ProcessMaker\BusinessModel\FilesManager();
|
||||||
if ($path != '') {
|
if ($path != '') {
|
||||||
$arrayData = $filesManager->getProcessFilesManagerPath($prj_uid, $path);
|
$arrayData = $filesManager->getProcessFilesManagerPath($prj_uid, $path, $get_content);
|
||||||
} else {
|
} else {
|
||||||
$arrayData = $filesManager->getProcessFilesManager($prj_uid);
|
$arrayData = $filesManager->getProcessFilesManager($prj_uid);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user