template_preprocess_panels_dashboard

  1. drupal
    1. 6 callbacks.inc function
    2. 7 callbacks.inc function
Drupal 7 template_preprocess_panels_dashboard(&$vars)

File

sites/all/modules/panels/includes/callbacks.inc, line 86
callbacks.inc Minor menu callbacks for Panels helpers.

Code

function template_preprocess_panels_dashboard(&$vars) {
  ctools_add_css('panels-dashboard', 'panels');
  ctools_include('plugins');

  $vars['image_path'] = ctools_image_path('', 'panels');

  $vars['links'] = array();
  $vars['blocks'] = array();

  foreach (module_implements('panels_dashboard_blocks') as $module) {
    $function = $module . '_panels_dashboard_blocks';
    $function($vars);
  }

  // Add in any default links for modules that are not active
  panels_dashboard_final_blocks($vars);

  // If page manager module is enabled, add a very low eight block to
  // list the page wizards.
  if (module_exists('page_manager')) {
    $vars['blocks']['wizards'] = array(
      'weight' => -101, 
      'section' => 'right', 
      'title' => t('Page wizards'), 
      'content' => '', 
      'class' => 'dashboard-wizards',
    );

    ctools_include('page-wizard');
    $plugins = page_manager_get_page_wizards();
    uasort($plugins, 'ctools_plugin_sort');

    foreach ($plugins as $id => $plugin) {
      if (isset($plugin['type']) && $plugin['type'] == 'panels') {
        $link = array(
          'title' => l($plugin['title'], 'admin/structure/pages/wizard/' . $id), 
          'description' => $plugin['description'],
        );

        $vars['blocks']['wizards']['content'] .= theme('panels_dashboard_link', array('link' => $link));
      }
    }

  }

  uasort($vars['links'], 'ctools_plugin_sort');

  $vars['blocks']['links'] = array(
    'weight' => -100, 
    'section' => 'left', 
    'title' => t('Create new') . '...', 
    'content' => '', 
    'class' => 'dashboard-create',
  );

  // Turn the links into a block
  foreach ($vars['links'] as $link) {
    $vars['blocks']['links']['content'] .= theme('panels_dashboard_link', array('link' => $link));
  }

  uasort($vars['blocks'], 'ctools_plugin_sort');

  $vars['left'] = '';
  $vars['right'] = '';

  // Render all the blocks
  foreach ($vars['blocks'] as $block) {
    $section = !empty($block['section']) ? $block['section'] : 'left';
    $vars[$section] .= theme('panels_dashboard_block', array('block' => $block));
  }
}