You are here

function scald_dnd_library_dnd_libraries_info in Scald: Media Management made easy 7

Same name and namespace in other branches
  1. 6 scald_dnd_library/scald_dnd_library.module \scald_dnd_library_dnd_libraries_info()

Implements hook_dnd_libraries_info().

File

modules/library/scald_dnd_library/scald_dnd_library.module, line 46
Scald DnD Library

Code

function scald_dnd_library_dnd_libraries_info() {
  $libraries = array();
  $cache = cache_get('views_based_libraries', 'cache_scald');
  if ($cache && is_array($cache->data)) {
    $libraries = $cache->data;
  }
  else {
    $views = views_get_all_views();
    foreach ($views as $view) {

      // Disabled views get nothing.
      if (!empty($view->disabled)) {
        continue;
      }
      $view
        ->init_display();
      foreach ($view->display as $id => $display) {
        if (!empty($display->handler->definition['provides dnd library'])) {
          $libraries[$display->handler
            ->get_option('path')] = $display->handler
            ->get_option('title') . ' (' . $view->name . '-' . $id . ')';
        }
      }
    }
    cache_set('views_based_libraries', $libraries, 'cache_scald');
  }
  return $libraries;
}