? sites.repository
? profiles/atrus
? profiles/developer
? profiles/ermarian
? profiles/gandalf
? profiles/small_business
? profiles/zebra
? sites/all
? sites/default
? sites/dev.ermarian.net.dhtml_menu
? sites/embassy.ermarian.net.aurora
? sites/polaris.ermarian.net.d6
? sites/polaris.ermarian.net.d7
Index: includes/form.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/form.inc,v
retrieving revision 1.301
diff -u -p -r1.301 form.inc
--- includes/form.inc 3 Nov 2008 09:54:43 -0000 1.301
+++ includes/form.inc 5 Nov 2008 17:08:05 -0000
@@ -1435,7 +1435,13 @@ function form_select_options($element, $
else {
$selected = '';
}
- $options .= '';
+ if (empty($selected) && isset($element['#disabled_options']) && in_array($key, $element['#disabled_options'])) {
+ $disabled = ' disabled="disabled"';
+ }
+ else {
+ $disabled = '';
+ }
+ $options .= '';
}
}
return $options;
@@ -1766,6 +1772,9 @@ function form_process_radios($element) {
'#id' => form_clean_id('edit-' . implode('-', $parents_for_id)),
'#ahah' => isset($element['#ahah']) ? $element['#ahah'] : NULL,
);
+ if ($key != $element['#default_value'] && in_array($key, $element['#disabled_options'])) {
+ $element[$key]['#attributes']['disabled'] = 'disabled';
+ }
}
}
}
Index: modules/system/system.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/system/system.module,v
retrieving revision 1.635
diff -u -p -r1.635 system.module
--- modules/system/system.module 31 Oct 2008 02:18:22 -0000 1.635
+++ modules/system/system.module 5 Nov 2008 17:08:06 -0000
@@ -265,6 +265,7 @@ function system_elements() {
$type['radios'] = array(
'#input' => TRUE,
+ '#disabled_options' => array(),
'#process' => array('form_process_radios'),
);
@@ -277,6 +278,7 @@ function system_elements() {
$type['checkboxes'] = array(
'#input' => TRUE,
'#tree' => TRUE,
+ '#disabled_options' => array(),
'#process' => array('form_process_checkboxes'),
);
@@ -290,6 +292,7 @@ function system_elements() {
'#input' => TRUE,
'#size' => 0,
'#multiple' => FALSE,
+ '#disabled_options' => array(),
'#process' => array('form_process_ahah'),
);