diff --git a/workflow/engine/classes/class.pmDynaform.php b/workflow/engine/classes/class.pmDynaform.php index 2bdf75566..084576f90 100644 --- a/workflow/engine/classes/class.pmDynaform.php +++ b/workflow/engine/classes/class.pmDynaform.php @@ -14,6 +14,8 @@ class pmDynaform public $fields = null; public $record = null; public $credentials = null; + public $lang = null; + public $langs = null; public function __construct($fields) { @@ -38,6 +40,7 @@ class pmDynaform } $a = new Criteria("workflow"); $a->addSelectColumn(DynaformPeer::DYN_VERSION); + $a->addSelectColumn(DynaformPeer::DYN_LABEL); $a->addSelectColumn(DynaformPeer::DYN_CONTENT); $a->addSelectColumn(DynaformPeer::PRO_UID); $a->addSelectColumn(DynaformPeer::DYN_UID); @@ -47,6 +50,7 @@ class pmDynaform $ds->next(); $row = $ds->getRow(); $this->record = isset($row) ? $row : null; + $this->langs = ($this->record["DYN_LABEL"] !== "" && $this->record["DYN_LABEL"] !== null) ? G::json_decode($this->record["DYN_LABEL"]) : null; return $this->record; } @@ -189,6 +193,24 @@ class pmDynaform $json->data = $rows; } } + //languages + if ($this->lang === null && $key === "language" && isset($json->language)) { + $this->lang = $json->language; + } + if ($key === "label" && isset($json->label) && $this->langs !== null && isset($this->langs->{$this->lang})) { + $langs = $this->langs->{$this->lang}->Labels; + foreach ($langs as $langsValue) { + if ($json->label === $langsValue->msgid) + $json->label = $langsValue->msgstr; + } + } + if ($key === "title" && isset($json->title) && $this->langs !== null && isset($this->langs->{$this->lang})) { + $langs = $this->langs->{$this->lang}->Labels; + foreach ($langs as $langsValue) { + if ($json->title === $langsValue->msgid) + $json->title = $langsValue->msgstr; + } + } } } } @@ -407,4 +429,4 @@ class pmDynaform return array('dsn' => $dsn, 'username' => DB_USER, 'password' => DB_PASS); } -} \ No newline at end of file +} diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/DynaForm.php b/workflow/engine/src/ProcessMaker/BusinessModel/DynaForm.php index 03e78ca33..09e058288 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/DynaForm.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/DynaForm.php @@ -1190,7 +1190,7 @@ class DynaForm $name = $_FILES["LANGUAGE"]["name"]; $name = explode(".", $name); $content = $i18n->getHeaders(); - $content["File-Name"] = $name; + $content["File-Name"] = $_FILES["LANGUAGE"]["name"]; $content["Labels"] = $translation; $dynaForm = new \Dynaform();