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:
Erik Amaru Ortiz
2014-05-07 09:24:46 -04:00
parent 7281e280ca
commit d11288aa60
2 changed files with 32 additions and 12 deletions

View File

@@ -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",
);
} }
} }

View File

@@ -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();