fix import merge

fix <select> handling (hopefully this time for real)
This commit is contained in:
Crack
2010-08-05 21:01:59 +02:00
parent 5dc9f17d39
commit 9d4c5409c6
3 changed files with 13 additions and 13 deletions

View File

@@ -461,9 +461,14 @@ class FormDisplay
*/
private function _validateSelect(&$value, array $allowed)
{
$value_cmp = is_bool($value)
? (int) $value
: $value;
foreach ($allowed as $vk => $v) {
// force string comparison so that 0 isn't equal to any string
if ((string)$value == (string)$vk) {
// equality comparison only if both values are numeric or not numeric
// (allows to skip 0 == 'string' equalling to true) or identity (for string-string)
if (($vk == $value && !(is_numeric($value_cmp) xor is_numeric($vk)))
|| $vk === $value) {
settype($value, gettype($v));
return true;
}