From 8493c6943bcc756f8256a19a21749df5e8a8762c Mon Sep 17 00:00:00 2001 From: Freek Date: Thu, 14 May 2015 09:35:13 +0200 Subject: [PATCH] create medialibrary base directory if it does not exist --- src/MediaLibraryRepository.php | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/src/MediaLibraryRepository.php b/src/MediaLibraryRepository.php index 454ea6bf2..81ed5f9a9 100644 --- a/src/MediaLibraryRepository.php +++ b/src/MediaLibraryRepository.php @@ -39,7 +39,7 @@ public function add($file, MediaLibraryModelInterface $model, $collectionName, $ throw new Exception('File '.$file.' does not exist'); } - $this->addIgnoreFileToMediaLibraryDirectory(); + $this->createMediaLibraryBaseDirectory(); $media = $this->createMediaForFile($file, $collectionName, $addAsTemporary); @@ -266,13 +266,27 @@ private function mediaIsPreloaded(MediaLibraryModelInterface $model) } /** - * Copy the gitignore stub to medialibrary directory. + * Create the base medialibrary directory if it does not exist. */ - private function addIgnoreFileToMediaLibraryDirectory() + private function createMediaLibraryBaseDirectory() { - $destinationDirectory = config('laravel-medialibrary.publicPath'); + $mediaLibraryBaseDirectory = config('laravel-medialibrary.publicPath'); + + if (!File::exists($mediaLibraryBaseDirectory)) + { + File::makeDirectory($mediaLibraryBaseDirectory, '493', true, true); + } + + $this->addIgnoreFileToDirectory($mediaLibraryBaseDirectory); + } - $destinationFile = $destinationDirectory.'/.gitignore'; + /** + * Copy the gitignore stub to medialibrary directory. + * @param string $directory + */ + private function addIgnoreFileToDirectory($directory) + { + $destinationFile = $directory.'/.gitignore'; if (!file_exists($destinationFile)) { File::copy(__DIR__.'/stubs/gitignore.txt', $destinationFile); }