mirror of
https://github.com/wintercms/winter.git
synced 2024-06-28 05:33:29 +02:00
Use cms.storage.uploads.disk instead of filesystem.default
Fixes #3332. FileUpload widget uploads file to the disk specified by default in config/filesystem.php instead of storage.uploads.disk in config/cms.php, if we use System\Models\File following the instruction in here. Although we can still create another class extending System\Models\File or October\Rain\Database\Attach\File and use it as the model for attachOne/Many relation, System\Models\File seems to be the one that responsible to look at storage.uploads.disk in config/cms.php, because the existing methods are using storage.uploads.*. Credit to @pikanji
This commit is contained in:
parent
1389f77390
commit
54ab6f080a
@ -2,6 +2,8 @@
|
||||
|
||||
use Url;
|
||||
use Config;
|
||||
use File as FileHelper;
|
||||
use Storage;
|
||||
use October\Rain\Database\Attach\File as FileBase;
|
||||
|
||||
/**
|
||||
@ -56,4 +58,23 @@ class File extends FileBase
|
||||
return $uploadsFolder . '/protected/';
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns true if storage.uploads.disk in config/cms.php is "local".
|
||||
* @return bool
|
||||
*/
|
||||
protected function isLocalStorage()
|
||||
{
|
||||
return Config::get('cms.storage.uploads.disk') == 'local';
|
||||
}
|
||||
|
||||
/**
|
||||
* Copy the local file to Storage
|
||||
* @return bool True on success, false on failure.
|
||||
*/
|
||||
protected function copyLocalToStorage($localPath, $storagePath)
|
||||
{
|
||||
$disk = Storage::disk(Config::get('cms.storage.uploads.disk'));
|
||||
return $disk->put($storagePath, FileHelper::get($localPath), ($this->isPublic()) ? 'public' : null);
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user