Revert "change version information for release 1.9"
[project/provision.git] / platform / drupal / deploy.inc
1 <?php
2 // $Id$
3
4 $new_url = d()->uri;
5 /**
6 * @deprecated in drush3 it's 'options', in drush 4 it's 'cli', drop
7 * 'options' when we drop drush3 support
8 */
9 $context = drush_get_context('cli') ? 'cli' : 'options';
10 $old_url = drush_get_option('old_uri', $new_url, $context);
11
12 /**
13 * @file
14 * Handle site migration tasks for redeployed sites.
15 * This is primarily to handle the rename of the sites
16 * directories.
17 */
18
19 drush_log(
20 dt('Changed paths from sites/@old_url to sites/@new_url',
21 array('@old_url' => $old_url, '@new_url' => $new_url)));
22
23 /*
24 * Update paths for sites migrated
25 * from standalone to the multisite install.
26 */
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);
32
33 /*
34 * Update paths for sites cloned/migrated/renamed
35 * in the multisite install.
36 */
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);
42
43 variable_set('file_directory_path', "sites/$new_url/files");
44 variable_set('file_directory_temp', "sites/$new_url/files/tmp");
45
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);
51 }
52
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);
60 }
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));
66 }
67 }
68 }
69 }