Commit dca8e5c8 authored by Adrian Rossouw's avatar Adrian Rossouw Committed by adrian

#411822 - refactor to use drush_bootstrap. This also should fix #408810.

parent e945a47c
......@@ -16,6 +16,20 @@ define('PROVISION_DB_DUMP_NOT_READABLE', 'PROVISION_DB_DUMP_NOT_READABLE');
define('PROVISION_DB_IMPORT_FAILED', 'PROVISION_DB_IMPORT_FAILED');
function provision_mysql_provision_init() {
drush_set_default('master_db', $GLOBALS['db_url']);
$master_db = drush_get_option('master_db');
$db = parse_url($master_db);
drush_set_default('master_db_user', $db['user']);
drush_set_default('master_db_passwd', $db['pass']);
drush_set_default('master_db_host', $db['host']);
drush_set_default('db_host', $db['host']);
drush_set_default('master_db_type', $db['scheme']);
drush_set_default('db_type', $db['scheme']);
}
function provision_mysql_provision_finalize() {
provision_db_close();
}
......
......@@ -10,8 +10,10 @@
* Make sure the site is installed and enabled, and that we have a valid target to back up to.
*/
function provision_drupal_provision_backup_validate($url = NULL, $backup_file = NULL) {
_provision_drupal_url_required();
_provision_drupal_valid_installed_site();
drush_bootstrap(DRUSH_BOOTSTRAP_DRUPAL_SITE);
if (!drush_get_option('installed')) {
drush_set_error(PROVISION_DRUPAL_SITE_FOUND);
}
// This is the actual drupal provisioning requirements.
if (!is_dir(drush_get_option('backup_path'))) {
......
......@@ -25,7 +25,6 @@
*/
function provision_drupal_provision_deploy_validate($url = null, $backup_file = null) {
_provision_drupal_url_required();
_provision_drupal_valid_not_installed_site();
$exists = provision_path("exists", $backup_file, TRUE,
dt("Deploying site from @path"),
......@@ -45,6 +44,7 @@ function provision_drupal_provision_pre_deploy($url, $backup_file) {
dt('Failed to extract the contents of @path'),
PROVISION_BACKUP_EXTRACTION_FAILED);
if ($extracted) {
drush_bootstrap(DRUSH_BOOTSTRAP_DRUPAL_SITE);
// @TODO Clear up this properly.
// $old_data = provision_get_site_data($url);
// $data = array_merge($old_data, $data);
......@@ -54,7 +54,7 @@ function provision_drupal_provision_pre_deploy($url, $backup_file) {
/**
* Remove the extracted site directory
*/
function provision_provision_pre_deploy_rollback($url) {
function provision_drupal_provision_pre_deploy_rollback($url) {
_provision_recursive_delete(drush_get_option('sites_path') ."/$url");
}
......
......@@ -12,8 +12,11 @@
* Make sure the command we are running is on an installed site.
*/
function provision_drupal_provision_disable_validate() {
_provision_drupal_url_required();
_provision_drupal_valid_installed_site();
drush_bootstrap(DRUSH_BOOTSTRAP_DRUPAL_SITE);
if (!drush_get_option('installed')) {
drush_set_error(PROVISION_DRUPAL_SITE_FOUND);
}
}
/**
......
......@@ -105,7 +105,7 @@ function install_send_welcome_mail($url, $profile, $language, $client_email) {
function install_main() {
require_once './includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_CONFIGURATION);
drush_bootstrap(DRUSH_BOOTSTRAP_DRUPAL_CONFIGURATION);
// This must go after drupal_bootstrap(), which unsets globals!
global $profile, $install_locale, $client_email;
require_once './modules/system/system.install';
......@@ -116,8 +116,7 @@ function install_main() {
// Drupal may already be installed.
if ($verify) {
// Establish a connection to the database.
require_once './includes/database.inc';
db_set_active();
drush_bootstrap(DRUSH_BOOTSTRAP_DRUPAL_DATABASE);
// Check if Drupal is installed.
if (install_verify_drupal()) {
drush_set_error(PROVISION_DRUPAL_SITE_INSTALLED, st('Site is already installed'));
......@@ -168,7 +167,7 @@ function install_main() {
// Perform actual installation defined in the profile.
drupal_install_profile($profile, $modules);
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
drush_bootstrap(DRUSH_BOOTSTRAP_DRUPAL_FULL);
// Show profile finalization info.
$function = $profile .'_profile_final';
......
......@@ -114,7 +114,7 @@ function install_mail($key, &$message, $params) {
function install_main() {
require_once './includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_CONFIGURATION);
drush_bootstrap(DRUSH_BOOTSTRAP_DRUPAL_CONFIGURATION);
// This must go after drupal_bootstrap(), which unsets globals!
global $profile, $install_locale, $client_email, $conf, $url;
......@@ -148,9 +148,7 @@ function install_main() {
require_once './includes/cache.inc';
$conf['cache_inc'] = './includes/cache.inc';
// Establish a connection to the database.
require_once './includes/database.inc';
db_set_active();
drush_bootstrap(DRUSH_BOOTSTRAP_DRUPAL_DATABASE);
if (install_verify_drupal()) {
return drush_set_error(PROVISION_DRUPAL_SITE_INSTALLED);
......@@ -209,11 +207,21 @@ function install_main() {
return drush_set_error(PROVISION_DRUPAL_INSTALL_FAILED);
}
drupal_install_system();
$modules = array_diff($modules, array('system'));
$system_path = dirname(drupal_get_filename('module', 'system', NULL));
require_once './'. $system_path .'/system.install';
module_invoke('system', 'install');
$system_versions = drupal_get_schema_versions('system');
$system_version = $system_versions ? max($system_versions) : SCHEMA_INSTALLED;
db_query("INSERT INTO {system} (filename, name, type, owner, status, throttle, bootstrap, schema_version) VALUES('%s', '%s', '%s', '%s', %d, %d, %d, %d)", $system_path .'/system.module', 'system', 'module', '', 1, 0, 0, $system_version);
// Now that we've installed things properly, bootstrap the full Drupal environment
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
module_rebuild_cache();
drush_bootstrap(DRUSH_BOOTSTRAP_DRUPAL_FULL);
$modules = array_diff($modules, array('system'));
if ($install_locale != 'en') {
$modules = array_merge($modules, array('locale'));
}
/**
* Further installation tasks
*
......@@ -232,8 +240,10 @@ function install_main() {
array("@module" => $files[$module]->info['name'])));
}
drush_log("Initial locale import");
// locale-initial-import and locale-inintial-batch tasks
if (!empty($install_locale) && ($install_locale != 'en')) {
include_once 'includes/locale.inc';
// Enable installation language as default site language.
locale_add_language($install_locale, NULL, NULL, NULL, NULL, NULL, 1, TRUE);
// Collect files to import for this language.
......
This diff is collapsed.
......@@ -121,7 +121,7 @@ function install_mail($key, &$message, $params) {
function install_main() {
require_once './includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_CONFIGURATION);
drush_bootstrap(DRUSH_BOOTSTRAP_DRUPAL_CONFIGURATION);
// This must go after drupal_bootstrap(), which unsets globals!
global $profile, $install_locale, $client_email, $conf, $url;
......@@ -231,7 +231,7 @@ function install_main() {
$modules = array_diff(drupal_get_profile_modules($profile, $install_locale), array('system'));
drupal_install_init_database();
drush_drupal_bootstrap_full();
drush_bootstrap(DRUSH_BOOTSTRAP_DRUPAL_FULL);
/**
* Further installation tasks
......
......@@ -2,7 +2,7 @@
// $Id$
$new_url = drush_get_option('site_url');
$old_url = drush_get_option('old_site_url');
$old_url = drush_get_option('site_url', 'site');
/**
......
......@@ -6,8 +6,8 @@
* Enable a site that has been disabled
*/
function provision_drupal_provision_enable_validate() {
_provision_drupal_url_required();
_provision_drupal_valid_installed_site();
drush_bootstrap(DRUSH_BOOTSTRAP_DRUPAL_SITE);
}
function provision_drupal_post_enable() {
......
......@@ -18,7 +18,7 @@ function provision_drupal_provision_import_validate() {
* Import the information about the existing site, and return it in the $data context array
*/
function provision_drupal_provision_import($url = NULL) {
provision_internal_init($url);
drush_bootstrap(DRUSH_BOOTSTRAP_DRUPAL_FULL);
provision_platform_include(dirname(__FILE__), 'import');
}
......@@ -15,8 +15,9 @@
* Check that we are trying to install a new site , and a new site only
*/
function provision_drupal_provision_install_validate() {
_provision_drupal_url_required();
_provision_drupal_valid_not_installed_site();
if (drush_get_option('installed')) {
drush_set_error(PROVISION_SITE_INSTALLED);
}
}
/**
......@@ -36,8 +37,9 @@ function provision_drupal_provision_pre_install($url) {
function provision_drupal_provision_install($url) {
// Requires at least the database settings to complete.
_provision_drupal_create_settings_file($url);
provision_internal_init($url, FALSE);
drush_bootstrap(DRUSH_BOOTSTRAP_DRUPAL_SITE);
provision_platform_include(dirname(__FILE__), 'install');
drush_set_option('installed', TRUE, 'site');
}
/**
......
......@@ -24,8 +24,7 @@
* Make sure we have a valid site being migrated, and that the file being migrated from exists
*/
function provision_drupal_provision_migrate_validate($url = null, $platform = null) {
_provision_drupal_url_required();
_provision_drupal_valid_installed_site();
drush_bootstrap(DRUSH_BOOTSTRAP_DRUPAL_SITE);
}
/**
......
......@@ -47,10 +47,16 @@ function provision_drupal_drush_help($section) {
* for populating the $data context array
*/
function provision_drupal_provision_init($url = NULL) {
if ($url) {
drush_set_option('site_url', $url);
provision_get_site_data($url); // load the existing site's context into the system.
drush_set_option('uri' , 'http://' . $url);
provision_load_site_data($url);
drush_set_default('site_url', $url);
drush_set_default('profile', 'default');
drush_set_default('language', 'en');
drush_set_default('aliases', array());
}
define('PROVISION_CONTEXT_SITE', ($url) ? TRUE : FALSE);
define('PROVISION_CONTEXT_PLATFORM', !PROVISION_CONTEXT_SITE);
}
......@@ -63,9 +69,11 @@ function provision_drupal_provision_init($url = NULL) {
* files for future runs.
*/
function provision_drupal_provision_finalize($url = NULL) {
if (PROVISION_CONTEXT_SITE) {
if (drush_get_option('installed')) {
drush_set_option('site_url', drush_get_option('site_url'), 'site');
drush_set_option('site_id', drush_get_option('site_id'), 'site');
provision_save_site_data($url);
}
}
......@@ -244,7 +252,8 @@ function _provision_drupal_create_directories($url, $profile = NULL) {
*/
function _provision_drupal_rebuild_caches($url = NULL) {
if (PROVISION_CONTEXT_SITE) {
provision_internal_init($url);
#drush_bootstrap(DRUSH_BOOTSTRAP_DRUPAL_FULL);
provision_platform_include(dirname(__FILE__), 'clear');
}
}
......@@ -366,11 +375,15 @@ function _provision_drupal_delete_aliases($aliases) {
}
function provision_drupal_install_log($ret) {
foreach ($ret as $info) {
if (!$info['success']) {
drush_set_error(PROVISION_DRUPAL_INSTALL_FAILED);
if (sizeof($ret)) {
foreach ($ret as $info) {
if (is_array($info)) {
if (!$info['success']) {
drush_set_error(PROVISION_DRUPAL_INSTALL_FAILED, $msg);
}
drush_log($info['query'], ($info['success']) ? 'success' : 'error');
}
}
drush_log($info['query'], ($info['success']) ? 'success' : 'error');
}
}
......@@ -24,8 +24,7 @@
* Make sure we have a valid site being restored, and that the file being restored from exists
*/
function provision_drupal_provision_restore_validate($url = null, $restore_file = null) {
_provision_drupal_url_required();
_provision_drupal_valid_installed_site();
drush_bootstrap(DRUSH_BOOTSTRAP_DRUPAL_SITE);
$exists = provision_path("exists", $restore_file, TRUE,
dt("Restoring site from @path"),
......
<?php
function provision_drupal_provision_update_validate() {
_provision_drupal_url_required;
_provision_drupal_valid_installed_site();
drush_bootstrap(DRUSH_BOOTSTRAP_DRUPAL_SITE);
}
function provision_drupal_provision_update($url) {
_provision_drupal_create_settings_file($url);
provision_internal_init($url, false);
drush_bootstrap(DRUSH_BOOTSTRAP_DRUPAL_SITE);
provision_platform_include(dirname(__FILE__), 'update');
provision_platform_include(dirname(__FILE__), 'clear');
}
......@@ -5,7 +5,11 @@
*
* Disable an enabled and installed site
*/
function provision_drupal_provision_verify_validate() {
function provision_drupal_provision_verify_validate($url = null) {
if ($url) {
drush_bootstrap(DRUSH_BOOTSTRAP_DRUPAL_FULL);
}
// This will not have an effect if you are running it on a platform, just tests that if a site is provided it is an existing one
_provision_drupal_valid_site();
}
......@@ -21,12 +25,11 @@ function provision_drupal_provision_verify($url = null) {
provision_path("writable", drush_get_option('sites_path'), TRUE, dt("Drupal sites directory is writable by the provisioning script"),
dt("Drupal sites directory is not writable by the provisioning script"), PROVISION_SITES_DIR_NOT_WRITABLE);
drush_set_option('sites', array_keys((array) provision_drupal_find_sites()), 'platform');
drush_set_option('platform', array('short_name' => 'drupal', 'version' => drush_drupal_version()), 'platform');
print_r(_drush_get_context());
drush_set_option('sites', array_keys((array) provision_drupal_find_sites()), 'drupal');
drush_set_option('platform', array('short_name' => 'drupal', 'version' => drush_drupal_version()));
drush_log(dt("This platform is running @short_name @version",
array('@short_name' => 'drupal', '@version' => VERSION)));
drush_set_option('profiles', _scrub_object(_provision_find_profiles()), 'platform');
drush_set_option('profiles', _scrub_object(_provision_find_profiles()), 'drupal');
}
else {
......@@ -35,7 +38,7 @@ function provision_drupal_provision_verify($url = null) {
_provision_drupal_maintain_aliases($url);
// Requires at least the database settings to complete.
_provision_drupal_create_settings_file($url);
provision_internal_init($url);
provision_platform_include(dirname(__FILE__), 'verify');
}
#if (is_array($data['modules'])) {
......
......@@ -34,83 +34,18 @@
* rename - Change the url of a site. This requires moving of files, and numerous other issues.
*/
// Do not allow the program to be run as the root user. ever
$name = posix_getpwuid(posix_geteuid());
if ($name['name'] == 'root') {
return drush_set_error(PROVISION_IS_ROOT, dt('You are running the provision script as the root user. Exiting'));
}
/**
* @defgroup provisiondrush Command line interface for Provision.
* @{
*/
include_once('provision.inc');
include_once('provision.path.inc');
provision_init();
/**
* Implementation of hook_init
*
* Provide defines for all the major paths and settings.
* These are settings that must not be modified during the running of the
* program, but are configurable.
*/
function provision_init() {
// Do not allow the program to be run as the root user. ever
$name = posix_getpwuid(posix_geteuid());
if ($name['name'] == 'root') {
return drush_set_error(PROVISION_IS_ROOT, dt('You are running the provision script as the root user. Exiting'));
}
// Set up defines for platform
$docroot = drush_get_option(array("r", "root"), $_SERVER['PWD']);
drush_set_default('provision_domain', $_SERVER['HTTP_HOST']);
// Paths
$path = drush_set_default('docroot_path', rtrim(($docroot) ? $docroot : $_SERVER['DOCUMENT_ROOT'], '/'));
drush_set_default('sites_path', $path . '/sites');
$parts = explode("/", $path);
array_pop($parts);
$parent_path = drush_set_default('parent_path', implode("/" , $parts));
drush_set_default('backup_path', $parent_path . '/backups');
drush_set_default('config_path', $parent_path . '/config');
$config_path = drush_get_option('config_path');
drush_set_default('vhost_path', $config_path . '/vhost.d');
// Commands
drush_set_default('restart_cmd', _provision_default_restart_cmd());
// System account
drush_set_default('web_group', _provision_default_web_group());
drush_set_default('script_user', get_current_user());
// Redirection urls
drush_set_default('master_url', $GLOBALS['base_url']);
$master_url = drush_get_option('master_url');
drush_set_default('web_disable_url', $master_url .'/provision/disabled');
drush_set_default('web_maintenence_url', $master_url .'/provision/maintenance');
// Database
drush_set_default('master_db', $GLOBALS['db_url']);
$master_db = drush_get_option('master_db');
$db = parse_url($master_db);
drush_set_default('master_db_user', $db['user']);
drush_set_default('master_db_passwd', $db['pass']);
drush_set_default('master_db_host', $db['host']);
drush_set_default('db_host', $db['host']);
drush_set_default('master_db_type', $db['scheme']);
drush_set_default('db_type', $db['scheme']);
drush_set_default('publish_path', drush_get_option('docroot_path'));
drush_set_default('site_url', $url);
drush_set_default('profile', 'default');
drush_set_default('web_ip', '127.0.0.1');
drush_set_default('web_port', 80);
drush_set_default('language', 'en');
drush_set_default('aliases', array());
}
/**
* Implementation of hook_drush_command().
......@@ -122,7 +57,7 @@ function provision_drush_command() {
'callback arguments' => array('install'),
'arguments' => array('domain.com' => dt('The domain of the site to install.')),
'description' => dt('Provision a new site using the provided data.'),
'bootstrap' => -1
'bootstrap' => DRUSH_BOOTSTRAP_DRUPAL_ROOT
);
$items['provision import'] = array(
......@@ -130,7 +65,7 @@ function provision_drush_command() {
'callback arguments' => array('import'),
'arguments' => array('domain.com' => dt('The domain of the site to import.')),
'description' => dt('Turn an already running site into a provisioned site.'),
'bootstrap' => -1
'bootstrap' => DRUSH_BOOTSTRAP_DRUPAL_ROOT
);
$items['provision update'] = array(
......@@ -138,7 +73,7 @@ function provision_drush_command() {
'callback arguments' => array('update'),
'arguments' => array('domain.com' => dt('The domain of the site to update.')),
'description' => dt('Run any outstanding updates on the site.'),
'bootstrap' => -1
'bootstrap' => DRUSH_BOOTSTRAP_DRUPAL_ROOT
);
$items['provision backup'] = array(
......@@ -147,7 +82,7 @@ function provision_drush_command() {
'arguments' => array('domain.com' => dt('The domain of the site to back up.')),
'optional arguments' => array('backup-file' => dt('The file to save the backup to. This will be a gzipped tarball.')),
'description' => dt('Generate a back up for the site.'),
'bootstrap' => -1
'bootstrap' => DRUSH_BOOTSTRAP_DRUPAL_ROOT
);
$items['provision enable'] = array(
......@@ -155,14 +90,14 @@ function provision_drush_command() {
'callback arguments' => array('enable'),
'arguments' => array('domain.com' => dt('The domain of the site to enable (only if enabled).')),
'description' => 'Enable a disabled site.',
'bootstrap' => -1
'bootstrap' => DRUSH_BOOTSTRAP_DRUPAL_ROOT
);
$items['provision disable'] = array(
'callback' => 'provision_command',
'callback arguments' => array('disable'),
'arguments' => array('domain.com' => dt('The domain of the site to disable (only if disabled).')),
'description' => 'Disable a site.',
'bootstrap' => -1
'bootstrap' => DRUSH_BOOTSTRAP_DRUPAL_ROOT
);
$items['provision verify'] = array(
......@@ -170,7 +105,7 @@ function provision_drush_command() {
'callback arguments' => array('verify'),
'arguments' => array('domain.com' => dt('The domain of the site to verify).')),
'description' => 'Verify that the provisioning framework is correctly installed.',
'bootstrap' => -1
'bootstrap' => DRUSH_BOOTSTRAP_DRUPAL_ROOT,
);
$items['provision restore'] = array(
......@@ -179,7 +114,7 @@ function provision_drush_command() {
'description' => 'Restore the site to a previous backup. This will also generate a backup of the site as it was.',
'arguments' => array('domain.com' => dt('The domain of the site to be restored'),
'site_backup.tar.gz' => dt('The backup to restore the site to.')),
'bootstrap' => -1
'bootstrap' => DRUSH_BOOTSTRAP_DRUPAL_ROOT
);
$items['provision deploy'] = array(
......@@ -188,7 +123,7 @@ function provision_drush_command() {
'description' => 'Deploy an existing backup to a new url.',
'arguments' => array('domain.com' => dt('The domain to deploy the site package to.'),
'site_backup.tar.gz' => dt('The backup to deploy.')),
'bootstrap' => -1
'bootstrap' => DRUSH_BOOTSTRAP_DRUPAL_ROOT
);
$items['provision migrate'] = array(
......@@ -197,14 +132,14 @@ function provision_drush_command() {
'description' => 'Migrate a site between platforms.',
'arguments' => array('domain.com' => dt('The domain to migrate. Any outstanding updates will be run.'),
'/path/to/platform' => dt('The platform to migrate the site to.')),
'bootstrap' => -1
'bootstrap' => DRUSH_BOOTSTRAP_DRUPAL_ROOT
);
$items['provision delete'] = array(
'callback' => 'provision_command',
'callback arguments' => array('delete'),
'description' => 'Delete a site.',
'bootstrap' => -1
'bootstrap' => DRUSH_BOOTSTRAP_DRUPAL_ROOT
);
$items['provision cron'] = array(
......@@ -212,7 +147,7 @@ function provision_drush_command() {
'callback arguments' => array('cron'),
'description' => 'Run cron process for site.',
'arguments' => array('domain.com' => dt('The domain of the site to be processed')),
'bootstrap' => -1
'bootstrap' => DRUSH_BOOTSTRAP_DRUPAL_ROOT
);
return $items;
......
......@@ -93,13 +93,13 @@ function provision_command($hook, $arg1 = NULL, $arg2 = NULL, $arg3 = NULL, $arg
_drush_log_drupal_messages();
}
if (!drush_get_error()) {
$success = provision_invoke($hook, $arg1, $arg2, $arg3, $arg4, $arg5);
if ($success) {
foreach (drush_command_implements('provision_finalize') as $name) {
$func = $name . '_provision_finalize';
$func($arg1, $arg2, $arg3, $arg4, $arg5);
_drush_log_drupal_messages();
}
provision_invoke($hook, $arg1, $arg2, $arg3, $arg4, $arg5);
}
if (!drush_get_error()) {
foreach (drush_command_implements('provision_finalize') as $name) {
$func = $name . '_provision_finalize';
$func($arg1, $arg2, $arg3, $arg4, $arg5);
_drush_log_drupal_messages();
}
}
}
......@@ -159,7 +159,7 @@ function provision_load_site_data($url) {
// The provision 0.1 config data might contain older data,
// so any data in the new drushrc.php file would be newer.
$site_context = _drush_get_context('site');
$site_context = drush_get_context('site');
$site_context = array_merge($data, $site_context);
drush_set_context('site', $site_context);
}
......@@ -351,21 +351,6 @@ function provision_posix_groupname($group) {
return $group;
}
function provision_internal_init($url, $bootstrap = TRUE) {
$url = ($url) ? $url : 'default';
$drupal_base_url = parse_url(sprintf("http://" . $url));
$_SERVER['HTTP_HOST'] = $drupal_base_url['host'];
$_SERVER['PHP_SELF'] = '/index.php';
$_SERVER['REQUEST_URI'] = $_SERVER['SCRIPT_NAME'] = $_SERVER['PHP_SELF'];
$_SERVER['REMOTE_ADDR'] = '127.0.0.1';
$_SERVER['REQUEST_METHOD'] = NULL;
$_SERVER['SERVER_SOFTWARE'] = NULL;
if ($bootstrap) {
include_once('./includes/bootstrap.inc');
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
}
}
function provision_password($length = 10) {
// This variable contains the list of allowable characters for the
// password. Note that the number 0 and the letter 'O' have been
......
......@@ -11,6 +11,42 @@
* to ensure that the sites are getting loaded up correctly.
*/
function provision_apache_provision_init() {
// Set up defines for platform
$docroot = drush_get_option(array("r", "root"), $_SERVER['PWD']);
$path = drush_set_default('docroot_path', rtrim(($docroot) ? $docroot : $_SERVER['DOCUMENT_ROOT'], '/'));
drush_set_default('sites_path', $path . '/sites');
drush_set_default('publish_path', drush_get_option('docroot_path'));
$parts = explode("/", $path);
array_pop($parts);
$parent_path = drush_set_default('parent_path', implode("/" , $parts));
drush_set_default('backup_path', $parent_path . '/backups');
drush_set_default('config_path', $parent_path . '/config');
$config_path = drush_get_option('config_path');
drush_set_default('vhost_path', $config_path . '/vhost.d');
// Commands
drush_set_default('restart_cmd', _provision_default_restart_cmd());
// System account
drush_set_default('web_group', _provision_default_web_group());
drush_set_default('script_user', get_current_user());
// Redirection urls
drush_set_default('master_url', $GLOBALS['base_url']);
$master_url = drush_get_option('master_url');
drush_set_default('web_disable_url', $master_url .'/provision/disabled');
drush_set_default('web_maintenence_url', $master_url .'/provision/maintenance');
drush_set_default('web_ip', '127.0.0.1');
drush_set_default('web_port', 80);
}
/**
* The default template provided for the virtual host configuration
*/
......
......@@ -12,13 +12,13 @@ function provision_apache_provision_verify($url) {
function provision_apache_provision_post_verify($url) {
if (PROVISION_CONTEXT_PLATFORM) {
drush_set_option('master_url', drush_get_option('master_url'), 'platform');
drush_set_option('publish_path', drush_get_option('publish_path'), 'platform');
drush_set_option('web_host', drush_get_option('web_host', '127.0.0.1'), 'platform');
drush_set_option('web_group', drush_get_option('web_group'), 'platform');
drush_set_option('script_user', drush_get_option('script_user'), 'platform');
drush_set_option('restart_cmd', drush_get_option('restart_cmd'), 'platform');
drush_set_option('backup_path', drush_get_option('backup_path'), 'platform');
drush_set_option('config_path', drush_get_option('config_path'), 'platform');
drush_set_option('master_url', drush_get_option('master_url'), 'drupal');
drush_set_option('publish_path', drush_get_option('publish_path'), 'drupal');
drush_set_option('web_host', drush_get_option('web_host', '127.0.0.1'), 'drupal');
drush_set_option('web_group', drush_get_option('web_group'), 'drupal');
drush_set_option('script_user', drush_get_option('script_user'), 'drupal');
drush_set_option('restart_cmd', drush_get_option('restart_cmd'), 'drupal');
drush_set_option('backup_path', drush_get_option('backup_path'), 'drupal');
drush_set_option('config_path', drush_get_option('config_path'), 'drupal');
}
}
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