diff --git a/workflow/engine/classes/class.pmDynaform.php b/workflow/engine/classes/class.pmDynaform.php index 6c0301310..72f95cf69 100644 --- a/workflow/engine/classes/class.pmDynaform.php +++ b/workflow/engine/classes/class.pmDynaform.php @@ -57,7 +57,7 @@ class pmDynaform $a->addSelectColumn(DynaformPeer::PRO_UID); $a->addSelectColumn(DynaformPeer::DYN_UID); $a->add(DynaformPeer::DYN_UID, $this->fields["CURRENT_DYNAFORM"], Criteria::EQUAL); - $ds = ProcessPeer::doSelectRS($a); + $ds = DynaformPeer::doSelectRS($a); $ds->setFetchmode(ResultSet::FETCHMODE_ASSOC); $ds->next(); $row = $ds->getRow(); @@ -177,7 +177,7 @@ class pmDynaform array_push($json->optionsSql, $option); } } catch (Exception $e) { - + } } if (isset($json->options[0])) { @@ -199,6 +199,25 @@ class pmDynaform if ($json->data["label"] === "") { $json->data["label"] = $json->data["value"]; } + //synchronize var_label + if (isset($this->fields["APP_DATA"]["__VAR_CHANGED__"]) && + in_array($json->name, explode(",", $this->fields["APP_DATA"]["__VAR_CHANGED__"]))) { + $json->data["label"] = $json->data["value"]; + foreach ($json->options as $io) { + if ($json->data["value"] === $io->value) { + $json->data["label"] = $io->label; + } + } + foreach ($json->optionsSql as $io) { + if ($json->data["value"] === $io["value"]) { + $json->data["label"] = $io["label"]; + } + } + $_SESSION["TRIGGER_DEBUG"]["DATA"][] = Array( + "key" => $json->name . "_label", + "value" => $json->data["label"] + ); + } } if ($key === "type" && ($value === "checkbox")) { $json->data = array( diff --git a/workflow/engine/classes/class.pmScript.php b/workflow/engine/classes/class.pmScript.php index 24da4f0aa..87c4b7ddf 100644 --- a/workflow/engine/classes/class.pmScript.php +++ b/workflow/engine/classes/class.pmScript.php @@ -346,6 +346,7 @@ class PMScript $sScript = "try {\n" . $sScript . "\n} catch (Exception \$oException) {\n " . " \$this->aFields['__ERROR__'] = utf8_encode(\$oException->getMessage());\n}"; //echo '
-->'; print_r($this->aFields); echo '<---
'; $this->executeAndCatchErrors( $sScript, $this->sScript ); + $this->aFields["__VAR_CHANGED__"] = implode(",", $this->affected_fields); for ($i = 0; $i < count( $this->affected_fields ); $i ++) { $_SESSION['TRIGGER_DEBUG']['DATA'][] = Array ('key' => $this->affected_fields[$i],'value' => isset( $this->aFields[$this->affected_fields[$i]] ) ? $this->aFields[$this->affected_fields[$i]] : '' );