Skip to content
Snippets Groups Projects
Commit 9e87c37a authored by Eric Rasmussen's avatar Eric Rasmussen
Browse files

Merge branch 'issue-426' into develop

parents ced5da35 59e92d58
No related branches found
No related tags found
No related merge requests found
...@@ -338,11 +338,7 @@ function unl_remove_site($site_path, $uri, $db_prefix, $site_id) { ...@@ -338,11 +338,7 @@ function unl_remove_site($site_path, $uri, $db_prefix, $site_id) {
} }
function unl_add_alias($site_uri, $base_uri, $path, $alias_id) { function unl_add_alias($site_uri, $base_uri, $path, $alias_id) {
$alias_uri = $base_uri . $path; unl_add_alias_to_sites_php($site_uri, $base_uri, $path, $alias_id);
$real_config_dir = unl_get_sites_subdir($site_uri);
$alias_config_dir = unl_get_sites_subdir($alias_uri, FALSE);
unl_add_alias_to_sites_php($alias_config_dir, $real_config_dir, $alias_id);
if ($path) { if ($path) {
unl_add_site_to_htaccess($alias_id, $path, TRUE); unl_add_site_to_htaccess($alias_id, $path, TRUE);
} }
...@@ -471,9 +467,13 @@ function unl_remove_page_alias_from_htaccess($site_id) { ...@@ -471,9 +467,13 @@ function unl_remove_page_alias_from_htaccess($site_id) {
file_put_contents(DRUPAL_ROOT . '/.htaccess', $new_htaccess); file_put_contents(DRUPAL_ROOT . '/.htaccess', $new_htaccess);
} }
function unl_add_alias_to_sites_php($alias_site_dir, $real_site_dir, $alias_id) { function unl_add_alias_to_sites_php($site_uri, $base_uri, $path, $alias_id) {
unl_require_writable(DRUPAL_ROOT . '/sites/sites.php'); unl_require_writable(DRUPAL_ROOT . '/sites/sites.php');
$alias_uri = $base_uri . $path;
$real_site_dir = unl_get_sites_subdir($site_uri);
$alias_site_dir = unl_get_sites_subdir($alias_uri, FALSE);
$stub_token = '# %UNL_CREATION_TOOL_STUB%'; $stub_token = '# %UNL_CREATION_TOOL_STUB%';
$sites_php = file_get_contents(DRUPAL_ROOT . '/sites/sites.php'); $sites_php = file_get_contents(DRUPAL_ROOT . '/sites/sites.php');
$stub_pos = strpos($sites_php, $stub_token); $stub_pos = strpos($sites_php, $stub_token);
...@@ -485,8 +485,14 @@ function unl_add_alias_to_sites_php($alias_site_dir, $real_site_dir, $alias_id) ...@@ -485,8 +485,14 @@ function unl_add_alias_to_sites_php($alias_site_dir, $real_site_dir, $alias_id)
. "\$sites['$alias_site_dir'] = '$real_site_dir';\n" . "\$sites['$alias_site_dir'] = '$real_site_dir';\n"
. "# %UNL_END_ALIAS_ID_{$alias_id}%\n\n" . "# %UNL_END_ALIAS_ID_{$alias_id}%\n\n"
. $stub_token . $stub_token
. substr($sites_php, $stub_pos + strlen($stub_token)) . substr($sites_php, $stub_pos + strlen($stub_token));
;
// Ensure every value in the $sites array is a genuine site dir and not an alias.
// For the real dir c, this changes ($sites['a']='b'; $sites['b']='c';)
// to ($sites['a']='c'; $sites['b']='c';) to ensure continued operation if alias b is deleted.
$old_real_site_dir = unl_get_sites_subdir($alias_uri);
$new_sites_php = str_replace("'".$old_real_site_dir."'", "'".$real_site_dir."'", $new_sites_php);
file_put_contents(DRUPAL_ROOT . '/sites/sites.php', $new_sites_php); file_put_contents(DRUPAL_ROOT . '/sites/sites.php', $new_sites_php);
} }
...@@ -515,4 +521,3 @@ function unl_require_writable($path) { ...@@ -515,4 +521,3 @@ function unl_require_writable($path) {
throw new Exception('The file "' . $path . '" needs to be writable and is not.'); throw new Exception('The file "' . $path . '" needs to be writable and is not.');
} }
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment