Browse Source

Use data dir from config.php

remotes/origin/stable4
Tom Needham 15 years ago
parent
commit
cd2f75fdad
  1. 4
      apps/admin_export/settings.php
  2. 22
      apps/user_migrate/settings.php
  3. 5
      lib/migrate.php

4
apps/admin_export/settings.php

@ -31,6 +31,7 @@ define('DS', '/');
if (isset($_POST['admin_export'])) { if (isset($_POST['admin_export'])) {
$root = OC::$SERVERROOT . "/"; $root = OC::$SERVERROOT . "/";
$datadir = OC_Config::getValue( 'datadirectory' );
$zip = new ZipArchive(); $zip = new ZipArchive();
$tempdir = get_temp_dir(); $tempdir = get_temp_dir();
$filename = $tempdir . "/owncloud_export_" . date("y-m-d_H-i-s") . ".zip"; $filename = $tempdir . "/owncloud_export_" . date("y-m-d_H-i-s") . ".zip";
@ -70,7 +71,6 @@ if (isset($_POST['admin_export'])) {
OC_Log::write('admin_export',"Adding owncloud config to export",OC_Log::INFO); OC_Log::write('admin_export',"Adding owncloud config to export",OC_Log::INFO);
zipAddDir($root . "config/", $zip, true, "/"); zipAddDir($root . "config/", $zip, true, "/");
$zip->addFile($root . '/data/.htaccess', "data/owncloud.db");
} }
if (isset($_POST['user_files'])) { if (isset($_POST['user_files'])) {
@ -80,7 +80,7 @@ if (isset($_POST['admin_export'])) {
$zip->addFile($root . '/data/index.html', "data/index.html"); $zip->addFile($root . '/data/index.html', "data/index.html");
foreach (OC_User::getUsers() as $i) { foreach (OC_User::getUsers() as $i) {
OC_Log::write('admin_export',"Adding owncloud user files of $i to export",OC_Log::INFO); OC_Log::write('admin_export',"Adding owncloud user files of $i to export",OC_Log::INFO);
zipAddDir($root . "data/" . $i, $zip, true, "/data/");
zipAddDir($datadir . '/' . $i, $zip, true, "/data/");
} }
} }

22
apps/user_migrate/settings.php

@ -32,20 +32,9 @@ if (isset($_POST['user_export'])) {
$zip = new ZipArchive(); $zip = new ZipArchive();
$tmp = get_temp_dir(); $tmp = get_temp_dir();
$user = OC_User::getUser(); $user = OC_User::getUser();
// Create owncoud dir
if( !file_exists( $tmp . '/owncloud' ) ){
if( !mkdir( $tmp . '/owncloud' ) ){
die('Failed to create the owncloud tmp directory');
}
}
// Create the export dir
$exportdir = $tmp . '/owncloud' . '/export_' . $user . '_' . date("y-m-d_H-i-s");
if( !file_exists( $exportdir ) ){
if( !mkdir( $exportdir ) ){
die('Failed to create the owncloud export directory');
}
}
$filename = $exportdir . '/owncloud_export_' . $user . '_' . date("y-m-d_H-i-s") . ".zip";
$userdatadir = OC_Config::getValue( 'datadirectory' ) . '/' . $user;
$filename = $userdatadir . '/owncloud_export_' . $user . '_' . date("y-m-d_H-i-s") . ".zip";
OC_Log::write('user_migrate',"Creating export file at: " . $filename,OC_Log::INFO); OC_Log::write('user_migrate',"Creating export file at: " . $filename,OC_Log::INFO);
if ($zip->open($filename, ZIPARCHIVE::CREATE) !== TRUE) { if ($zip->open($filename, ZIPARCHIVE::CREATE) !== TRUE) {
exit("Cannot open <$filename>\n"); exit("Cannot open <$filename>\n");
@ -53,11 +42,11 @@ if (isset($_POST['user_export'])) {
// Migrate the app info // Migrate the app info
$info = json_encode( OC_Migrate::export( $user ) ); $info = json_encode( OC_Migrate::export( $user ) );
$infofile = OC::$SERVERROOT . '/data/' . $user . '/exportinfo.json';
$infofile = $userdatadir . '/exportinfo.json';
file_put_contents( $infofile, $info ); file_put_contents( $infofile, $info );
// Add the data dir (which includes migration.db and exportinfo.json) // Add the data dir (which includes migration.db and exportinfo.json)
zipAddDir(OC::$SERVERROOT . "/data/" . $user, $zip, true, "/");
zipAddDir( $userdatadir, $zip, true, "/" );
// Save the zip // Save the zip
$zip->close(); $zip->close();
@ -70,7 +59,6 @@ if (isset($_POST['user_export'])) {
readfile($filename); readfile($filename);
// Cleanup // Cleanup
unlink($filename); unlink($filename);
rmdir($exportdir);
OC_Migrate::cleanUp(); OC_Migrate::cleanUp();
} if( isset( $_POST['user_import'] ) ){ } if( isset( $_POST['user_import'] ) ){

5
lib/migrate.php

@ -447,10 +447,11 @@ class OC_Migrate{
OC_Log::write('migration', 'Failed to cleanup after migration', OC_Log::ERROR); OC_Log::write('migration', 'Failed to cleanup after migration', OC_Log::ERROR);
return false; return false;
} }
$userdatadir = OC_Config::getValue( 'datadirectory' ) . '/' . self::$uid;
// Remove migration.db // Remove migration.db
unlink( OC::$SERVERROOT . '/data/' . self::$uid . '/migration.db' );
unlink( $userdatadir . '/migration.db' );
// Remove exportinfo.json // Remove exportinfo.json
unlink( OC::$SERVERROOT . '/data/' . self::$uid . '/exportinfo.json' );
unlink( $userdatadir . '/exportinfo.json' );
return true; return true;
} }
} }
Loading…
Cancel
Save