53 lines
1.9 KiB
PHP
53 lines
1.9 KiB
PHP
|
<?php
|
||
|
|
||
|
/**
|
||
|
* Provide the administration overview page.
|
||
|
*/
|
||
|
function system_main_admin_page($arg = NULL) {
|
||
|
// If we received an argument, they probably meant some other page.
|
||
|
// Let's 404 them since the menu system cannot be told we do not
|
||
|
// accept arguments.
|
||
|
if (isset($arg) && substr($arg, 0, 3) != 'by-') {
|
||
|
return drupal_not_found();
|
||
|
}
|
||
|
|
||
|
// Check for status report errors.
|
||
|
if (system_status(TRUE)) {
|
||
|
drupal_set_message(t('One or more problems were detected with your Drupal installation. Check the <a href="@status">status report</a> for more information.', array('@status' => url('admin/logs/status'))), 'error');
|
||
|
}
|
||
|
$result = db_query("SELECT * FROM {menu_links} ml INNER JOIN {menu_router} m ON ml.router_path = m.path
|
||
|
WHERE ml.href like 'admin/%' AND ml.href != 'admin/help' AND ml.depth = 2 AND ml.menu_name = 'navigation'
|
||
|
ORDER BY p1 ASC, p2 ASC, p3 ASC");
|
||
|
while ($item = db_fetch_object($result)) {
|
||
|
_menu_link_translate($item);
|
||
|
if (!$item->access) {
|
||
|
continue;
|
||
|
}
|
||
|
$block = (array)$item;
|
||
|
$block['content'] = '';
|
||
|
if ($item->block_callback && function_exists($item->block_callback)) {
|
||
|
$function = $item->block_callback;
|
||
|
$block['content'] .= $function();
|
||
|
}
|
||
|
$block['content'] .= theme('admin_block_content', system_admin_menu_block($item));
|
||
|
$blocks[] = $block;
|
||
|
}
|
||
|
return theme('admin_page', $blocks);
|
||
|
}
|
||
|
|
||
|
|
||
|
/**
|
||
|
* Provide a single block from the administration menu as a page.
|
||
|
* This function is often a destination for these blocks.
|
||
|
* For example, 'admin/content/types' needs to have a destination to be valid
|
||
|
* in the Drupal menu system, but too much information there might be
|
||
|
* hidden, so we supply the contents of the block.
|
||
|
*/
|
||
|
function system_admin_menu_block_page() {
|
||
|
$item = menu_get_item();
|
||
|
$content = system_admin_menu_block($item);
|
||
|
|
||
|
$output = theme('admin_block_content', $content);
|
||
|
return $output;
|
||
|
}
|