You are here

function theme_admin_page in Drupal 6

Same name and namespace in other branches
  1. 5 modules/system/system.module \theme_admin_page()
  2. 7 modules/system/system.admin.inc \theme_admin_page()

This function formats an administrative page for viewing.

Parameters

$blocks: An array of blocks to display. Each array should include a 'title', a 'description', a formatted 'content' and a 'position' which will control which container it will be in. This is usually 'left' or 'right'.

Related topics

1 theme call to theme_admin_page()
system_main_admin_page in modules/system/system.admin.inc
Menu callback; Provide the administration overview page.

File

modules/system/system.admin.inc, line 1917
Admin page callbacks for the system module.

Code

function theme_admin_page($blocks) {
  $stripe = 0;
  $container = array();
  foreach ($blocks as $block) {
    if ($block_output = theme('admin_block', $block)) {
      if (empty($block['position'])) {

        // perform automatic striping.
        $block['position'] = ++$stripe % 2 ? 'left' : 'right';
      }
      if (!isset($container[$block['position']])) {
        $container[$block['position']] = '';
      }
      $container[$block['position']] .= $block_output;
    }
  }
  $output = '<div class="admin clear-block">';
  $output .= '<div class="compact-link">';
  if (system_admin_compact_mode()) {
    $output .= l(t('Show descriptions'), 'admin/compact/off', array(
      'attributes' => array(
        'title' => t('Expand layout to include descriptions.'),
      ),
    ));
  }
  else {
    $output .= l(t('Hide descriptions'), 'admin/compact/on', array(
      'attributes' => array(
        'title' => t('Compress layout by hiding descriptions.'),
      ),
    ));
  }
  $output .= '</div>';
  foreach ($container as $id => $data) {
    $output .= '<div class="' . $id . ' clear-block">';
    $output .= $data;
    $output .= '</div>';
  }
  $output .= '</div>';
  return $output;
}