? 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'), );