Index: block.module =================================================================== RCS file: /cvs/drupal/drupal/modules/block/block.module,v retrieving revision 1.246.2.6 diff -u -r1.246.2.6 block.module --- block.module 12 Sep 2007 07:49:35 -0000 1.246.2.6 +++ block.module 11 Nov 2007 01:10:05 -0000 @@ -242,7 +242,7 @@ if ($throttle) { $form[$i]['throttle'] = array('#type' => 'checkbox', '#default_value' => $block['throttle']); } - $form[$i]['configure'] = array('#value' => l(t('configure'), 'admin/build/block/configure/'. $block['module'] .'/'. $block['delta'])); + $form[$i]['configure'] = array('#value' => l(t('configure'), 'admin/build/block/configure/'. $block['module'] .'/'. $block['delta'] .'/'. $theme_key)); if ($block['module'] == 'block') { $form[$i]['delete'] = array('#value' => l(t('delete'), 'admin/build/block/delete/'. $block['delta'])); } @@ -365,12 +365,13 @@ /** * Menu callback; displays the block configuration form. */ -function block_admin_configure($module = NULL, $delta = 0) { +function block_admin_configure($module = NULL, $delta = 0, $theme = NULL) { $form['module'] = array('#type' => 'value', '#value' => $module); $form['delta'] = array('#type' => 'value', '#value' => $delta); + $form['theme'] = array('#type' => 'value', '#value' => $theme); - $edit = db_fetch_array(db_query("SELECT pages, visibility, custom, title FROM {blocks} WHERE module = '%s' AND delta = '%s'", $module, $delta)); + $edit = db_fetch_array(db_query("SELECT pages, visibility, custom, title FROM {blocks} WHERE module = '%s' AND delta = '%s' AND theme = '%s'", $module, $delta, $theme)); $form['block_settings'] = array( '#type' => 'fieldset', @@ -492,7 +493,7 @@ function block_admin_configure_submit($form_id, $form_values) { if (!form_get_errors()) { - db_query("UPDATE {blocks} SET visibility = %d, pages = '%s', custom = %d, title = '%s' WHERE module = '%s' AND delta = '%s'", $form_values['visibility'], trim($form_values['pages']), $form_values['custom'], $form_values['title'], $form_values['module'], $form_values['delta']); + db_query("UPDATE {blocks} SET visibility = %d, pages = '%s', custom = %d, title = '%s' WHERE module = '%s' AND delta = '%s' AND theme = '%s'", $form_values['visibility'], trim($form_values['pages']), $form_values['custom'], $form_values['title'], $form_values['module'], $form_values['delta'], $form_values['theme']); db_query("DELETE FROM {blocks_roles} WHERE module = '%s' AND delta = '%s'", $form_values['module'], $form_values['delta']); foreach (array_filter($form_values['roles']) as $rid) { db_query("INSERT INTO {blocks_roles} (rid, module, delta) VALUES (%d, '%s', '%s')", $rid, $form_values['module'], $form_values['delta']);