You are here

function admin_block in Admin 6.2

Implementation of hook_block().

File

./admin.module, line 25

Code

function admin_block($op = 'list', $delta = 0, $edit = array()) {
  switch ($op) {
    case 'list':
      $blocks = array();
      $blocks['create'] = array(
        'info' => t('Create content'),
        'cache' => BLOCK_NO_CACHE,
        'admin' => TRUE,
      );
      $blocks['theme'] = array(
        'info' => t('Theme switcher'),
        'cache' => BLOCK_CACHE_PER_ROLE,
        'admin' => TRUE,
      );
      $blocks['account'] = array(
        'info' => t('My Account'),
        'cache' => BLOCK_NO_CACHE,
        'admin' => TRUE,
      );
      if (module_exists('menu')) {
        $blocks['menu'] = array(
          'info' => t('Administration menu'),
          'cache' => BLOCK_CACHE_PER_ROLE,
          'admin' => TRUE,
        );
      }
      if (module_exists('devel')) {
        $blocks['devel'] = array(
          'info' => t('Devel'),
          'cache' => BLOCK_NO_CACHE,
          'admin' => TRUE,
        );
      }
      return $blocks;
    case 'view':
      switch ($delta) {
        case 'create':
          $item = menu_get_item('node/add');
          $links = system_admin_menu_block($item);
          if (!empty($links)) {
            $menu = array();
            foreach ($links as $key => $link) {
              $menu[$key] = array(
                'link' => $link,
                'below' => FALSE,
              );
            }
            return array(
              'subject' => !empty($item['title']) ? $item['title'] : t('Create content'),
              'content' => theme('admin_drilldown_menu_tree_output', $menu),
            );
          }
          break;
        case 'theme':
          module_load_include('inc', 'admin', 'includes/admin.theme');
          return admin_block_theme();
        case 'account':
          return admin_account_block();
        case 'menu':
          $item = menu_get_item('admin');
          if ($item && $item['access']) {
            return array(
              'subject' => !empty($item['title']) ? $item['title'] : t('Administer'),
              'content' => theme('admin_drilldown_menu_tree_output', menu_tree_all_data('admin')),
            );
          }
          break;
        case 'devel':
          module_load_include('inc', 'admin', 'includes/admin.devel');
          return admin_block_devel();
      }
      break;
  }
}