/** * Get the require.js' config file */ public function config() { $this->setContentHeader('application/javascript'); //get extension paths to set up aliases dynamically $extensionsAliases = ClientLibRegistry::getRegistry()->getLibAliasMap(); $this->setData('extensionsAliases', $extensionsAliases); $libConfigs = ClientLibConfigRegistry::getRegistry()->getMap(); $this->setData('libConfigs', $libConfigs); $extendedConfig = $this->getServiceManager()->get(ClientConfigService::SERVICE_ID)->getExtendedConfig(); foreach ($extendedConfig as $key => $value) { $this->setData($key, json_encode($value)); } $extensionManager = common_ext_ExtensionsManager::singleton(); $langCode = tao_helpers_I18n::getLangCode(); //loads the URLs context /** @var AssetService $assetService */ $assetService = ServiceManager::getServiceManager()->get(AssetService::SERVICE_ID); $tao_base_www = $assetService->getJsBaseWww('tao'); $extensionId = $this->hasRequestParameter('extension') ? $this->getRequestParameter('extension') : \Context::getInstance()->getExtensionName(); $extension = $extensionManager->getExtensionById($extensionId); $base_www = $assetService->getJsBaseWww($extensionId); $base_url = $extension->getConstant('BASE_URL'); //set contextual data $this->setData('locale', $langCode); if (strpos($langCode, '-') > 0) { $lang = strtolower(substr($langCode, 0, strpos($langCode, '-'))); } else { $lang = strtolower($langCode); } $this->setData('lang', $lang); $this->setData('version', TAO_VERSION); $this->setData('extension', $this->getRequestParameter('extension')); $this->setData('module', $this->getRequestParameter('module')); $this->setData('action', $this->getRequestParameter('action')); $this->setData('base_www', $base_www); $this->setData('tao_base_www', $tao_base_www); $this->setData('base_url', $base_url); $this->setData('shownExtension', $this->getRequestParameter('shownExtension')); $this->setData('shownStructure', $this->getRequestParameter('shownStructure')); $this->setData('client_timeout', $this->getClientTimeout()); $this->setView('client_config.tpl'); }
/** * Get the require.js' config file */ public function config() { $this->setContentHeader('application/javascript'); //get extension paths to set up aliases dynamically $extensionsAliases = ClientLibRegistry::getRegistry()->getLibAliasMap(); $this->setData('extensionsAliases', $extensionsAliases); $libConfigs = ClientLibConfigRegistry::getRegistry()->getMap(); $this->setData('libConfigs', $libConfigs); $themesAvailable = ThemeRegistry::getRegistry()->getAvailableThemes(); $this->setData('themesAvailable', $themesAvailable); $extensionManager = common_ext_ExtensionsManager::singleton(); $langCode = tao_helpers_I18n::getLangCode(); //loads the URLs context $base_www = BASE_WWW; $base_url = BASE_URL; if ($this->hasRequestParameter('extension')) { $extension = $extensionManager->getExtensionById($this->getRequestParameter('extension')); if (!is_null($extension)) { $base_www = $extension->getConstant('BASE_WWW'); $base_url = $extension->getConstant('BASE_URL'); } } //set contextual data $this->setData('locale', $langCode); if (strpos($langCode, '-') > 0) { $lang = strtolower(substr($langCode, 0, strpos($langCode, '-'))); } else { $lang = strtolower($langCode); } $this->setData('lang', $lang); $this->setData('extension', $this->getRequestParameter('extension')); $this->setData('module', $this->getRequestParameter('module')); $this->setData('action', $this->getRequestParameter('action')); $this->setData('base_www', $base_www); $this->setData('base_url', $base_url); $this->setData('shownExtension', $this->getRequestParameter('shownExtension')); $this->setData('shownStructure', $this->getRequestParameter('shownStructure')); $this->setData('client_timeout', $this->getClientTimeout()); $this->setView('client_config.tpl'); }