Minor comment fixes for CRM/Extensions directory.
[civicrm-core.git] / CRM / Extension / System.php
index 35062c2350ce3308397b8c8f1f2224a895c91293..32df05d4d7f5fbbea7fb67b2e33fc5ae8766a73d 100644 (file)
@@ -31,8 +31,6 @@
  *
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2015
- * $Id$
- *
  */
 class CRM_Extension_System {
   private static $singleton;
@@ -92,17 +90,10 @@ class CRM_Extension_System {
    */
   public function __construct($parameters = array()) {
     $config = CRM_Core_Config::singleton();
-    $configKeys = array(
-      'extensionsDir',
-      'extensionsURL',
-      'resourceBase',
-      'userFrameworkBaseURL',
-    );
-    foreach ($configKeys as $key) {
-      if (!array_key_exists($key, $parameters)) {
-        $parameters[$key] = $config->{$key};
-      }
-    }
+    $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['userFrameworkBaseURL'] = CRM_Utils_Array::value('userFrameworkBaseURL', $parameters, $config->userFrameworkBaseURL);
     if (!array_key_exists('civicrm_root', $parameters)) {
       $parameters['civicrm_root'] = $GLOBALS['civicrm_root'];
     }
@@ -247,16 +238,13 @@ class CRM_Extension_System {
    */
   public function getCache() {
     if ($this->cache === NULL) {
-      if (defined('CIVICRM_DSN')) {
-        $cacheGroup = md5(serialize(array('ext', $this->parameters)));
-        $this->cache = new CRM_Utils_Cache_SqlGroup(array(
-          'group' => $cacheGroup,
-          'prefetch' => TRUE,
-        ));
-      }
-      else {
-        $this->cache = new CRM_Utils_Cache_ArrayCache(array());
-      }
+      $cacheGroup = md5(serialize(array('ext', $this->parameters)));
+      // Extension system starts before container. Manage our own cache.
+      $this->cache = CRM_Utils_Cache::create(array(
+        'name' => $cacheGroup,
+        'type' => array('*memory*', 'SqlGroup', 'ArrayCache'),
+        'prefetch' => TRUE,
+      ));
     }
     return $this->cache;
   }
@@ -272,7 +260,7 @@ class CRM_Extension_System {
       $url = CRM_Core_BAO_Setting::getItem('Extension Preferences', 'ext_repo_url', NULL, CRM_Extension_Browser::DEFAULT_EXTENSIONS_REPOSITORY);
 
       // boolean false means don't try to check extensions
-      // http://issues.civicrm.org/jira/browse/CRM-10575
+      // CRM-10575
       if ($url === FALSE) {
         $this->_repoUrl = FALSE;
       }