From 82a9275abcf2d85467ad0f0a818f53d5f18a960a Mon Sep 17 00:00:00 2001
From: Manuel Garcia <manuel.drupal@gmail.com>
Date: Fri, 18 Mar 2011 00:22:39 +0100
Subject: [PATCH 1/2] Moved views-revert drush command into views.drush.inc file

---
 views.drush.inc |  149 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 149 insertions(+), 0 deletions(-)

diff --git a/views.drush.inc b/views.drush.inc
index 4a4c7a3..0354cbc 100644
--- a/views.drush.inc
+++ b/views.drush.inc
@@ -10,4 +10,153 @@
  */
 function views_drush_cache_clear(&$types) {
   $types['views'] = 'views_invalidate_cache';
+}
+
+/**
+ * Implement hook_drush_help().
+ */
+function views_drush_help($section) {
+  switch ($section) {
+    case 'drush:revert-views':
+      return dt('Reverts all views in the drupal installation that have been overriden. Careful, use with care.');
+  }
+}
+
+/**
+ * Implement hook_drush_command().
+ */
+function views_drush_command() {
+  $items = array();
+
+  $items['views-revert'] = array(
+    'callback' => 'views_drush_revert_views',
+    'drupal dependencies' => array('views'),
+    'description' => dt('Revert overridden views to their default state. Make sure to backup first.'),
+    'bootstrap' => DRUSH_BOOTSTRAP_DRUPAL_FULL,
+    'aliases' => array('vr'),
+  );
+
+  return $items;
+}
+
+/**
+ * Callback function for views-revert command.
+ */
+function views_drush_revert_views() {
+  $views = views_get_all_views();
+  $i = 0;
+  // The provided view names specified in the command.
+  $viewnames = _convert_csv_to_array(func_get_args());
+
+  // Find all overridden views.
+  foreach ($views as $view) {
+    if ($view->disabled) {
+      continue;
+    }
+    if ($view->type == dt('Overridden')) {
+      $overridden[$view->name] = $view->name;
+    }
+  }
+
+  // Return early if there are no views overridden in the system.
+  if (empty($overridden)) {
+    return drush_set_error(dt('There are no overridden views in the system.'));
+  }
+
+  // If the user specified in the command the views to be overridden.
+  if (!empty($viewnames)) {
+    foreach ($viewnames as $key => $viewname) {
+      $is_overridden = key_exists($viewname, $overridden);
+      // Check if the provided view name is in the system
+      if ($viewname && !key_exists($viewname, $views)) {
+        drush_set_error(dt("'@viewname' view is not present in the system.", array('@viewname' => $viewname)));
+      }
+      // Check if the provided view is overridden.
+      elseif (!$is_overridden) {
+        drush_set_error(dt("The view specified '@viewname' is not overridden.", array('@viewname' => $viewname)));
+      }
+      // If the view is overriden, revert it.
+      elseif ($is_overridden){
+        views_drush_revert_view($views[$viewname]);
+        $i++;
+      }
+      // We should never get here but well...
+      else {
+        drush_set_error(dt("The view specified '@viewname' is not provided in code, and thus cannot be reverted.", array('@viewname' => $viewname)));
+      }
+    }
+  }
+
+  // The user did not specify any views in the command, prompt the user
+  else {
+    // list of choices for the user
+    $overridden['all'] = dt('Revert all overridden views'); // add a choice at the end
+    $choice = drush_choice($overridden, 'Enter a number to choose which view to revert.', '!key'); // prompt the user
+
+    if ($choice !== FALSE) {
+      // revert all views option
+      if ($choice == 'all') {
+        $i = views_drush_revert_allviews($views);
+      }
+      // else the user specified a single view
+      else {
+        views_drush_revert_view($views[$choice]);
+        $i++;
+      }
+    }
+
+  }
+
+  // final results output
+  if ($i == 0) {
+    drush_log(dt('No views were reverted.'), 'ok');
+  }
+  else {
+    drush_log(dt('Reverted a total of @count views.', array('@count' => $i)), 'ok');
+  }
+}
+
+/**
+ * Reverts all views
+ * @param $views
+ * All views in the system as provided by views_get_all_views().
+ */
+function views_drush_revert_allviews($views) {
+  $i = 0;
+  foreach ($views as $view) {
+    if ($view->disabled) {
+      continue;
+    }
+
+    if ($view->type == t('Overridden')) {
+      views_drush_revert_view($view);
+      $i++;
+    }
+  }
+  return $i;
+}
+
+/**
+ * Reverts a specified view
+ * @param $view
+ * The view object to be reverted
+ *
+ * Checks on wether or not the view is overridden is handled in views_revert_views_revert()
+ * We perform a check here anyway in case someone somehow calls this function on their own...
+ */
+function views_drush_revert_view($view) {
+  // check anyway just in case
+  if ($view->type == t('Overridden')) {
+    // Revert the view.
+    $view->delete();
+    // Clear its cache.
+    views_object_cache_clear('view', $view->name);
+    // Give feedback.
+    $message = dt("Reverted the view '@viewname'", array('@viewname' => $view->name));
+    drush_log($message, 'success');
+    // Reverted one more view.
+  }
+  else {
+    drush_set_error(dt("The view '@viewname' is not overridden.", array('@viewname' => $view->name)));
+  }
 }
\ No newline at end of file
-- 
1.7.1


From 521ec95e2fa489e06c2cf8f6c5b153dec7c5e816 Mon Sep 17 00:00:00 2001
From: Manuel Garcia <manuel.drupal@gmail.com>
Date: Fri, 18 Mar 2011 00:23:34 +0100
Subject: [PATCH 2/2] Removed views_revert.drush.inc file. We will do it in views.drush.inc from now on.

---
 views_revert.drush.inc |  154 ------------------------------------------------
 1 files changed, 0 insertions(+), 154 deletions(-)
 delete mode 100644 views_revert.drush.inc

diff --git a/views_revert.drush.inc b/views_revert.drush.inc
deleted file mode 100644
index b72fcc0..0000000
--- a/views_revert.drush.inc
+++ /dev/null
@@ -1,154 +0,0 @@
-<?php
-/**
- * @file
- * views-revert - Drush command to revert views overridden in the system.
- */
-
-/**
- * Implement hook_drush_help().
- */
-function views_revert_drush_help($section) {
-  switch ($section) {
-    case 'drush:revert-views':
-      return dt('Reverts all views in the drupal installation that have been overriden. Careful, use with care.');
-  }
-}
-
-/**
- * Implement hook_drush_command().
- */
-function views_revert_drush_command() {
-  $items = array();
-
-  $items['views-revert'] = array(
-    'callback' => 'views_revert_views',
-    'drupal dependencies' => array('views'),
-    'description' => dt('Revert overridden views to their default state. Make sure to backup first.'),
-    'bootstrap' => DRUSH_BOOTSTRAP_DRUPAL_FULL,
-    'aliases' => array('vr'),
-  );
-
-  return $items;
-}
-
-/**
- * Callback function for views-revert command.
- */
-function views_revert_views() {
-  $views = views_get_all_views();
-  $i = 0;
-  // The provided view names specified in the command.
-  $viewnames = _convert_csv_to_array(func_get_args());
-
-  // Find all overridden views.
-  foreach ($views as $view) {
-    if ($view->disabled) {
-      continue;
-    }
-    if ($view->type == dt('Overridden')) {
-      $overridden[$view->name] = $view->name;
-    }
-  }
-
-  // Return early if there are no views overridden in the system.
-  if (empty($overridden)) {
-    return drush_set_error(dt('There are no overridden views in the system.'));
-  }
-
-  // If the user specified in the command the views to be overridden.
-  if (!empty($viewnames)) {
-    foreach ($viewnames as $key => $viewname) {
-      $is_overridden = key_exists($viewname, $overridden);
-      // Check if the provided view name is in the system
-      if ($viewname && !key_exists($viewname, $views)) {
-        drush_set_error(dt("'@viewname' view is not present in the system.", array('@viewname' => $viewname)));
-      }
-      // Check if the provided view is overridden.
-      elseif (!$is_overridden) {
-        drush_set_error(dt("The view specified '@viewname' is not overridden.", array('@viewname' => $viewname)));
-      }
-      // If the view is overriden, revert it.
-      elseif ($is_overridden){
-        views_revert_view($views[$viewname]);
-        $i++;
-      }
-      // We should never get here but well...
-      else {
-        drush_set_error(dt("The view specified '@viewname' is not provided in code, and thus cannot be reverted.", array('@viewname' => $viewname)));
-      }
-    }
-  }
-
-  // The user did not specify any views in the command, prompt the user
-  else {
-    // list of choices for the user
-    $overridden['all'] = dt('Revert all overridden views'); // add a choice at the end
-    $choice = drush_choice($overridden, 'Enter a number to choose which view to revert.', '!key'); // prompt the user
-
-    if ($choice !== FALSE) {
-      // revert all views option
-      if ($choice == 'all') {
-        $i = views_revert_allviews($views);
-      }
-      // else the user specified a single view
-      else {
-        views_revert_view($views[$choice]);
-        $i++;
-      }
-    }
-
-  }
-
-  // final results output
-  if ($i == 0) {
-    drush_log(dt('No views were reverted.'), 'ok');
-  }
-  else {
-    drush_log(dt('Reverted a total of @count views.', array('@count' => $i)), 'ok');
-  }
-}
-
-/**
- * Reverts all views
- * @param $views
- * All views in the system as provided by views_get_all_views().
- */
-function views_revert_allviews($views) {
-  $i = 0;
-  foreach ($views as $view) {
-    if ($view->disabled) {
-      continue;
-    }
-
-    if ($view->type == t('Overridden')) {
-      views_revert_view($view);
-      $i++;
-    }
-  }
-  return $i;
-}
-
-/**
- * Revert a specified view
- * @param $view
- * The view object to be reverted
- *
- * Checks on wether or not the view is overridden is handled in views_revert_views_revert()
- * We perform a check here anyway in case someone somehow calls this function on their own...
- */
-function views_revert_view($view) {
-  // check anyway just in case
-  if ($view->type == t('Overridden')) {
-    // Revert the view.
-    $view->delete();
-    // Clear its cache.
-    views_object_cache_clear('view', $view->name);
-    // Give feedback.
-    $message = dt("Reverted the view '@viewname'", array('@viewname' => $view->name));
-    drush_log($message, 'success');
-    // Reverted one more view.
-  }
-  else {
-    drush_set_error(dt("The view '@viewname' is not overridden.", array('@viewname' => $view->name)));
-  }
-}
-- 
1.7.1

