#192779 follow up by Lynn: only show enabled themes on block admin page *and* the admin theme (which might not be enabled)
parent
fd7e7eb55e
commit
7ae4e0b846
|
@ -158,20 +158,26 @@ function block_menu() {
|
|||
);
|
||||
$default = variable_get('theme_default', 'garland');
|
||||
foreach (list_themes() as $key => $theme) {
|
||||
// only show enabled themes
|
||||
if ($theme->status) {
|
||||
$items['admin/build/block/list/'. $key] = array(
|
||||
'title' => check_plain($theme->info['name']),
|
||||
'page arguments' => array($key),
|
||||
'type' => $key == $default ? MENU_DEFAULT_LOCAL_TASK : MENU_LOCAL_TASK,
|
||||
'weight' => $key == $default ? -10 : 0,
|
||||
'file' => 'block.admin.inc',
|
||||
);
|
||||
}
|
||||
$items['admin/build/block/list/'. $key] = array(
|
||||
'title' => check_plain($theme->info['name']),
|
||||
'page arguments' => array($key),
|
||||
'type' => $key == $default ? MENU_DEFAULT_LOCAL_TASK : MENU_LOCAL_TASK,
|
||||
'weight' => $key == $default ? -10 : 0,
|
||||
'file' => 'block.admin.inc',
|
||||
'access callback' => '_block_themes_access',
|
||||
'access arguments' => array($theme),
|
||||
);
|
||||
}
|
||||
return $items;
|
||||
}
|
||||
|
||||
/**
|
||||
* Menu item access callback - only admin or enabled themes can be accessed
|
||||
*/
|
||||
function _block_themes_access($theme) {
|
||||
return user_access('administer blocks') && ($theme->status || $theme->name == variable_get('admin_theme', '0'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Implementation of hook_block().
|
||||
*
|
||||
|
|
Loading…
Reference in New Issue