You are here

function drush_views_bulk_operations_list in Views Bulk Operations (VBO) 6

Implementation of 'vbo-list' command.

1 string reference to 'drush_views_bulk_operations_list'
views_bulk_operations_drush_command in ./views_bulk_operations.drush.inc
Implementation of hook_drush_command().

File

./views_bulk_operations.drush.inc, line 48

Code

function drush_views_bulk_operations_list() {

  // Impersonate admin.
  global $user;
  $user = user_load(array(
    'uid' => '1',
  ));
  session_save_session(FALSE);

  // Find all VBO views and their associated operations.
  $rows = array(
    array(
      sprintf('%5s', dt('VID')),
      dt('NAME (DISPLAY)'),
      dt('DESCRIPTION'),
      dt('OPERATIONS'),
    ),
  );
  foreach (views_get_all_views() as $name => $view) {
    foreach (array_keys($view->display) as $display) {
      $display_options = $view->display[$display]->display_options;
      if (isset($display_options['style_plugin']) && $display_options['style_plugin'] == 'bulk') {
        $view
          ->build($display);
        $operations = array();
        foreach ($view->style_plugin
          ->get_selected_operations() as $operation => $label) {
          $operations[] = $label . ' (' . $operation . ')';
        }
        $operations[] = '';
        $rows[] = array(
          empty($view->vid) ? sprintf('%5s', '---') : sprintf('%5d', $view->vid),
          sprintf('%s (%s)', $view->name, $display),
          $view->description,
          implode("\n", $operations),
        );
        $view
          ->destroy();
      }
    }
  }
  drush_print_table($rows, TRUE);
}