You are here

function panels_views_all_views_content_types in Panels 6.2

Return all content types available.

1 string reference to 'panels_views_all_views_content_types'
panels_views_panels_content_types in panels_views/panels_views.module
Implementation of hook_panels_content_types()

File

panels_views/panels_views.module, line 60
panels_views.module

Code

function panels_views_all_views_content_types() {
  $types = array();
  $views = views_get_all_views();
  foreach ($views as $view) {
    $view
      ->init_display();
    foreach ($view->display as $id => $display) {
      $title = t('@name: @display', array(
        '@name' => $view->name,
        '@display' => $display->display_title,
      ));
      $icon = $display->display_plugin != 'page' ? 'icon_views_block_legacy.png' : 'icon_views_page_legacy.png';
      $contexts = array();
      if (isset($display->handler) && ($arguments = $display->handler
        ->get_handlers('argument'))) {
        foreach ($arguments as $arg) {
          $contexts[] = new panels_optional_context($arg
            ->ui_name(), 'any');
        }
      }
      $types[$view->name . '-' . $id] = array(
        'title' => $title,
        'icon' => $icon,
        'description' => filter_xss_admin($view->description),
        'required context' => $contexts,
        'category' => array(
          t('Views'),
          -1,
        ),
      );
    }
  }
  return $types;
}