Litle update for Exporter class, export_version metadata was added, and a ")" char was removed from export_datetime meta key
This commit is contained in:
@@ -21,7 +21,15 @@ abstract class Exporter
|
|||||||
*/
|
*/
|
||||||
protected $bpmnProject;
|
protected $bpmnProject;
|
||||||
|
|
||||||
protected $projectData;
|
/**
|
||||||
|
* @var array
|
||||||
|
*/
|
||||||
|
protected $projectData = array();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var array
|
||||||
|
*/
|
||||||
|
protected $metadata = array();
|
||||||
|
|
||||||
public function __construct($prjUid)
|
public function __construct($prjUid)
|
||||||
{
|
{
|
||||||
@@ -29,6 +37,16 @@ abstract class Exporter
|
|||||||
|
|
||||||
$this->bpmnProject = Project\Bpmn::load($prjUid);
|
$this->bpmnProject = Project\Bpmn::load($prjUid);
|
||||||
$this->projectData = $this->bpmnProject->getProject();
|
$this->projectData = $this->bpmnProject->getProject();
|
||||||
|
|
||||||
|
$this->metadata = array(
|
||||||
|
"vendor_version" => \System::getVersion(),
|
||||||
|
"vendor_version_code" => "Michelangelo",
|
||||||
|
"export_timestamp" => date("U"),
|
||||||
|
"export_datetime" => date("Y-m-d\TH:i:sP"),
|
||||||
|
"export_server_addr" => isset($_SERVER["SERVER_ADDR"]) ? $_SERVER["SERVER_ADDR"].":".$_SERVER["SERVER_PORT"] : "Unknown",
|
||||||
|
"export_server_os" => PHP_OS ,
|
||||||
|
"export_server_php_version" => PHP_VERSION_ID,
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -73,6 +91,7 @@ abstract class Exporter
|
|||||||
$data = array();
|
$data = array();
|
||||||
|
|
||||||
$data["metadata"] = $this->getMetadata();
|
$data["metadata"] = $this->getMetadata();
|
||||||
|
$data["metadata"]["workspace"] = defined("SYS_SYS") ? SYS_SYS : "Unknown";
|
||||||
$data["metadata"]["name"] = $this->getProjectName();
|
$data["metadata"]["name"] = $this->getProjectName();
|
||||||
$data["metadata"]["uid"] = $this->getProjectUid();
|
$data["metadata"]["uid"] = $this->getProjectUid();
|
||||||
|
|
||||||
@@ -166,22 +185,22 @@ abstract class Exporter
|
|||||||
return self::VERSION;
|
return self::VERSION;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function setMetadata($key, $value)
|
||||||
|
{
|
||||||
|
$this->metadata[$key] = $value;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns all metadata to include on export content
|
* Returns all metadata to include on export content
|
||||||
*
|
*
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
public function getMetadata()
|
public function getMetadata($key = "", $default = "")
|
||||||
{
|
{
|
||||||
return array(
|
if (! empty($key)) {
|
||||||
"vendor_version" => \System::getVersion(),
|
return isset($this->metadata[$key]) ? $this->metadata[$key] : $default;
|
||||||
"vendor_version_code" => "Michelangelo",
|
} else {
|
||||||
"export_timestamp" => date("U"),
|
return $this->metadata;
|
||||||
"export_datetime" => date("Y-m-d\TH:i:sP)"),
|
}
|
||||||
"export_server_addr" => isset($_SERVER["SERVER_ADDR"]) ? $_SERVER["SERVER_ADDR"].":".$_SERVER["SERVER_PORT"] : "Unknown",
|
|
||||||
"export_server_os" => PHP_OS ,
|
|
||||||
"export_server_php_version" => PHP_VERSION_ID,
|
|
||||||
"workspace" => defined("SYS_SYS") ? SYS_SYS : "Unknown",
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -101,6 +101,7 @@ class Project extends Api
|
|||||||
$version = \ProcessMaker\Util\Common::getLastVersion($outputDir . $exporter->getProjectName() . "-*.pmx") + 1;
|
$version = \ProcessMaker\Util\Common::getLastVersion($outputDir . $exporter->getProjectName() . "-*.pmx") + 1;
|
||||||
$outputFilename = $outputDir . sprintf("%s-%s.%s", $exporter->getProjectName(), $version, "pmx");
|
$outputFilename = $outputDir . sprintf("%s-%s.%s", $exporter->getProjectName(), $version, "pmx");
|
||||||
|
|
||||||
|
$exporter->setMetadata("export_version", $version);
|
||||||
$exporter->saveExport($outputFilename);
|
$exporter->saveExport($outputFilename);
|
||||||
|
|
||||||
$httpStream = new \ProcessMaker\Util\IO\HttpStream();
|
$httpStream = new \ProcessMaker\Util\IO\HttpStream();
|
||||||
|
|||||||
Reference in New Issue
Block a user