diff --git a/misc/drupal.css b/misc/drupal.css index 0c39de3ec361e4b62cd32de4d15eee5cf9211e5b..8d5ee0f3782aae8b3e384f728d6eb0d6903a2448 100644 --- a/misc/drupal.css +++ b/misc/drupal.css @@ -362,10 +362,10 @@ dl.multiselect .form-item { height: 1.75em; margin: 0px; } -#permissions td.module { +#permissions td.module, #blocks td.region { font-weight: bold; } -#permissions td.permission { +#permissions td.permission, #blocks td.block { padding-left: 2em; } #access-rules .access-type, #access-rules .rule-type { diff --git a/modules/block.module b/modules/block.module index 359a78e6c25b7202f1ce89dedcd47eb317094aa9..733e9a3e4c374ffb02a8ce16b3a412e7b11d5072 100644 --- a/modules/block.module +++ b/modules/block.module @@ -189,7 +189,9 @@ function block_admin_display() { } $header[] = array('data' => t('Operations'), 'colspan' => 2); - + $left = array(); + $right = array(); + $disabled = array(); foreach ($blocks as $block) { if ($block['module'] == 'block') { $delete = l(t('delete'), 'admin/block/delete/'. $block['delta']); @@ -198,13 +200,7 @@ function block_admin_display() { $delete = ''; } - $row = array($block['info'], - form_checkbox(NULL, $block['module'] .']['. $block['delta'] .'][status', 1, $block['status']), - form_weight(NULL, $block['module'] .']['. $block['delta'] .'][weight', $block['weight']), - form_radios(NULL, $block['module'] .']['. $block['delta'] .'][region', $block['region'], - array(t('left'), t('right')))); - - $row = array($block['info'], + $row = array(array('data' => $block['info'], 'class' => 'block'), form_checkbox(NULL, $block['module'] .']['. $block['delta'] .'][status', 1, $block['status']), form_weight(NULL, $block['module'] .']['. $block['delta'] .'][weight', $block['weight']), form_radios(NULL, $block['module'] .']['. $block['delta'] .'][region', $block['region'], @@ -215,10 +211,33 @@ function block_admin_display() { } $row[] = l(t('configure'), 'admin/block/configure/'. $block['module'] .'/'. $block['delta']); $row[] = $delete; - $rows[] = $row; + if ($block['status']) { + if ($block['region'] == 0) { + $left[] = $row; + } + else { + $right[] = $row; + } + } + else { + $disabled[] = $row; + } } - $output = theme('table', $header, $rows); + $rows = array(); + if (count($left)) { + $rows[] = array(array('data' => t('Left sidebar'), 'class' => 'region', 'colspan' => (module_exist('throttle') ? 7 : 6))); + $rows = array_merge($rows, $left); + } + if (count($right)) { + $rows[] = array(array('data' => t('Right sidabar'), 'class' => 'region', 'colspan' => (module_exist('throttle') ? 7 : 6))); + $rows = array_merge($rows, $right); + } + if (count($disabled)) { + $rows[] = array(array('data' => t('Disabled'), 'class' => 'region', 'colspan' => (module_exist('throttle') ? 7 : 6))); + $rows = array_merge($rows, $disabled); + } + $output = theme('table', $header, $rows, array('id' => 'blocks')); $output .= form_submit(t('Save blocks')); return form($output, 'post', url('admin/block')); diff --git a/modules/block/block.module b/modules/block/block.module index 359a78e6c25b7202f1ce89dedcd47eb317094aa9..733e9a3e4c374ffb02a8ce16b3a412e7b11d5072 100644 --- a/modules/block/block.module +++ b/modules/block/block.module @@ -189,7 +189,9 @@ function block_admin_display() { } $header[] = array('data' => t('Operations'), 'colspan' => 2); - + $left = array(); + $right = array(); + $disabled = array(); foreach ($blocks as $block) { if ($block['module'] == 'block') { $delete = l(t('delete'), 'admin/block/delete/'. $block['delta']); @@ -198,13 +200,7 @@ function block_admin_display() { $delete = ''; } - $row = array($block['info'], - form_checkbox(NULL, $block['module'] .']['. $block['delta'] .'][status', 1, $block['status']), - form_weight(NULL, $block['module'] .']['. $block['delta'] .'][weight', $block['weight']), - form_radios(NULL, $block['module'] .']['. $block['delta'] .'][region', $block['region'], - array(t('left'), t('right')))); - - $row = array($block['info'], + $row = array(array('data' => $block['info'], 'class' => 'block'), form_checkbox(NULL, $block['module'] .']['. $block['delta'] .'][status', 1, $block['status']), form_weight(NULL, $block['module'] .']['. $block['delta'] .'][weight', $block['weight']), form_radios(NULL, $block['module'] .']['. $block['delta'] .'][region', $block['region'], @@ -215,10 +211,33 @@ function block_admin_display() { } $row[] = l(t('configure'), 'admin/block/configure/'. $block['module'] .'/'. $block['delta']); $row[] = $delete; - $rows[] = $row; + if ($block['status']) { + if ($block['region'] == 0) { + $left[] = $row; + } + else { + $right[] = $row; + } + } + else { + $disabled[] = $row; + } } - $output = theme('table', $header, $rows); + $rows = array(); + if (count($left)) { + $rows[] = array(array('data' => t('Left sidebar'), 'class' => 'region', 'colspan' => (module_exist('throttle') ? 7 : 6))); + $rows = array_merge($rows, $left); + } + if (count($right)) { + $rows[] = array(array('data' => t('Right sidabar'), 'class' => 'region', 'colspan' => (module_exist('throttle') ? 7 : 6))); + $rows = array_merge($rows, $right); + } + if (count($disabled)) { + $rows[] = array(array('data' => t('Disabled'), 'class' => 'region', 'colspan' => (module_exist('throttle') ? 7 : 6))); + $rows = array_merge($rows, $disabled); + } + $output = theme('table', $header, $rows, array('id' => 'blocks')); $output .= form_submit(t('Save blocks')); return form($output, 'post', url('admin/block'));