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 $projectData;
/**
* @var array
*/
protected $projectData = array();
/**
* @var array
*/
protected $metadata = array();
public function __construct($prjUid)
{
@@ -29,6 +37,16 @@ abstract class Exporter
$this->bpmnProject = Project\Bpmn::load($prjUid);
$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["metadata"] = $this->getMetadata();
$data["metadata"]["workspace"] = defined("SYS_SYS") ? SYS_SYS : "Unknown";
$data["metadata"]["name"] = $this->getProjectName();
$data["metadata"]["uid"] = $this->getProjectUid();
@@ -166,22 +185,22 @@ abstract class Exporter
return self::VERSION;
}
public function setMetadata($key, $value)
{
$this->metadata[$key] = $value;
}
/**
* Returns all metadata to include on export content
*
* @return array
*/
public function getMetadata()
public function getMetadata($key = "", $default = "")
{
return 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,
"workspace" => defined("SYS_SYS") ? SYS_SYS : "Unknown",
);
if (! empty($key)) {
return isset($this->metadata[$key]) ? $this->metadata[$key] : $default;
} else {
return $this->metadata;
}
}
}

View File

@@ -101,6 +101,7 @@ class Project extends Api
$version = \ProcessMaker\Util\Common::getLastVersion($outputDir . $exporter->getProjectName() . "-*.pmx") + 1;
$outputFilename = $outputDir . sprintf("%s-%s.%s", $exporter->getProjectName(), $version, "pmx");
$exporter->setMetadata("export_version", $version);
$exporter->saveExport($outputFilename);
$httpStream = new \ProcessMaker\Util\IO\HttpStream();