HOR-366
This commit is contained in:
@@ -181,7 +181,6 @@ class pmDynaform
|
||||
case 'dataVariable':
|
||||
$dataVariable = (preg_match('/^\s*@.(.+)\s*$/', $json->dataVariable, $arrayMatch)) ?
|
||||
$arrayMatch[1] : $json->dataVariable;
|
||||
|
||||
if (isset($this->fields['APP_DATA'][$dataVariable]) &&
|
||||
is_array($this->fields['APP_DATA'][$dataVariable]) &&
|
||||
!empty($this->fields['APP_DATA'][$dataVariable])
|
||||
@@ -189,8 +188,7 @@ class pmDynaform
|
||||
foreach ($this->fields['APP_DATA'][$dataVariable] as $row) {
|
||||
$option = new stdClass();
|
||||
$option->value = $row[0];
|
||||
$option->label = (isset($row[1])) ? $row[1] : $row[0];
|
||||
|
||||
$option->label = isset($row[1]) ? $row[1] : "";
|
||||
$json->optionsSql[] = $option;
|
||||
}
|
||||
}
|
||||
@@ -207,7 +205,7 @@ class pmDynaform
|
||||
$row = $rs->getRow();
|
||||
$option = new stdClass();
|
||||
$option->value = $row[0];
|
||||
$option->label = isset($row[1]) ? $row[1] : $row[0];
|
||||
$option->label = isset($row[1]) ? $row[1] : "";
|
||||
$json->optionsSql[] = $option;
|
||||
}
|
||||
} catch (Exception $e) {
|
||||
@@ -234,7 +232,6 @@ class pmDynaform
|
||||
$json->data->value = $this->fields["APP_DATA"][$json->name];
|
||||
$json->data->label = $this->fields["APP_DATA"][$json->name];
|
||||
}
|
||||
$json->optionsSql = array();
|
||||
}
|
||||
if ($key === "type" && ($value === "dropdown")) {
|
||||
$json->data = new stdClass();
|
||||
@@ -287,7 +284,6 @@ class pmDynaform
|
||||
if (isset($this->fields["APP_DATA"][$json->name . "_label"])) {
|
||||
$json->data->label = $this->fields["APP_DATA"][$json->name . "_label"];
|
||||
}
|
||||
$json->optionsSql = array();
|
||||
}
|
||||
if ($key === "type" && ($value === "radio")) {
|
||||
$json->data = new stdClass();
|
||||
@@ -438,15 +434,15 @@ class pmDynaform
|
||||
}
|
||||
}
|
||||
//synchronize var_label
|
||||
if ($key === "type" && ($value === "dropdown" || $value === "suggest")) {
|
||||
if ($key === "type" && ($value === "dropdown" || $value === "suggest" || $value === "radio")) {
|
||||
if (isset($this->fields["APP_DATA"]["__VAR_CHANGED__"]) && in_array($json->name, explode(",", $this->fields["APP_DATA"]["__VAR_CHANGED__"]))) {
|
||||
foreach ($json->optionsSql as $io) {
|
||||
if ($json->data->value === $io->value) {
|
||||
if ($this->toStringNotNullValues($json->data->value) === $io->value) {
|
||||
$json->data->label = $io->label;
|
||||
}
|
||||
}
|
||||
foreach ($json->options as $io) {
|
||||
if ($json->data->value === $io->value) {
|
||||
if ($this->toStringNotNullValues($json->data->value) === $io->value) {
|
||||
$json->data->label = $io->label;
|
||||
}
|
||||
}
|
||||
@@ -466,14 +462,14 @@ class pmDynaform
|
||||
foreach ($dv as $idv) {
|
||||
foreach ($json->optionsSql as $os) {
|
||||
if ($os->value === $idv) {
|
||||
array_push($dataValue, $os->value);
|
||||
array_push($dataLabel, $os->label);
|
||||
$dataValue[] = $os->value;
|
||||
$dataLabel[] = $os->label;
|
||||
}
|
||||
}
|
||||
foreach ($json->options as $os) {
|
||||
if ($os->value === $idv) {
|
||||
array_push($dataValue, $os->value);
|
||||
array_push($dataLabel, $os->label);
|
||||
$dataValue[] = $os->value;
|
||||
$dataLabel[] = $os->label;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -488,6 +484,10 @@ class pmDynaform
|
||||
$_SESSION["TRIGGER_DEBUG"]["DATA"][] = Array("key" => $json->name . "_label", "value" => $json->data->label);
|
||||
}
|
||||
}
|
||||
//clear optionsSql
|
||||
if ($key === "type" && ($value === "text" || $value === "textarea" || $value === "hidden" || $value === "suggest")) {
|
||||
$json->optionsSql = array();
|
||||
}
|
||||
//grid
|
||||
if ($key === "type" && ($value === "grid")) {
|
||||
if (isset($this->fields["APP_DATA"][$json->name])) {
|
||||
@@ -1528,4 +1528,18 @@ class pmDynaform
|
||||
return array('dsn' => $dsn, 'username' => DB_USER, 'password' => DB_PASS);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the value converted to string if it is not null.
|
||||
*
|
||||
* @param string $string
|
||||
* @return string
|
||||
*/
|
||||
private function toStringNotNullValues($value)
|
||||
{
|
||||
if (is_null($value)) {
|
||||
return "";
|
||||
}
|
||||
return (string) $value;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user