Index: modules/block/block.admin.inc =================================================================== RCS file: /cvs/drupal/drupal/modules/block/block.admin.inc,v retrieving revision 1.14 diff -u -p -r1.14 block.admin.inc --- modules/block/block.admin.inc 22 Dec 2007 23:24:24 -0000 1.14 +++ modules/block/block.admin.inc 2 Feb 2008 22:52:29 -0000 @@ -140,6 +140,10 @@ function _block_compare($a, $b) { * Menu callback; displays the block configuration form. */ function block_admin_configure(&$form_state, $module = NULL, $delta = 0) { + + drupal_add_js(drupal_get_path('module', 'block') .'/block.configure.js'); + // TODO: Insert default block title below. + drupal_add_js(array('blockConfigurationTitle' => ''), 'setting'); $form['module'] = array('#type' => 'value', '#value' => $module); $form['delta'] = array('#type' => 'value', '#value' => $delta); @@ -151,12 +155,21 @@ function block_admin_configure(&$form_st '#title' => t('Block specific settings'), '#collapsible' => TRUE, ); + // Don't show customize checkbox to custom blocks. + if ($module != 'block') { + $form['block_settings']['customize'] = array( + '#type' => 'checkbox', + '#title' => t('Customize block title'), + '#weight' => -18, + '#default_value' => empty($edit['title']) ? 0 : 1, + ); + } $form['block_settings']['title'] = array( '#type' => 'textfield', '#title' => t('Block title'), '#maxlength' => 64, '#description' => $module == 'block' ? t('The title of the block as shown to the user.') : t('Override the default title for the block. Use <none> to display no title, or leave blank to use the default block title.'), - '#default_value' => $edit['title'], + '#default_value' => $edit['title'] == '' ? '' : $edit['title'], '#weight' => -18, ); @@ -268,6 +281,16 @@ function block_admin_configure_validate( function block_admin_configure_submit($form, &$form_state) { if (!form_get_errors()) { + // Set title to blank if checkbox is not checked + if ($form_state['values']['customize'] == 0) { + $form_state['values']['title'] = ''; + } + elseif ($form_state['values']['customize'] == 1) { + // Set title to if the checkbox is checked and title is blank + if ((string) $form_state['values']['title'] == '') { + $form_state['values']['title'] = ''; + } + } db_query("UPDATE {blocks} SET visibility = %d, pages = '%s', custom = %d, title = '%s' WHERE module = '%s' AND delta = '%s'", $form_state['values']['visibility'], trim($form_state['values']['pages']), $form_state['values']['custom'], $form_state['values']['title'], $form_state['values']['module'], $form_state['values']['delta']); db_query("DELETE FROM {blocks_roles} WHERE module = '%s' AND delta = '%s'", $form_state['values']['module'], $form_state['values']['delta']); foreach (array_filter($form_state['values']['roles']) as $rid) {