Index: demo.admin.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/demo/demo.admin.inc,v
retrieving revision 1.1.2.8
diff -u -p -r1.1.2.8 demo.admin.inc
--- demo.admin.inc 13 Feb 2009 03:37:32 -0000 1.1.2.8
+++ demo.admin.inc 14 May 2009 15:48:45 -0000
@@ -55,7 +55,7 @@ function demo_admin_settings() {
'#title' => t('Dump path'),
'#default_value' => $fileconfig['path'],
'#size' => 30,
- '#description' => t('Enter a writable directory where dump files of this demonstration site are stored, f.e. %files. The name of this site (e.g. %confpath) is automatically appended to this directory.
Note: For security reasons you should store site dumps outside of the document root of your webspace!', array('%files' => file_directory_path() .'/demo', '%confpath' => $fileconfig['site'])),
+ '#description' => t('Enter a writable directory where dump files of this demonstration site are stored, f.e. %files. The name of this site (e.g. %confpath) is automatically appended to this directory, if required.
Note: For security reasons you should store site dumps outside of the document root of your webspace!', array('%files' => file_directory_path() .'/demo', '%confpath' => $fileconfig['site'])),
);
$form[] = array(
'#type' => 'submit',
@@ -303,8 +303,12 @@ function demo_get_fileconfig($filename =
// Build dump path.
$fileconfig['path'] = variable_get('demo_dump_path', file_directory_path() .'/demo');
+ $fileconfig['dumppath'] = $fileconfig['path'];
+ // Append site name if it is not included in file_directory_path().
$fileconfig['site'] = str_replace('sites', '', conf_path());
- $fileconfig['dumppath'] = $fileconfig['path'] . $fileconfig['site'];
+ if (strpos(file_directory_path(), conf_path()) === FALSE) {
+ $fileconfig['dumppath'] .= $fileconfig['site'];
+ }
// Check if directory exists.
file_check_directory($fileconfig['path'], FILE_CREATE_DIRECTORY, 'path');
@@ -324,11 +328,11 @@ function demo_get_fileconfig($filename =
// Build SQL filename.
$fileconfig['sql'] = $filename .'.sql';
- $fileconfig['sqlfile'] = $fileconfig['path'] . $fileconfig['site'] .'/'. $filename .'.sql';
+ $fileconfig['sqlfile'] = $fileconfig['dumppath'] .'/'. $fileconfig['sql'];
// Build info filename.
$fileconfig['info'] = $filename .'.info';
- $fileconfig['infofile'] = $fileconfig['path'] . $fileconfig['site'] .'/'. $filename .'.info';
+ $fileconfig['infofile'] = $fileconfig['dumppath'] .'/'. $fileconfig['info'];
return $fileconfig;
}
Index: demo.install
===================================================================
RCS file: demo.install
diff -N demo.install
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ demo.install 14 May 2009 15:47:54 -0000
@@ -0,0 +1,35 @@
+filename, $new_path .'/'. $file->basename);
+ }
+ // Ignore any warnings from rmdir() about unrelated files in the old
+ // directory (they will NOT be deleted).
+ @rmdir($old_path);
+ $ret[] = array('success' => TRUE, 'query' => t('The demo snapshot files have been successfully moved to %path.', array('%path' => $new_path)));
+ }
+ }
+
+ return $ret;
+}
+