6 * @deprecated in drush3 it's 'options', in drush 4 it's 'cli', drop
7 * 'options' when we drop drush3 support
9 $context = drush_get_context('cli') ?
'cli' : 'options';
10 $old_url = drush_get_option('old_uri', $new_url, $context);
14 * Handle site migration tasks for redeployed sites.
15 * This is primarily to handle the rename of the sites
20 dt('Changed paths from sites/@old_url to sites/@new_url',
21 array('@old_url' => $old_url, '@new_url' => $new_url)));
24 * Update paths for sites migrated
25 * from standalone to the multisite install.
27 db_query("UPDATE {files} SET filepath = REPLACE(filepath, 'sites/default', 'sites/%s')", $new_url);
28 db_query("UPDATE {users} SET picture = REPLACE(picture, 'sites/default', 'sites/%s')", $new_url);
29 db_query("UPDATE {boxes} SET body = REPLACE(body, 'sites/default', 'sites/%s')", $new_url);
30 db_query("UPDATE {node_revisions} SET body = REPLACE(body, 'sites/default', 'sites/%s')", $new_url);
31 db_query("UPDATE {node_revisions} SET teaser = REPLACE(teaser, 'sites/default', 'sites/%s')", $new_url);
34 * Update paths for sites cloned/migrated/renamed
35 * in the multisite install.
37 db_query("UPDATE {files} SET filepath = REPLACE(filepath, 'sites/%s', 'sites/%s')", $old_url, $new_url);
38 db_query("UPDATE {users} SET picture = REPLACE(picture, 'sites/%s', 'sites/%s')", $old_url, $new_url);
39 db_query("UPDATE {boxes} SET body = REPLACE(body, 'sites/%s', 'sites/%s')", $old_url, $new_url);
40 db_query("UPDATE {node_revisions} SET body = REPLACE(body, 'sites/%s', 'sites/%s')", $old_url, $new_url);
41 db_query("UPDATE {node_revisions} SET teaser = REPLACE(teaser, 'sites/%s', 'sites/%s')", $old_url, $new_url);
43 variable_set('file_directory_path', "sites/$new_url/files");
44 variable_set('file_directory_temp', "sites/$new_url/files/tmp");
46 // Global theme settings paths.
47 if ($var = variable_get('theme_settings', FALSE
)) {
48 $var['logo_path'] = str_replace($old_url, $new_url, $var['logo_path']);
49 $var['favicon_path'] = str_replace($old_url, $new_url, $var['favicon_path']);
50 variable_set('theme_settings', $var);
53 $themes = list_themes();
54 foreach (array_keys($themes) as
$theme) {
55 // Update logo and favicon paths for each theme.
56 if ($var = variable_get('theme_'.
$theme .
'_settings', FALSE
)) {
57 $var['logo_path'] = str_replace($old_url, $new_url, $var['logo_path']);
58 $var['favicon_path'] = str_replace($old_url, $new_url, $var['favicon_path']);
59 variable_set('theme_'.
$theme .
'_settings', $var);
61 // Update color module paths.
62 if (module_exists('color')) {
63 foreach (array('_files', '_logo', '_screenshot', '_stylesheets') as
$suffix) {
64 if ($var = variable_get('color_'.
$theme .
$suffix, FALSE
)) {
65 variable_set('color_'.
$theme .
$suffix, str_replace($old_url, $new_url, $var));