You are here

function _views_drush_changestatus in Views (for Drupal 7) 6.3

Same name and namespace in other branches
  1. 7.3 drush/views.drush.inc \_views_drush_changestatus()
2 calls to _views_drush_changestatus()
drush_views_disable in drush/views.drush.inc
Disables views
drush_views_enable in drush/views.drush.inc
Enables views

File

drush/views.drush.inc, line 436
Drush integration of views.

Code

function _views_drush_changestatus($viewnames = array(), $status = NULL) {
  if ($status !== NULL && !empty($viewnames)) {
    $changed = FALSE;
    $processed = $status ? dt('disabled') : dt('enabled');
    $views_status = variable_get('views_defaults', array());
    foreach ($viewnames as $key => $viewname) {
      if ($views_status[$viewname] !== $status) {
        $views_status[$viewname] = $status;
        $changed = TRUE;
        drush_log(dt("The view '!name' has been !processed", array(
          '!name' => $viewname,
          '!processed' => $processed,
        )), 'success');
      }
      else {
        drush_set_error(dt("The view '!name' is already !processed", array(
          '!name' => $viewname,
          '!processed' => $processed,
        )));
      }
    }

    // If we made changes to views status, save them and clear caches
    if ($changed) {
      variable_set('views_defaults', $views_status);
      views_invalidate_cache();
      drush_log(dt("Views cache was cleared"), 'ok');
      menu_rebuild();
      drush_log(dt("Menu cache was cleared"), 'ok');
    }
  }
}