Se puede importar procesos de Enterprise a Community con exportación granular
This commit is contained in:
dheeyi
2016-04-06 12:02:39 -04:00
parent 5a19f99035
commit 847a83321d
4 changed files with 24 additions and 8 deletions

View File

@@ -31,7 +31,16 @@ $conf = new Configurations();
$pmVersion = (preg_match("/^([\d\.]+).*$/", System::getVersion(), $arrayMatch))? $arrayMatch[1] : ""; //Otherwise: Branch master $pmVersion = (preg_match("/^([\d\.]+).*$/", System::getVersion(), $arrayMatch))? $arrayMatch[1] : ""; //Otherwise: Branch master
$arrayFlagImportFileExtension = array("pm", "pmx", "bpmn"); /*----------------------------------********---------------------------------*/
if (true) {
$arrayFlagImportFileExtension = array("pm", "pmx", "pmx2", "bpmn");
} else {
/*----------------------------------********---------------------------------*/
$arrayFlagImportFileExtension = array("pm", "pmx", "bpmn");
/*----------------------------------********---------------------------------*/
}
/*----------------------------------********---------------------------------*/
$arrayFlagMenuNewOption = array("pm" => true, "bpmn" => true); $arrayFlagMenuNewOption = array("pm" => true, "bpmn" => true);
if ($pmVersion != "") { if ($pmVersion != "") {

View File

@@ -33,7 +33,7 @@ $objectsToImport = '';
if (PMLicensedFeatures::getSingleton()->verifyfeature("B0oWlBLY3hHdWY0YUNpZEtFQm5CeTJhQlIwN3IxMEkwaG4=") && if (PMLicensedFeatures::getSingleton()->verifyfeature("B0oWlBLY3hHdWY0YUNpZEtFQm5CeTJhQlIwN3IxMEkwaG4=") &&
isset($_FILES["PROCESS_FILENAME"]) && isset($_FILES["PROCESS_FILENAME"]) &&
$_FILES["PROCESS_FILENAME"]["error"] == 0 && $_FILES["PROCESS_FILENAME"]["error"] == 0 &&
preg_match("/^(?:pm|pmx)$/", pathinfo($_FILES["PROCESS_FILENAME"]["name"], PATHINFO_EXTENSION)) preg_match("/^(?:pm|pmx|pmx2)$/", pathinfo($_FILES["PROCESS_FILENAME"]["name"], PATHINFO_EXTENSION))
) { ) {
//Check disabled code //Check disabled code
$response = array(); $response = array();
@@ -55,6 +55,7 @@ if (PMLicensedFeatures::getSingleton()->verifyfeature("B0oWlBLY3hHdWY0YUNpZEtFQm
} }
break; break;
case "pmx": case "pmx":
case "pmx2":
$importer = new XmlImporter(); $importer = new XmlImporter();
$data = $importer->load($_FILES["PROCESS_FILENAME"]["tmp_name"]); $data = $importer->load($_FILES["PROCESS_FILENAME"]["tmp_name"]);
if (isset($data["tables"]["workflow"]["triggers"]) && is_array($data["tables"]["workflow"]["triggers"]) && !empty($data["tables"]["workflow"]["triggers"])) { if (isset($data["tables"]["workflow"]["triggers"]) && is_array($data["tables"]["workflow"]["triggers"]) && !empty($data["tables"]["workflow"]["triggers"])) {
@@ -109,8 +110,9 @@ if (PMLicensedFeatures::getSingleton()->verifyfeature("B0oWlBLY3hHdWY0YUNpZEtFQm
} }
/*----------------------------------********---------------------------------*/ /*----------------------------------********---------------------------------*/
if (isset($_FILES["PROCESS_FILENAME"]) && if (isset($_FILES["PROCESS_FILENAME"]) && (pathinfo($_FILES["PROCESS_FILENAME"]["name"], PATHINFO_EXTENSION) == "pmx"
pathinfo($_FILES["PROCESS_FILENAME"]["name"], PATHINFO_EXTENSION) == "pmx" || pathinfo($_FILES["PROCESS_FILENAME"]["name"], PATHINFO_EXTENSION) == "pmx2")
) { ) {
$importer = new XmlImporter(); $importer = new XmlImporter();
$importer->setData("usr_uid", $_SESSION["USER_LOGGED"]); $importer->setData("usr_uid", $_SESSION["USER_LOGGED"]);
@@ -219,8 +221,10 @@ if (isset($_FILES["PROCESS_FILENAME"]) &&
} }
if (isset($_POST["PRO_FILENAME"]) && if (isset($_POST["PRO_FILENAME"]) &&
file_exists(PATH_DOCUMENT . "input" . PATH_SEP . $_POST["PRO_FILENAME"]) && file_exists(PATH_DOCUMENT . "input" . PATH_SEP . $_POST["PRO_FILENAME"]) && (pathinfo(PATH_DOCUMENT . "input" .
pathinfo(PATH_DOCUMENT . "input" . PATH_SEP . $_POST["PRO_FILENAME"], PATHINFO_EXTENSION) == "pmx" PATH_SEP . $_POST["PRO_FILENAME"], PATHINFO_EXTENSION) == "pmx" || pathinfo(PATH_DOCUMENT . "input" .
PATH_SEP . $_POST["PRO_FILENAME"], PATHINFO_EXTENSION) == "pmx2")
) { ) {
$option = XmlImporter::IMPORT_OPTION_CREATE_NEW; $option = XmlImporter::IMPORT_OPTION_CREATE_NEW;

View File

@@ -55,8 +55,8 @@ class GranularExporter
$projectData = $bpmnProject->getProject(); $projectData = $bpmnProject->getProject();
$getProjectName = $this->publisher->truncateName($projectData['PRJ_NAME'], false); $getProjectName = $this->publisher->truncateName($projectData['PRJ_NAME'], false);
$outputDir = PATH_DATA . "sites" . PATH_SEP . SYS_SYS . PATH_SEP . "files" . PATH_SEP . "output" . PATH_SEP; $outputDir = PATH_DATA . "sites" . PATH_SEP . SYS_SYS . PATH_SEP . "files" . PATH_SEP . "output" . PATH_SEP;
$version = \ProcessMaker\Util\Common::getLastVersion($outputDir . $getProjectName . "-*.pmx") + 1; $version = \ProcessMaker\Util\Common::getLastVersion($outputDir . $getProjectName . "-*.pmx2") + 1;
$outputFilename = $outputDir . sprintf("%s-%s.%s", str_replace(" ", "_", $getProjectName), $version, "pmx"); $outputFilename = $outputDir . sprintf("%s-%s.%s", str_replace(" ", "_", $getProjectName), $version, "pmx2");
$bpnmDefinition = array( $bpnmDefinition = array(
'ACTIVITY' => [], 'ACTIVITY' => [],

View File

@@ -1914,6 +1914,9 @@ importProcess = function()
switch (fileExtension) { switch (fileExtension) {
case "pm": case "pm":
case "pmx": case "pmx":
/*----------------------------------********---------------------------------*/
case "pmx2":
/*----------------------------------********---------------------------------*/
var uploader = Ext.getCmp("uploader"); var uploader = Ext.getCmp("uploader");
if (uploader.getForm().isValid()) { if (uploader.getForm().isValid()) {