protected $civicrmUrl;
+ /**
+ * @param CRM_Extension_Container_Interface $container
+ * @param CRM_Utils_Cache_Interface $cache
+ * @param null $cacheKey
+ * @param null $civicrmPath
+ * @param null $civicrmUrl
+ */
public function __construct(CRM_Extension_Container_Interface $container, CRM_Utils_Cache_Interface $cache = NULL, $cacheKey = NULL, $civicrmPath = NULL, $civicrmUrl = NULL) {
$this->container = $container;
$this->cache = $cache;
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) {