You are here

function _views_maintenance_process_page_handlers in Views Maintenance 7

Same name and namespace in other branches
  1. 6 includes/ctools.inc \_views_maintenance_process_page_handlers()

Processes handlers of task or subtask and returns use cases.

Parameters

array $handlers:

string $task_name: Full task name.

Return value

array

1 call to _views_maintenance_process_page_handlers()
_views_maintenance_process_page_tasks in includes/ctools.inc
Processes list of page manager page tasks and returns views use cases.

File

includes/ctools.inc, line 244
Provides integration with Page Manager and Panels Mini.

Code

function _views_maintenance_process_page_handlers($handlers, $task, $task_name) {
  ctools_include('content');
  ctools_include('plugins');
  ctools_include('context');
  ctools_include('context-task-handler');
  if (module_exists('panels')) {
    ctools_get_plugins('page_manager', 'task_handlers');
  }
  $result = array();
  foreach ($handlers as $handler) {
    if ($handler->handler == 'panel_context') {

      // Search for views content panes.
      $display = panels_panel_context_get_display($handler);
      if (!empty($display->content)) {
        foreach ($display->content as $pane) {
          $id = _views_maintenance_display_id_from_pane($pane);
          if (!empty($id)) {
            list($view_id, $display_id) = $id;
            $use_case = _views_maintenance_page_pane_use_case($task_name, $task, $handler, $pane);
            $result[$view_id][$display_id][] = $use_case;
          }
        }
      }
    }

    // Search for views contexts.
    $contexts = ctools_context_handler_get_all_contexts($task, $handler->subtask, $handler);
    foreach ($contexts as $context) {
      $id = _views_maintenance_display_id_from_context($context);
      if (!empty($id)) {
        list($view_id, $display_id) = $id;
        $use_case = _views_maintenance_page_context_use_case($task_name, $task, $handler, $context);
        $result[$view_id][$display_id][] = $use_case;
      }
    }
  }
  return $result;
}