Added Import:move from Import:server and disabled moveToTemp by default (#151)

This commit is contained in:
Tobias Reich 2014-05-16 22:47:45 +02:00
parent 0167507604
commit 08fe04c241

View File

@ -58,11 +58,7 @@ class Import extends Module {
} }
static function server($albumID = 0, $path) { static function move($database, $path) {
global $database, $plugins, $settings;
if (!isset($path)) $path = LYCHEE_UPLOADS_IMPORT;
# Determine OS type and set move cmd (Windows untested!) # Determine OS type and set move cmd (Windows untested!)
$myos = substr(PHP_OS,0,3); $myos = substr(PHP_OS,0,3);
@ -75,7 +71,7 @@ class Import extends Module {
$tmpdirname = md5(time() . rand()); $tmpdirname = md5(time() . rand());
# Make temporary directory # Make temporary directory
if (@mkdir(LYCHEE_DATA . $tmpdirname)===false) { if (@mkdir(LYCHEE_DATA . $tmpdirname)===false) {
Log::error($database, __METHOD__, __LINE__, 'Failed to create temporary directory'); Log::error($database, __METHOD__, __LINE__, 'Failed to create temporary directory');
return false; return false;
} }
@ -107,11 +103,26 @@ class Import extends Module {
return false; return false;
} }
# Set new path
$path = LYCHEE_DATA . $tmpdirname;
return $path;
}
static function server($albumID = 0, $path, $useTemp = false) {
global $database, $plugins, $settings;
if (!isset($path)) $path = LYCHEE_UPLOADS_IMPORT;
if ($useTemp===true) $path = Import::move($database, $path);
$error = false; $error = false;
$contains['photos'] = false; $contains['photos'] = false;
$contains['albums'] = false; $contains['albums'] = false;
$path = LYCHEE_DATA . $tmpdirname; # Get all files
$files = glob($path . '/*'); $files = glob($path . '/*');
foreach ($files as $file) { foreach ($files as $file) {
@ -149,7 +160,7 @@ class Import extends Module {
continue; continue;
} }
Import::server($newAlbumID, $file . '/'); Import::server($newAlbumID, $file . '/', false);
$contains['albums'] = true; $contains['albums'] = true;
@ -158,7 +169,7 @@ class Import extends Module {
} }
# Delete tmpdir if import was successful # Delete tmpdir if import was successful
if ($error===false) rmdir(LYCHEE_DATA . $tmpdirname); if ($error===false&&$useTemp===true&&isset($tmpdirname)) rmdir(LYCHEE_DATA . $tmpdirname);
if ($contains['photos']===false&&$contains['albums']===false) return 'Warning: Folder empty or no readable files to process!'; if ($contains['photos']===false&&$contains['albums']===false) return 'Warning: Folder empty or no readable files to process!';
if ($contains['photos']===false&&$contains['albums']===true) return 'Notice: Import only contains albums!'; if ($contains['photos']===false&&$contains['albums']===true) return 'Notice: Import only contains albums!';