Fixed: Only import urls passend to the function, not existing photos from the temp folder
This commit is contained in:
parent
6d7917aa15
commit
1dece87434
@ -32,6 +32,8 @@ class Import extends Module {
|
|||||||
|
|
||||||
static function url($urls, $albumID = 0) {
|
static function url($urls, $albumID = 0) {
|
||||||
|
|
||||||
|
global $database, $plugins, $settings;
|
||||||
|
|
||||||
$error = false;
|
$error = false;
|
||||||
|
|
||||||
# Parse
|
# Parse
|
||||||
@ -40,6 +42,9 @@ class Import extends Module {
|
|||||||
|
|
||||||
foreach ($urls as &$url) {
|
foreach ($urls as &$url) {
|
||||||
|
|
||||||
|
# Validate photo type and extension even when Import::photo (=> $photo->add) will do the same.
|
||||||
|
# This prevents us from downloading invalid photos.
|
||||||
|
|
||||||
# Verify extension
|
# Verify extension
|
||||||
$extension = getExtension($url);
|
$extension = getExtension($url);
|
||||||
if (!in_array(strtolower($extension), Photo::$validExtensions, true)) {
|
if (!in_array(strtolower($extension), Photo::$validExtensions, true)) {
|
||||||
@ -58,14 +63,23 @@ class Import extends Module {
|
|||||||
$filename = $pathinfo['filename'] . '.' . $pathinfo['extension'];
|
$filename = $pathinfo['filename'] . '.' . $pathinfo['extension'];
|
||||||
$tmp_name = LYCHEE_DATA . $filename;
|
$tmp_name = LYCHEE_DATA . $filename;
|
||||||
|
|
||||||
if (@copy($url, $tmp_name)===false) $error = true;
|
if (@copy($url, $tmp_name)===false) {
|
||||||
|
$error = true;
|
||||||
|
Log::error($database, __METHOD__, __LINE__, 'Could not copy file (' . $tmp_name . ') to temp-folder (' . $tmp_name . ')');
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
# Import photo
|
||||||
|
if (!Import::photo($database, $plugins, $settings, $tmp_name, $albumID)) {
|
||||||
|
$error = true;
|
||||||
|
Log::error($database, __METHOD__, __LINE__, 'Could not import file: ' . $tmp_name);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$import = Import::server($albumID, LYCHEE_DATA);
|
if ($error===false) return true;
|
||||||
|
return false;
|
||||||
if ($error===false&&$import===true) return true;
|
|
||||||
else return false;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user