X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs-website;a=blobdiff_plain;f=vendor%2Fdrush%2Fdrush%2Fcommands%2Fcore%2Fdrupal%2Fpm_8.inc;h=d0d44b12c1617096c9b4cdcc80ca9de436aa5b4b;hp=f5a3beebed94ee844fef78a6d66359cdd612531d;hb=eba34333e3c89f208d2f72fa91351ad019a71583;hpb=a2bd1bf0c2c1f1a17d188f4dc0726a45494cefae diff --git a/vendor/drush/drush/commands/core/drupal/pm_8.inc b/vendor/drush/drush/commands/core/drupal/pm_8.inc index f5a3beebe..d0d44b12c 100644 --- a/vendor/drush/drush/commands/core/drupal/pm_8.inc +++ b/vendor/drush/drush/commands/core/drupal/pm_8.inc @@ -43,16 +43,13 @@ function _drush_pm_uninstall($extensions) { drush_log(dt('!extension is already uninstalled.', array('!extension' => $extension)), LogLevel::OK); } elseif (drush_extension_get_type($extension_info[$extension]) == 'module') { - $dependents = array(); + // Add installed dependencies to the list of modules to uninstall. foreach (drush_module_dependents(array($extension), $extension_info) as $dependent) { - if (!in_array($dependent, $required) && ($extension_info[$dependent]->status)) { - $dependents[] = $dependent; + // Check if this dependency is not required, already enabled, and not already already in the list of modules to uninstall. + if (!in_array($dependent, $required) && ($extension_info[$dependent]->status) && !in_array($dependent, $extensions)) { + $extensions[] = $dependent; } } - if (count($dependents)) { - drush_log(dt('To uninstall !extension, the following extensions must be uninstalled first: !required', array('!extension' => $extension, '!required' => implode(', ', $dependents))), LogLevel::ERROR); - unset($extensions[$extension]); - } } } @@ -87,4 +84,3 @@ function _drush_pm_uninstall($extensions) { drush_log(dt('!extension was successfully uninstalled.', array('!extension' => $extension)), LogLevel::OK); } } -