diff options
Diffstat (limited to 'modules')
-rw-r--r-- | modules/locale.module | 4 | ||||
-rw-r--r-- | modules/locale/locale.module | 4 | ||||
-rw-r--r-- | modules/node.module | 1 | ||||
-rw-r--r-- | modules/node/node.module | 1 | ||||
-rw-r--r-- | modules/profile.module | 2 | ||||
-rw-r--r-- | modules/profile/profile.module | 2 | ||||
-rw-r--r-- | modules/system.module | 15 | ||||
-rw-r--r-- | modules/system/system.module | 15 | ||||
-rw-r--r-- | modules/user.module | 4 | ||||
-rw-r--r-- | modules/user/user.module | 4 |
10 files changed, 34 insertions, 18 deletions
diff --git a/modules/locale.module b/modules/locale.module index c41be7a3c..be458bd15 100644 --- a/modules/locale.module +++ b/modules/locale.module @@ -108,7 +108,9 @@ function locale_user($type, $edit, &$user, $category = NULL) { $user->language = key($languages['name']); } $languages['name'] = array_map('check_plain', $languages['name']); - return array(array('title' => t('Interface language settings'), 'data' => $form['locale_user'] = array('#type' => 'radios', '#title' => t('Language'), '#default_value' => $user->language, '#options' => $languages['name'], '#description' => t('Selecting a different locale will change the interface language of the site.')))); + $form['locale'] = array('#title' => t('Interface language settings'), '#type' => 'fieldset', '#weight' => 1); + $form['locale']['language'] = array('#type' => 'radios', '#title' => t('Language'), '#default_value' => $user->language, '#options' => $languages['name'], '#description' => t('Selecting a different locale will change the interface language of the site.')); + return $form; } } diff --git a/modules/locale/locale.module b/modules/locale/locale.module index c41be7a3c..be458bd15 100644 --- a/modules/locale/locale.module +++ b/modules/locale/locale.module @@ -108,7 +108,9 @@ function locale_user($type, $edit, &$user, $category = NULL) { $user->language = key($languages['name']); } $languages['name'] = array_map('check_plain', $languages['name']); - return array(array('title' => t('Interface language settings'), 'data' => $form['locale_user'] = array('#type' => 'radios', '#title' => t('Language'), '#default_value' => $user->language, '#options' => $languages['name'], '#description' => t('Selecting a different locale will change the interface language of the site.')))); + $form['locale'] = array('#title' => t('Interface language settings'), '#type' => 'fieldset', '#weight' => 1); + $form['locale']['language'] = array('#type' => 'radios', '#title' => t('Language'), '#default_value' => $user->language, '#options' => $languages['name'], '#description' => t('Selecting a different locale will change the interface language of the site.')); + return $form; } } diff --git a/modules/node.module b/modules/node.module index 611389ea1..da0f2d9e1 100644 --- a/modules/node.module +++ b/modules/node.module @@ -1083,6 +1083,7 @@ function node_types_configure($type = NULL) { $form['workflow'] = array('#type' => 'fieldset', '#title' =>t('Workflow')); $form['workflow'] = array_merge($form['workflow'], node_invoke_nodeapi($node, 'settings')); + $form['array_filter'] = array('#type' => 'value', '#value' => TRUE); return system_settings_form($type . '_node_settings', $form); } else { diff --git a/modules/node/node.module b/modules/node/node.module index 611389ea1..da0f2d9e1 100644 --- a/modules/node/node.module +++ b/modules/node/node.module @@ -1083,6 +1083,7 @@ function node_types_configure($type = NULL) { $form['workflow'] = array('#type' => 'fieldset', '#title' =>t('Workflow')); $form['workflow'] = array_merge($form['workflow'], node_invoke_nodeapi($node, 'settings')); + $form['array_filter'] = array('#type' => 'value', '#value' => TRUE); return system_settings_form($type . '_node_settings', $form); } else { diff --git a/modules/profile.module b/modules/profile.module index c49a414b7..993d70f56 100644 --- a/modules/profile.module +++ b/modules/profile.module @@ -298,7 +298,7 @@ function profile_view_profile($user) { $description = ($field->visibility == PROFILE_PRIVATE) ? t('The content of this field is private and only visible to yourself.') : ''; $title = ($field->type != 'checkbox') ? check_plain($field->title) : ''; $form = array('#type' => 'item', '#title' => $title, '#value' => $value, '#description' => $description); - $fields[$field->category][$field->name] = form_render(_form_builder($form)); + $fields[$field->category][$field->name] = drupal_get_form('profile_view_profile_' . $field->category .'_'. $field->name, $form, 'profile_view_profile'); } } diff --git a/modules/profile/profile.module b/modules/profile/profile.module index c49a414b7..993d70f56 100644 --- a/modules/profile/profile.module +++ b/modules/profile/profile.module @@ -298,7 +298,7 @@ function profile_view_profile($user) { $description = ($field->visibility == PROFILE_PRIVATE) ? t('The content of this field is private and only visible to yourself.') : ''; $title = ($field->type != 'checkbox') ? check_plain($field->title) : ''; $form = array('#type' => 'item', '#title' => $title, '#value' => $value, '#description' => $description); - $fields[$field->category][$field->name] = form_render(_form_builder($form)); + $fields[$field->category][$field->name] = drupal_get_form('profile_view_profile_' . $field->category .'_'. $field->name, $form, 'profile_view_profile'); } } diff --git a/modules/system.module b/modules/system.module index d134a818b..8fd77e98f 100644 --- a/modules/system.module +++ b/modules/system.module @@ -188,7 +188,7 @@ function system_user($type, $edit, &$user, $category = NULL) { $form['locale'] = array('#type'=>'item', '#title' => t('Locale settings'), '#weight' => 6); $form['locale']['timezone'] = array( '#type' => 'select', '#title' => t('Time zone'), '#default_value' => strlen($edit['timezone']) ? $edit['timezone'] : variable_get('date_default_timezone', 0), - '#options' => $zones, descriptions => t('Select your current local time. Dates and times throughout this site will be displayed using this time zone.') + '#options' => $zones, '#description' => t('Select your current local time. Dates and times throughout this site will be displayed using this time zone.') ); } return $form; @@ -684,7 +684,9 @@ function system_settings_form($form_id, $form) { /** * Execute the system_settings_form. * - * Due to specific handling of checkboxes, this function does not handle 'tree' based forms. + * If you want node type configure style handling of your checkboxes, + * add an array_filter value to your form. + * */ function system_settings_form_execute($form_id, $values) { $op = isset($_POST['op']) ? $_POST['op'] : ''; @@ -694,7 +696,7 @@ function system_settings_form_execute($form_id, $values) { variable_del($key); } else { - if (is_array($value)) { + if (is_array($value) && isset($values['array_filter'])) { $value = array_keys(array_filter($value)); } variable_set($key, $value); @@ -1057,11 +1059,14 @@ function system_theme_settings($key = '') { $disabled['toggle_search'] = true; } - $form['toggles'] = array('#type' => 'fieldset', '#title' => t('Toggle display'), '#description' => t('Enable or disable the display of certain page elements.')); + $form['theme_settings'] = array('#type' => 'fieldset', '#title' => t('Toggle display'), '#description' => t('Enable or disable the display of certain page elements.'), '#tree' => TRUE); foreach ($toggles as $name => $title) { if ((!$key) || in_array($name, $features)) { // disable search box if search.module is disabled - $form['toggles'][$name] = array('#type' => 'checkbox', '#title' => $title, '#default_value' => $settings[$name], '#attributes' => isset($disabled[$name]) ? array('disabled' => 'disabled') : NULL); + $form['theme_settings'][$name] = array('#type' => 'checkbox', '#title' => $title, '#default_value' => $settings[$name]); + if (isset($disabled[$name])) { + $form['theme_settings'][$name]['#attributes'] = array('disabled' => 'disabled'); + } } } diff --git a/modules/system/system.module b/modules/system/system.module index d134a818b..8fd77e98f 100644 --- a/modules/system/system.module +++ b/modules/system/system.module @@ -188,7 +188,7 @@ function system_user($type, $edit, &$user, $category = NULL) { $form['locale'] = array('#type'=>'item', '#title' => t('Locale settings'), '#weight' => 6); $form['locale']['timezone'] = array( '#type' => 'select', '#title' => t('Time zone'), '#default_value' => strlen($edit['timezone']) ? $edit['timezone'] : variable_get('date_default_timezone', 0), - '#options' => $zones, descriptions => t('Select your current local time. Dates and times throughout this site will be displayed using this time zone.') + '#options' => $zones, '#description' => t('Select your current local time. Dates and times throughout this site will be displayed using this time zone.') ); } return $form; @@ -684,7 +684,9 @@ function system_settings_form($form_id, $form) { /** * Execute the system_settings_form. * - * Due to specific handling of checkboxes, this function does not handle 'tree' based forms. + * If you want node type configure style handling of your checkboxes, + * add an array_filter value to your form. + * */ function system_settings_form_execute($form_id, $values) { $op = isset($_POST['op']) ? $_POST['op'] : ''; @@ -694,7 +696,7 @@ function system_settings_form_execute($form_id, $values) { variable_del($key); } else { - if (is_array($value)) { + if (is_array($value) && isset($values['array_filter'])) { $value = array_keys(array_filter($value)); } variable_set($key, $value); @@ -1057,11 +1059,14 @@ function system_theme_settings($key = '') { $disabled['toggle_search'] = true; } - $form['toggles'] = array('#type' => 'fieldset', '#title' => t('Toggle display'), '#description' => t('Enable or disable the display of certain page elements.')); + $form['theme_settings'] = array('#type' => 'fieldset', '#title' => t('Toggle display'), '#description' => t('Enable or disable the display of certain page elements.'), '#tree' => TRUE); foreach ($toggles as $name => $title) { if ((!$key) || in_array($name, $features)) { // disable search box if search.module is disabled - $form['toggles'][$name] = array('#type' => 'checkbox', '#title' => $title, '#default_value' => $settings[$name], '#attributes' => isset($disabled[$name]) ? array('disabled' => 'disabled') : NULL); + $form['theme_settings'][$name] = array('#type' => 'checkbox', '#title' => $title, '#default_value' => $settings[$name]); + if (isset($disabled[$name])) { + $form['theme_settings'][$name]['#attributes'] = array('disabled' => 'disabled'); + } } } diff --git a/modules/user.module b/modules/user.module index 6de46309a..a68b0f471 100644 --- a/modules/user.module +++ b/modules/user.module @@ -476,7 +476,7 @@ function user_user($type, &$edit, &$user, $category = NULL) { } if ($type == 'validate' && $category == 'account') { - return user_edit_validate(arg(1), $edit); + return _user_edit_validate(arg(1), $edit); } if ($type == 'categories') { @@ -1172,7 +1172,7 @@ function user_edit_form($uid, $edit) { return $form; } -function user_edit_validate($uid, &$edit) { +function _user_edit_validate($uid, &$edit) { // Validate the username: if ($error = user_validate_name($edit['name'])) { form_set_error('name', $error); diff --git a/modules/user/user.module b/modules/user/user.module index 6de46309a..a68b0f471 100644 --- a/modules/user/user.module +++ b/modules/user/user.module @@ -476,7 +476,7 @@ function user_user($type, &$edit, &$user, $category = NULL) { } if ($type == 'validate' && $category == 'account') { - return user_edit_validate(arg(1), $edit); + return _user_edit_validate(arg(1), $edit); } if ($type == 'categories') { @@ -1172,7 +1172,7 @@ function user_edit_form($uid, $edit) { return $form; } -function user_edit_validate($uid, &$edit) { +function _user_edit_validate($uid, &$edit) { // Validate the username: if ($error = user_validate_name($edit['name'])) { form_set_error('name', $error); |