From 5094312d3b76d41aaf41c6a5c9dab04ccb7d1590 Mon Sep 17 00:00:00 2001 From: Dries Buytaert Date: Tue, 22 May 2007 05:52:17 +0000 Subject: - Patch #140218 by Crell et al: make it possible to move page callbacks to their own include files. --- modules/system/system.admin.inc | 52 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 modules/system/system.admin.inc (limited to 'modules/system/system.admin.inc') diff --git a/modules/system/system.admin.inc b/modules/system/system.admin.inc new file mode 100644 index 000000000..41ed65edb --- /dev/null +++ b/modules/system/system.admin.inc @@ -0,0 +1,52 @@ +status report 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; +} -- cgit v1.2.3