diff --git a/db_server/delete.provision.inc b/db_server/delete.provision.inc index 67e2cf8..4f08888 100644 --- a/db_server/delete.provision.inc +++ b/db_server/delete.provision.inc @@ -2,7 +2,9 @@ function drush_provision_mysql_provision_delete_validate() { - provision_db_connect(); + if (PROVISION_CONTEXT_SITE) { + provision_db_connect(); + } } /** @@ -11,6 +13,7 @@ function drush_provision_mysql_provision_delete_validate() { * This will drop the database, revoke the privileges and flush the privileges. */ function drush_provision_mysql_provision_delete($url = NULL) { - return _provision_mysql_destroy_site_db(drush_get_option('db_name'), drush_get_option('db_user'), drush_get_option('db_passwd')); + if (PROVISION_CONTEXT_SITE) { + return _provision_mysql_destroy_site_db(drush_get_option('db_name'), drush_get_option('db_user'), drush_get_option('db_passwd')); + } } - diff --git a/platform/delete.provision.inc b/platform/delete.provision.inc index fd676aa..5d3e2fa 100644 --- a/platform/delete.provision.inc +++ b/platform/delete.provision.inc @@ -2,27 +2,39 @@ function drush_provision_drupal_provision_delete_validate($url = NULL, $backup_file = NULL) { - _provision_drupal_valid_site(); + if (PROVISION_CONTEXT_SITE) { + _provision_drupal_valid_site(); + } } - /** * Before starting to delete the site, make a backup */ -function drush_provision_drupal_pre_provision_delete($url, $backup_file = NULL) { - drush_set_option('force', true, 'process'); - drush_invoke("provision backup", $url, $backup_file); - drush_unset_option('force', 'process'); +function drush_provision_drupal_pre_provision_delete($url = NULL, $backup_file = NULL) { + if (PROVISION_CONTEXT_SITE) { + drush_set_option('force', true, 'process'); + drush_invoke("provision backup", $url, $backup_file); + drush_unset_option('force', 'process'); + } } /** - * Remove any directories for the site in sites + * If we're deleting a site, remove any directories for the site in sites folder + * If we're deleting a platform, remove the whole platform * This can't be rolled back. so won't even try. */ -function drush_provision_drupal_provision_delete($url) { - _provision_recursive_delete(drush_get_option('sites_path') . "/$url"); - _provision_drupal_delete_aliases(drush_get_option('aliases', array())); - drush_set_option('installed', FALSE, 'site'); +function drush_provision_drupal_provision_delete($url = NULL) { + if (PROVISION_CONTEXT_SITE) { + _provision_recursive_delete(drush_get_option('sites_path') . "/$url"); + _provision_drupal_delete_aliases(drush_get_option('aliases', array())); + drush_set_option('installed', FALSE, 'site'); + } + if (PROVISION_CONTEXT_PLATFORM) { + if(!provision_drupal_find_any_sites()) { + $drupal_root = drush_get_context('DRUSH_DRUPAL_ROOT'); + _provision_recursive_delete($drupal_root); + } + } } diff --git a/platform/lock.provision.inc b/platform/lock.provision.inc new file mode 100644 index 0000000..899bd50 --- /dev/null +++ b/platform/lock.provision.inc @@ -0,0 +1,17 @@ + $file) { $project = array(); diff --git a/platform/unlock.provision.inc b/platform/unlock.provision.inc new file mode 100644 index 0000000..938e7c9 --- /dev/null +++ b/platform/unlock.provision.inc @@ -0,0 +1,17 @@ + 'Enable a disabled site.', 'bootstrap' => DRUSH_BOOTSTRAP_DRUPAL_ROOT ); + $items['provision disable'] = array( 'arguments' => array('domain.com' => dt('The domain of the site to disable (only if disabled).')), 'description' => 'Disable a site.', 'bootstrap' => DRUSH_BOOTSTRAP_DRUPAL_ROOT ); + $items['provision lock'] = array( + 'description' => 'Lock a platform from having any other sites provisioned on it.', + 'bootstrap' => DRUSH_BOOTSTRAP_DRUPAL_ROOT + ); + + $items['provision unlock'] = array( + 'description' => 'Unlock a platform so that sites can be provisioned on it.', + 'bootstrap' => DRUSH_BOOTSTRAP_DRUPAL_ROOT + ); + $items['provision verify'] = array( 'arguments' => array('domain.com' => dt('The domain of the site to verify).')), 'description' => 'Verify that the provisioning framework is correctly installed.', diff --git a/web_server/delete.provision.inc b/web_server/delete.provision.inc index 8dca268..8770153 100644 --- a/web_server/delete.provision.inc +++ b/web_server/delete.provision.inc @@ -1,7 +1,15 @@