Commit 04ec33c4 authored by drumm's avatar drumm Committed by Neil Drumm

Handle context deletion

parent 39c0c45c
...@@ -151,18 +151,15 @@ class provisionConfig_drushrc_alias extends provisionConfig_drushrc { ...@@ -151,18 +151,15 @@ class provisionConfig_drushrc_alias extends provisionConfig_drushrc {
* @code '\@name' => array('option1', 'option2'), @endcode * @code '\@name' => array('option1', 'option2'), @endcode
* will save the current values of option1 and option2 to @name. * will save the current values of option1 and option2 to @name.
*/ */
function __construct($contexts) { function __construct($name, $options = array()) {
$contexts_expanded = array(); $options_expanded = array();
foreach ($contexts as $name => $options) { foreach ($options as $key) {
$contexts_expanded[$name] = array(); $options_expanded[$key] = drush_get_option($key);
foreach ($options as $key) {
$contexts_expanded[$name][$key] = drush_get_option($key);
}
} }
$this->data = array( $this->data = array(
'aliasname' => reset(array_keys($contexts)), 'aliasname' => $name,
'contexts' => $contexts_expanded, 'options' => $options_expanded,
); );
} }
......
...@@ -76,6 +76,11 @@ function provision_drush_command() { ...@@ -76,6 +76,11 @@ function provision_drush_command() {
'description' => dt('Save Drush aliases'), 'description' => dt('Save Drush aliases'),
'bootstrap' => DRUSH_BOOTSTRAP_DRUSH, 'bootstrap' => DRUSH_BOOTSTRAP_DRUSH,
); );
$items['provision-named-context-delete'] = array(
'arguments' => array(),
'description' => dt('Delete Drush aliases'),
'bootstrap' => DRUSH_BOOTSTRAP_DRUSH,
);
$items['provision-install'] = array( $items['provision-install'] = array(
'arguments' => array('domain.com' => dt('The domain of the site to install.')), 'arguments' => array('domain.com' => dt('The domain of the site to install.')),
'description' => dt('Provision a new site using the provided data.'), 'description' => dt('Provision a new site using the provided data.'),
...@@ -214,20 +219,25 @@ function drush_http_provision_named_context_save() { ...@@ -214,20 +219,25 @@ function drush_http_provision_named_context_save() {
foreach (provision_service('all') as $service) { foreach (provision_service('all') as $service) {
$options = array_merge($options, $service->write_alias()); $options = array_merge($options, $service->write_alias());
} }
$config = new provisionConfig_drushrc_alias(array(drush_get_option('hosting_name') => $options)); $config = new provisionConfig_drushrc_alias(drush_get_option('hosting_name'), $options);
$config->write(); $config->write();
} }
elseif (PROVISION_CONTEXT_PLATFORM) { elseif (PROVISION_CONTEXT_PLATFORM) {
drush_set_option('platform-name', preg_replace('/^platform_/', '', drush_get_option('hosting_name'))); drush_set_option('platform-name', preg_replace('/^platform_/', '', drush_get_option('hosting_name')));
$config = new provisionConfig_drushrc_alias(array(drush_get_option('hosting_name') => array('provision-http-server', 'provision-context', 'root', 'platform-name'))); $config = new provisionConfig_drushrc_alias(drush_get_option('hosting_name'), array('provision-http-server', 'provision-context', 'root', 'platform-name'));
$config->write(); $config->write();
} }
elseif (PROVISION_CONTEXT_SITE) { elseif (PROVISION_CONTEXT_SITE) {
$config = new provisionConfig_drushrc_alias(array(drush_get_option('hosting_name') => array('provision-db-server', 'provision-platform', 'provision-context', 'uri', 'site_port', 'site_id', 'language', 'client_email'))); $config = new provisionConfig_drushrc_alias(drush_get_option('hosting_name'), array('provision-db-server', 'provision-platform', 'provision-context', 'uri', 'site_port', 'site_id', 'language', 'client_email'));
$config->write(); $config->write();
} }
} }
function drush_http_provision_named_context_delete() {
$config = new provisionConfig_drushrc_alias(drush_get_option('hosting_name'));
$config->unlink();
}
function _provision_default_restart_cmd() { function _provision_default_restart_cmd() {
$command = '/usr/sbin/apachectl'; // A proper default for most of the world $command = '/usr/sbin/apachectl'; // A proper default for most of the world
foreach (explode(':', $_SERVER['PATH']) as $path) { foreach (explode(':', $_SERVER['PATH']) as $path) {
......
<?php print "<?php \n"; ?> <?php print "<?php \n"; ?>
<?php foreach ($contexts as $name => $data) { ?> $aliases['<?php print $aliasname; ?>'] = <?php print var_export($options, TRUE); ?>;
$aliases['<?php print $name; ?>'] = <?php print var_export($data, TRUE); ?>;
<?php } ?>
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment