exts = $exts; } /** * {@inheritdoc} */ public function getName() { return $this->name; } /** * {@inheritdoc} */ public function getKeys() { return array_keys($this->exts); } /** * {@inheritdoc} */ public function getPath($key) { $e = $this->getExt($key); return $e['path']; } /** * {@inheritdoc} */ public function getResUrl($key) { $e = $this->getExt($key); return $e['resUrl']; } /** * {@inheritdoc} */ public function refresh() { } protected function getExt($key) { if (isset($this->exts[$key])) { return $this->exts[$key]; } else { throw new CRM_Extension_Exception_MissingException("Missing extension: $key"); } } }