]> BookStack Code Mirror - bookstack/blobdiff - app/Services/ImageService.php
Fixed some cross browser flexbox popup issues
[bookstack] / app / Services / ImageService.php
index f645a06a5b71415622bbeff85515db2a352e5d02..4401cb230a8b4105ba5458be1e4e88f596803ccb 100644 (file)
@@ -259,15 +259,21 @@ class ImageService
             $storageUrl = config('filesystems.url');
 
             // Get the standard public s3 url if s3 is set as storage type
+            // Uses the nice, short URL if bucket name has no periods in otherwise the longer
+            // region-based url will be used to prevent http issues.
             if ($storageUrl == false && config('filesystems.default') === 's3') {
                 $storageDetails = config('filesystems.disks.s3');
-                $storageUrl = 'https://' . $storageDetails['bucket'] . '.s3.amazonaws.com';
+                if (strpos($storageDetails['bucket'], '.') === false) {
+                    $storageUrl = 'https://' . $storageDetails['bucket'] . '.s3.amazonaws.com';
+                } else {
+                    $storageUrl = 'https://s3-' . $storageDetails['region'] . '.amazonaws.com/' . $storageDetails['bucket'];
+                }
             }
 
             $this->storageUrl = $storageUrl;
         }
 
-        return ($this->storageUrl == false ? '' : rtrim($this->storageUrl, '/')) . $filePath;
+        return ($this->storageUrl == false ? rtrim(baseUrl(''), '/') : rtrim($this->storageUrl, '/')) . $filePath;
     }