Merge pull request #11441 from civicrm/4.7.29-rc
[civicrm-core.git] / CRM / Extension / System.php
index 0601939855001dfde9ba1305d1d9b2c172e0e993..d83263a5795d6226777c45c4cd9e6f16704bdc9e 100644 (file)
@@ -98,6 +98,7 @@ class CRM_Extension_System {
     $parameters['extensionsDir'] = CRM_Utils_Array::value('extensionsDir', $parameters, $config->extensionsDir);
     $parameters['extensionsURL'] = CRM_Utils_Array::value('extensionsURL', $parameters, $config->extensionsURL);
     $parameters['resourceBase'] = CRM_Utils_Array::value('resourceBase', $parameters, $config->resourceBase);
+    $parameters['uploadDir'] = CRM_Utils_Array::value('uploadDir', $parameters, $config->uploadDir);
     $parameters['userFrameworkBaseURL'] = CRM_Utils_Array::value('userFrameworkBaseURL', $parameters, $config->userFrameworkBaseURL);
     if (!array_key_exists('civicrm_root', $parameters)) {
       $parameters['civicrm_root'] = $GLOBALS['civicrm_root'];
@@ -223,8 +224,8 @@ class CRM_Extension_System {
   public function getBrowser() {
     if ($this->browser === NULL) {
       $cacheDir = NULL;
-      if ($this->getDefaultContainer()) {
-        $cacheDir = $this->getDefaultContainer()->getBaseDir() . DIRECTORY_SEPARATOR . 'cache';
+      if (!empty($this->parameters['uploadDir'])) {
+        $cacheDir = CRM_Utils_File::addTrailingSlash($this->parameters['uploadDir']) . 'cache';
       }
       $this->browser = new CRM_Extension_Browser($this->getRepositoryUrl(), '', $cacheDir);
     }