Просмотр исходного кода

#3337 S3 could work incorrectly when custom domain is used

Alex Trofimov 5 лет назад
Родитель
Сommit
243cbcc5f2
1 измененных файлов с 8 добавлено и 2 удалено
  1. 8 2
      inc/classes/BxDolStorageS3.php

+ 8 - 2
inc/classes/BxDolStorageS3.php

@@ -234,8 +234,14 @@ class BxDolStorageS3 extends BxDolStorage
 
     protected function getObjectBaseUrl ($isPrivate = false)
     {
-        $sProto = $this->_bSSL ? 'https://' : 'http://';
-        return $sProto . $this->_sBucket . '.' . ($this->_sEndpoint ? $this->_sEndpoint : 's3.amazonaws.com'). '/' . $this->getObjectBaseDir($isPrivate);
+        $sPath = $this->_bSSL ? 'https://' : 'http://';
+        if ($this->_sDomain)
+            $sPath .= $this->_sDomain;
+        elseif ($this->_sEndpoint)
+            $sPath .= $this->_sEndpoint . '/' . $this->_sBucket;
+        else
+            $sPath .= $this->_sBucket . '.s3.amazonaws.com';
+        return $sPath . '/' . $this->getObjectBaseDir($isPrivate);
     }
 }