summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNeil Drumm <drumm@3064.no-reply.drupal.org>2006-05-16 01:55:57 +0000
committerNeil Drumm <drumm@3064.no-reply.drupal.org>2006-05-16 01:55:57 +0000
commit58db2b27a40bc6446d040c7476fbe742fb1852fe (patch)
treebdbbca9a41e49690a2edea025b3f1659974afb2e
parenta3b821604830624668b70fdd1ad726d8933c8e68 (diff)
downloadbrdo-58db2b27a40bc6446d040c7476fbe742fb1852fe.tar.gz
brdo-58db2b27a40bc6446d040c7476fbe742fb1852fe.tar.bz2
#62829 by Jaza, Multi selects in hook_settings are broken
-rw-r--r--includes/form.inc13
1 files changed, 9 insertions, 4 deletions
diff --git a/includes/form.inc b/includes/form.inc
index 35333e5fe..310270112 100644
--- a/includes/form.inc
+++ b/includes/form.inc
@@ -344,11 +344,16 @@ function form_builder($form_id, $form) {
$form['#value'] = !empty($edit) ? $form['#return_value'] : 0;
break;
case 'select':
- if (isset($edit)) {
- $form['#value'] = $edit;
+ if (isset($form['#multiple']) && $form['#multiple']) {
+ if (isset($edit) && is_array($edit)) {
+ $form['#value'] = drupal_map_assoc($edit);
+ }
+ else {
+ $form['#value'] = array();
+ }
}
- elseif (isset($form['#multiple']) && $form['#multiple']) {
- $form['#value'] = array();
+ elseif (isset($edit)) {
+ $form['#value'] = $edit;
}
break;
case 'textfield':