diff --git a/include/class.dynamic_forms.php b/include/class.dynamic_forms.php index 65777740f83f68a77afa15937e404bd5b6cfe54a..8bb94d81c792c4c407b6b0801de9a44f7dbae4a4 100644 --- a/include/class.dynamic_forms.php +++ b/include/class.dynamic_forms.php @@ -1179,7 +1179,8 @@ class DynamicFormEntry extends VerySimpleModel { $v = $val[0]; if ($a->value == $v) continue; - $fields[$field->get('id')] = array($a->value, $val); + $before = $field->to_database($a->getValue()); + $fields[$field->get('id')] = array($before, $val); } return $fields; } diff --git a/include/class.forms.php b/include/class.forms.php index 97b52d7cfa7da05b8acc673069607bbc54452c88..73e89287bab0c1529558fdbe59fc3977ace94105 100644 --- a/include/class.forms.php +++ b/include/class.forms.php @@ -1326,10 +1326,10 @@ class ChoiceField extends FormField { } function whatChanged($before, $after) { - $before = (array) $before; - $after = (array) $after; - $added = array_diff($after, $before); - $deleted = array_diff($before, $after); + $B = (array) $before; + $A = (array) $after; + $added = array_diff($A, $B); + $deleted = array_diff($B, $A); $added = array_map(array($this, 'display'), $added); $deleted = array_map(array($this, 'display'), $deleted); @@ -1350,8 +1350,8 @@ class ChoiceField extends FormField { } else { $desc = sprintf( - __('changed to <strong>%1$s</strong>'), - $this->display($after)); + __('changed from <strong>%1$s</strong> to <strong>%2$s</strong>'), + $this->display($before), $this->display($after)); } return $desc; } @@ -1734,6 +1734,8 @@ class PriorityField extends ChoiceField { reset($id); $id = key($id); } + elseif (is_array($value)) + list($value, $id) = $value; elseif ($id === false) $id = $value; if ($id) diff --git a/scp/css/scp.css b/scp/css/scp.css index 6749ba729c88f8790accf62cb45a5297f4520196..6b2d2a33cff3c73f1c6014ed3ae13fdbb6c60634 100644 --- a/scp/css/scp.css +++ b/scp/css/scp.css @@ -2361,6 +2361,7 @@ td.indented { font-size: 1.1em; border: 1px solid #eee; vertical-align: top; + position: relative; } .thread-event .type-icon::after { content: "";