function page_manager_page_admin_summary in Chaos Tool Suite (ctools) 7
Same name and namespace in other branches
- 6 page_manager/plugins/tasks/page.inc \page_manager_page_admin_summary()
Provide a nice administrative summary of the page so an admin can see at a glance what this page does and how it is configured.
1 string reference to 'page_manager_page_admin_summary'
- page_manager_page_build_subtask in page_manager/
plugins/ tasks/ page.inc - Build a subtask array for a given page.
File
- page_manager/
plugins/ tasks/ page.inc, line 561 - Handle the 'page' task, which creates pages with arbitrary tasks and lets handlers decide how they will be rendered.
Code
function page_manager_page_admin_summary($task, $subtask) {
$task_name = page_manager_make_task_name($task['name'], $subtask['name']);
$page = $subtask['subtask'];
$output = '';
$rows = array();
$rows[] = array(
array(
'class' => array(
'page-summary-label',
),
'data' => t('Storage'),
),
array(
'class' => array(
'page-summary-data',
),
'data' => $subtask['storage'],
),
array(
'class' => array(
'page-summary-operation',
),
'data' => '',
),
);
if (!empty($page->disabled)) {
$link = l(t('Enable'), page_manager_edit_url($task_name, array(
'handlers',
$page->name,
'actions',
'enable',
)));
$text = t('Disabled');
}
else {
$link = l(t('Disable'), page_manager_edit_url($task_name, array(
'handlers',
$page->name,
'actions',
'disable',
)));
$text = t('Enabled');
}
$rows[] = array(
array(
'class' => array(
'page-summary-label',
),
'data' => t('Status'),
),
array(
'class' => array(
'page-summary-data',
),
'data' => $text,
),
array(
'class' => array(
'page-summary-operation',
),
'data' => $link,
),
);
$path = array();
foreach (explode('/', $page->path) as $bit) {
if ($bit[0] != '!') {
$path[] = $bit;
}
}
$path = implode('/', $path);
$front = variable_get('site_frontpage', 'node');
$link = l(t('Edit'), page_manager_edit_url($task_name, array(
'settings',
'basic',
)));
$message = '';
if ($path == $front) {
$message = t('This is your site home page.');
}
elseif (!empty($page->make_frontpage)) {
$message = t('This page is set to become your site home page.');
}
if ($message) {
$rows[] = array(
array(
'class' => array(
'page-summary-data',
),
'data' => $message,
'colspan' => 2,
),
array(
'class' => array(
'page-summary-operation',
),
'data' => $link,
),
);
}
if (strpos($path, '%') === FALSE) {
$path = l('/' . $page->path, $path);
}
else {
$path = '/' . $page->path;
}
$rows[] = array(
array(
'class' => array(
'page-summary-label',
),
'data' => t('Path'),
),
array(
'class' => array(
'page-summary-data',
),
'data' => $path,
),
array(
'class' => array(
'page-summary-operation',
),
'data' => $link,
),
);
if (empty($access['plugins'])) {
$access['plugins'] = array();
}
$contexts = page_manager_page_get_contexts($task, $subtask);
$access = ctools_access_group_summary($page->access, $contexts);
if ($access) {
$access = t('Accessible only if @conditions.', array(
'@conditions' => $access,
));
}
else {
$access = t('This page is publicly accessible.');
}
$link = l(t('Edit'), page_manager_edit_url($task_name, array(
'settings',
'access',
)));
$rows[] = array(
array(
'class' => array(
'page-summary-label',
),
'data' => t('Access'),
),
array(
'class' => array(
'page-summary-data',
),
'data' => $access,
),
array(
'class' => array(
'page-summary-operation',
),
'data' => $link,
),
);
$menu_options = array(
'none' => t('No menu entry.'),
'normal' => t('Normal menu entry.'),
'tab' => t('Menu tab.'),
'default tab' => t('Default menu tab.'),
'action' => t('Local action'),
);
if (!empty($page->menu)) {
$menu = $menu_options[$page->menu['type']];
if ($page->menu['type'] != 'none') {
$menu .= ' ' . t('Title: %title.', array(
'%title' => $page->menu['title'],
));
switch ($page->menu['type']) {
case 'default tab':
$menu .= ' ' . t('Parent title: %title.', array(
'%title' => $page->menu['parent']['title'],
));
break;
case 'normal':
if (module_exists('menu')) {
$menus = menu_get_menus();
$menu .= ' ' . t('Menu block: %title.', array(
'%title' => $menus[$page->menu['name']],
));
}
break;
}
}
}
else {
$menu = t('No menu entry');
}
$link = l(t('Edit'), page_manager_edit_url($task_name, array(
'settings',
'menu',
)));
$rows[] = array(
array(
'class' => array(
'page-summary-label',
),
'data' => t('Menu'),
),
array(
'class' => array(
'page-summary-data',
),
'data' => $menu,
),
array(
'class' => array(
'page-summary-operation',
),
'data' => $link,
),
);
$output .= theme('table', array(
'rows' => $rows,
'attributes' => array(
'id' => 'page-manager-page-summary',
),
));
return $output;
}