X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=CRM%2FExtension%2FMapper.php;h=e393d8ee7874ba49a2fe3fbd39c07d64b523e5a2;hb=4278b952d40683324613b2b09a6036a56d9d5017;hp=1e5e5bf0c51e45a0968053ef66a810f19e85c2ae;hpb=232624b1bfe3beee7476775b278b9509e1607487;p=civicrm-core.git diff --git a/CRM/Extension/Mapper.php b/CRM/Extension/Mapper.php index 1e5e5bf0c5..e393d8ee78 100755 --- a/CRM/Extension/Mapper.php +++ b/CRM/Extension/Mapper.php @@ -1,9 +1,9 @@ container = $container; $this->cache = $cache; @@ -120,7 +127,9 @@ class CRM_Extension_Mapper { * * @access public * - * @param string $key extension key + * @param $clazz + * + * @internal param string $key extension key * * @return string full path the extension .php file */ @@ -163,6 +172,10 @@ class CRM_Extension_Mapper { /** * @param string $key extension fully-qualified-name + * @param bool $fresh + * + * @throws CRM_Extension_Exception + * @throws Exception * @return object CRM_Extension_Info */ public function keyToInfo($key, $fresh = FALSE) { @@ -299,6 +312,29 @@ class CRM_Extension_Mapper { return $moduleExtensions; } + /** + * Get a list of base URLs for all active modules + * + * @return array (string $extKey => string $baseUrl) + */ + public function getActiveModuleUrls() { + // TODO optimization/caching + $urls = array(); + $urls['civicrm'] = $this->keyToUrl('civicrm'); + foreach ($this->getModules() as $module) { + /** @var $module CRM_Core_Module */ + if ($module->is_active) { + $urls[$module->name] = $this->keyToUrl($module->name); + } + } + return $urls; + } + + /** + * @param $name + * + * @return bool + */ public function isActiveModule($name) { $activeModules = $this->getActiveModuleFiles(); foreach ($activeModules as $activeModule) {