#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');
|
$default = variable_get('theme_default', 'garland');
|
||||||
foreach (list_themes() as $key => $theme) {
|
foreach (list_themes() as $key => $theme) {
|
||||||
// only show enabled themes
|
|
||||||
if ($theme->status) {
|
|
||||||
$items['admin/build/block/list/'. $key] = array(
|
$items['admin/build/block/list/'. $key] = array(
|
||||||
'title' => check_plain($theme->info['name']),
|
'title' => check_plain($theme->info['name']),
|
||||||
'page arguments' => array($key),
|
'page arguments' => array($key),
|
||||||
'type' => $key == $default ? MENU_DEFAULT_LOCAL_TASK : MENU_LOCAL_TASK,
|
'type' => $key == $default ? MENU_DEFAULT_LOCAL_TASK : MENU_LOCAL_TASK,
|
||||||
'weight' => $key == $default ? -10 : 0,
|
'weight' => $key == $default ? -10 : 0,
|
||||||
'file' => 'block.admin.inc',
|
'file' => 'block.admin.inc',
|
||||||
|
'access callback' => '_block_themes_access',
|
||||||
|
'access arguments' => array($theme),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
return $items;
|
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().
|
* Implementation of hook_block().
|
||||||
*
|
*
|
||||||
|
|
Loading…
Reference in New Issue