EditAsset: allow changing an asset's parent album
This commit is contained in:
@@ -398,6 +398,45 @@ class Asset
|
||||
return $this->id_user_uploaded == $user->getUserId();
|
||||
}
|
||||
|
||||
public function moveToSubDir($destSubDir)
|
||||
{
|
||||
// Verify the original exists
|
||||
$source = ASSETSDIR . '/' . $this->subdir . '/' . $this->filename;
|
||||
if (!file_exists($source))
|
||||
return -1;
|
||||
|
||||
// Ensure the intended target file doesn't exist yet
|
||||
$destDir = ASSETSDIR . '/' . $destSubDir;
|
||||
$destFile = $destDir . '/' . $this->filename;
|
||||
|
||||
if (file_exists($destFile))
|
||||
return -2;
|
||||
|
||||
// Can we write to the target directory?
|
||||
if (!is_writable($destDir))
|
||||
return -3;
|
||||
|
||||
// Perform move
|
||||
if (rename($source, $destFile))
|
||||
{
|
||||
$this->subdir = $destSubDir;
|
||||
$this->slug = $this->subdir . '/' . $this->title;
|
||||
Registry::get('db')->query('
|
||||
UPDATE assets
|
||||
SET subdir = {string:subdir},
|
||||
slug = {string:slug}
|
||||
WHERE id_asset = {int:id_asset}',
|
||||
[
|
||||
'id_asset' => $this->id_asset,
|
||||
'subdir' => $this->subdir,
|
||||
'slug' => $this->slug,
|
||||
]);
|
||||
return true;
|
||||
}
|
||||
|
||||
return -4;
|
||||
}
|
||||
|
||||
public function replaceFile($filename)
|
||||
{
|
||||
// No filename? Abort!
|
||||
|
||||
Reference in New Issue
Block a user