CRM-12030 - Use getRelUrls() instead of getRelPaths() to construct URLs
authorTim Otten <totten@civicrm.org>
Thu, 7 Mar 2013 00:23:35 +0000 (19:23 -0500)
committerTim Otten <totten@civicrm.org>
Thu, 7 Mar 2013 00:23:35 +0000 (19:23 -0500)
CRM/Extension/Container/Basic.php

index 99138a0fb34a72000a117dc01fd4ad168ec16b6f..c6fe7a674b1d1b0ba2b40761efc6f62b3ba8d47a 100644 (file)
@@ -114,7 +114,7 @@ class CRM_Extension_Container_Basic implements CRM_Extension_Container_Interface
    * {@inheritdoc}
    */
   public function getResUrl($key) {
-    return $this->baseUrl . $this->getRelPath($key);
+    return $this->baseUrl . $this->getRelUrl($key);
   }
 
   /**
@@ -182,6 +182,20 @@ class CRM_Extension_Container_Basic implements CRM_Extension_Container_Interface
     return $this->relPaths;
   }
 
+  /**
+   * Determine the relative path of an extension directory
+   *
+   * @return string
+   * @throws CRM_Extension_Exception
+   */
+  protected function getRelUrl($key) {
+    $relUrls = $this->getRelUrls();
+    if (! isset($relUrls[$key])) {
+      throw new CRM_Extension_Exception_MissingException("Failed to find extension: $key");
+    }
+    return $relUrls[$key];
+  }
+
   /**
    * Scan $basedir for a list of extension-keys
    *