From 7d246ab638f2e81ff4833938626468e96ea210b5 Mon Sep 17 00:00:00 2001 From: Tom Needham Date: Tue, 6 Nov 2012 20:59:59 +0000 Subject: Migration: On import of user accounts only import folders in home dir, use OC_Helper::copyr Check files when copying recursivley Remove obsolete method Dont count '.' and '..' as directories when importing. --- lib/helper.php | 3 ++- lib/migrate.php | 35 ++--------------------------------- 2 files changed, 4 insertions(+), 34 deletions(-) diff --git a/lib/helper.php b/lib/helper.php index 080df8613ec..f2698ffbccd 100644 --- a/lib/helper.php +++ b/lib/helper.php @@ -309,7 +309,8 @@ class OC_Helper { self::copyr("$src/$file", "$dest/$file"); } } - }elseif(file_exists($src)){ + + }elseif(file_exists($src) && !OC_Filesystem::isFileBlacklisted($src)) { copy($src, $dest); } } diff --git a/lib/migrate.php b/lib/migrate.php index 870e16e1261..41ea200abdb 100644 --- a/lib/migrate.php +++ b/lib/migrate.php @@ -199,8 +199,8 @@ class OC_Migrate{ // Get export_info.json $scan = scandir( $extractpath ); // Check for export_info.json - if( !in_array( 'export_info.json', $scan ) ){ - OC_Log::write( 'migration', 'Invalid import file, export_info.json note found', OC_Log::ERROR ); + if( !in_array( 'export_info.json', $scan ) ) { + OC_Log::write( 'migration', 'Invalid import file, export_info.json not found', OC_Log::ERROR ); return json_encode( array( 'success' => false ) ); } $json = json_decode( file_get_contents( $extractpath . 'export_info.json' ) ); @@ -311,37 +311,6 @@ class OC_Migrate{ return true; } - /** - * @brief copies recursively - * @param $path string path to source folder - * @param $dest string path to destination - * @return bool - */ - private static function copy_r( $path, $dest ){ - if( is_dir($path) ){ - @mkdir( $dest ); - $objects = scandir( $path ); - if( sizeof( $objects ) > 0 ){ - foreach( $objects as $file ){ - if( $file == "." || $file == ".." || $file == ".htaccess") - continue; - // go on - if( is_dir( $path . '/' . $file ) ){ - self::copy_r( $path .'/' . $file, $dest . '/' . $file ); - } else { - copy( $path . '/' . $file, $dest . '/' . $file ); - } - } - } - return true; - } - elseif( is_file( $path ) ){ - return copy( $path, $dest ); - } else { - return false; - } - } - /** * @brief tries to extract the import zip * @param $path string path to the zip -- cgit v1.2.3