|
|
|
@ -26,14 +26,14 @@ if (isset($_POST['admin_export'])) { |
|
|
|
|
$root = OC::$SERVERROOT . "/"; |
|
|
|
|
$zip = new ZipArchive(); |
|
|
|
|
$filename = sys_get_temp_dir() . "/owncloud_export_" . date("y-m-d_H-i-s") . ".zip"; |
|
|
|
|
error_log("Creating export file at: " . $filename); |
|
|
|
|
OC_Log::write('admin_export',"Creating export file at: " . $filename,OC_Log::INFO); |
|
|
|
|
if ($zip->open($filename, ZIPARCHIVE::CREATE) !== TRUE) { |
|
|
|
|
exit("Cannot open <$filename>\n"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (isset($_POST['owncloud_system'])) { |
|
|
|
|
// adding owncloud system files |
|
|
|
|
error_log("Adding owncloud system files to export"); |
|
|
|
|
OC_Log::write('admin_export',"Adding owncloud system files to export",OC_Log::INFO); |
|
|
|
|
zipAddDir($root, $zip, false); |
|
|
|
|
foreach (array(".git", "3rdparty", "apps", "core", "files", "l10n", "lib", "ocs", "search", "settings", "tests") as $dirname) { |
|
|
|
|
zipAddDir($root . $dirname, $zip, true, basename($root) . "/"); |
|
|
|
@ -43,7 +43,7 @@ if (isset($_POST['admin_export'])) { |
|
|
|
|
if (isset($_POST['owncloud_config'])) { |
|
|
|
|
// adding owncloud config |
|
|
|
|
// todo: add database export |
|
|
|
|
error_log("Adding owncloud config to export"); |
|
|
|
|
OC_Log::write('admin_export',"Adding owncloud config to export",OC_Log::INFO); |
|
|
|
|
zipAddDir($root . "config/", $zip, true, basename($root) . "/"); |
|
|
|
|
$zip->addFile($root . '/data/.htaccess', basename($root) . "/data/owncloud.db"); |
|
|
|
|
} |
|
|
|
@ -53,7 +53,7 @@ if (isset($_POST['admin_export'])) { |
|
|
|
|
$zip->addFile($root . '/data/.htaccess', basename($root) . "/data/.htaccess"); |
|
|
|
|
$zip->addFile($root . '/data/index.html', basename($root) . "/data/index.html"); |
|
|
|
|
foreach (OC_User::getUsers() as $i) { |
|
|
|
|
error_log("Adding owncloud user files of $i to export"); |
|
|
|
|
OC_Log::write('admin_export',"Adding owncloud user files of $i to export",OC_Log::INFO); |
|
|
|
|
zipAddDir($root . "data/" . $i, $zip, true, basename($root) . "/data/"); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
@ -78,19 +78,19 @@ function zipAddDir($dir, $zip, $recursive=true, $internalDir='') { |
|
|
|
|
$internalDir.=$dirname.='/'; |
|
|
|
|
|
|
|
|
|
if ($dirhandle = opendir($dir)) { |
|
|
|
|
while (false !== ( $file = readdir($dirhandle))) { |
|
|
|
|
while (false !== ( $file = readdir($dirhandle))) { |
|
|
|
|
|
|
|
|
|
if (( $file != '.' ) && ( $file != '..' )) { |
|
|
|
|
if (( $file != '.' ) && ( $file != '..' )) { |
|
|
|
|
|
|
|
|
|
if (is_dir($dir . '/' . $file) && $recursive) { |
|
|
|
|
zipAddDir($dir . '/' . $file, $zip, $recursive, $internalDir); |
|
|
|
|
} elseif (is_file($dir . '/' . $file)) { |
|
|
|
|
$zip->addFile($dir . '/' . $file, $internalDir . $file); |
|
|
|
|
if (is_dir($dir . '/' . $file) && $recursive) { |
|
|
|
|
zipAddDir($dir . '/' . $file, $zip, $recursive, $internalDir); |
|
|
|
|
} elseif (is_file($dir . '/' . $file)) { |
|
|
|
|
$zip->addFile($dir . '/' . $file, $internalDir . $file); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
closedir($dirhandle); |
|
|
|
|
closedir($dirhandle); |
|
|
|
|
} else { |
|
|
|
|
error_log("Was not able to open directory: " . $dir); |
|
|
|
|
OC_Log::write('admin_export',"Was not able to open directory: " . $dir,OC_Log::ERROR); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|