diff --git a/modules/system/models/File.php b/modules/system/models/File.php index 582cfd427..40f6a46af 100644 --- a/modules/system/models/File.php +++ b/modules/system/models/File.php @@ -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); + } }