From c3f2e1d1f4057de19e3f09650bf7b71f2f47aed3 Mon Sep 17 00:00:00 2001 From: Dane Powell Date: Tue, 29 Mar 2016 15:47:30 -0500 Subject: [PATCH] Issue #2693831 by Dane Powell: Added features-revert-all drush command. --- drush/features.drush.inc | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/drush/features.drush.inc b/drush/features.drush.inc index 00cde35..2235656 100644 --- a/drush/features.drush.inc +++ b/drush/features.drush.inc @@ -46,6 +46,14 @@ function features_drush_command() { 'aliases' => array('fl'), ); + $items['features-import-all'] = array( + 'description' => 'Import module config from all installed features.', + 'examples' => array( + "drush features-import-all" => 'Import module config from all installed features.', + ), + 'aliases' => array('fra', 'fia', 'fim-all'), + ); + $items['features-export'] = array( 'description' => "Export the configuration on your site into a custom module.", 'arguments' => array( @@ -248,6 +256,32 @@ function drush_features_list_packages($package_name = '') { } /** + * Drush command callback for features-import-all. + * + * @return bool + */ +function drush_features_import_all() { + _drush_features_options(); + /** @var \Drupal\features\FeaturesManagerInterface $manager */ + $manager = \Drupal::service('features.manager'); + $packages = $manager->getPackages(); + + $packages = $manager->filterPackages($packages); + $result = array(); + + foreach ($packages as $package) { + $overrides = $manager->detectOverrides($package); + + if ($package->getStatus() == FeaturesManagerInterface::STATUS_INSTALLED) { + drush_print(dt('Reverting @module...', array('@module' => $package->getName()))); + drush_features_import($package->getMachineName()); + } + } + + return TRUE; +} + +/** * Provides Drush command callback for features-export. */ function drush_features_export($packages = NULL) { -- 2.5.0