You are here

function views_views_exportables in Views (for Drupal 7) 6.2

Same name and namespace in other branches
  1. 6.3 views.module \views_views_exportables()
  2. 7.3 views.module \views_views_exportables()

Implementation of hook_views_exportables().

File

./views.module, line 1292
Primarily Drupal hooks and global API functions to manipulate views.

Code

function views_views_exportables($op = 'list', $views = NULL, $name = 'foo') {
  $all_views = views_get_all_views();
  if ($op == 'list') {
    foreach ($all_views as $name => $view) {

      // in list, $views is a list of tags.
      if (empty($views) || in_array($view->tag, $views)) {
        $return[$name] = array(
          'name' => check_plain($name),
          'desc' => check_plain($view->description),
          'tag' => check_plain($view->tag),
        );
      }
    }
    return $return;
  }
  if ($op == 'export') {
    $code = "/**\n";
    $code .= " * Implementation of hook_views_default_views().\n";
    $code .= " */\n";
    $code .= "function " . $name . "_views_default_views() {\n";
    foreach ($views as $view => $truth) {
      $code .= "  /*\n";
      $code .= "   * View " . var_export($all_views[$view]->name, TRUE) . "\n";
      $code .= "   */\n";
      $code .= $all_views[$view]
        ->export('  ');
      $code .= '  $views[$view->name] = $view;' . "\n\n";
    }
    $code .= "  return \$views;\n";
    $code .= "}\n";
    return $code;
  }
}