You are here

function views_bulk_operations_drush_list in Views Bulk Operations (VBO) 6.3

Same name and namespace in other branches
  1. 7.3 views_bulk_operations.drush.inc \views_bulk_operations_drush_list()

Implementation of 'vbo list' command.

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

File

./views_bulk_operations.drush.inc, line 46

Code

function views_bulk_operations_drush_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'),
      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 (array_filter($display_options['style_options']['selected_operations']) as $operation) {
          if (isset($view->style_plugin->options['all_operations'][$operation])) {
            $operations[] = $view->style_plugin->options['all_operations'][$operation]['label'] . ' (' . $operation . ')';
          }
        }
        $operations[] = "---------------";
        $rows[] = array(
          sprintf('%5d', $view->vid),
          $view->name,
          $view->description,
          implode("\n", $operations),
        );
      }
    }
  }
  drush_print_table($rows, TRUE);
}