private function getManagementImplementationClass($identifier) { if (in_array($identifier, array('', 'local'))) { return 'taoItems_helpers_ResourceManager'; } return \oat\tao\model\media\MediaSource::getMediaManagementSource($identifier); }
/** * 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); $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'); } } $mediaSources = \oat\tao\model\media\MediaSource::getMediaBrowserSources(); //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->setData('mediaSources', $mediaSources); $this->setView('client_config.tpl'); }
public function index() { $config = new CreatorConfig(); $ext = \common_ext_ExtensionsManager::singleton()->getExtensionById('taoQtiItem'); $creatorConfig = $ext->getConfig('qtiCreator'); if (is_array($creatorConfig)) { foreach ($creatorConfig as $prop => $value) { $config->setProperty($prop, $value); } } if ($this->hasRequestParameter('instance')) { //uri: $itemUri = tao_helpers_Uri::decode($this->getRequestParameter('instance')); $config->setProperty('uri', $itemUri); //get label: $rdfItem = new core_kernel_classes_Resource($itemUri); $config->setProperty('label', $rdfItem->getLabel()); //set the current data lang in the item content to keep the integrity //@todo : allow preview in a language other than the one in the session $lang = \common_session_SessionManager::getSession()->getDataLanguage(); $config->setProperty('lang', $lang); //base url: $url = tao_helpers_Uri::url('getFile', 'QtiCreator', 'taoQtiItem', array('uri' => $itemUri, 'lang' => $lang)); $config->setProperty('baseUrl', $url . '&relPath='); } // get the config media Sources $sources = array_keys(MediaSource::getMediaBrowserSources()); $sources[] = 'local'; $config->setProperty('mediaSources', $sources); //initialize all registered hooks: $hookClasses = HookRegistry::getRegistry()->getMap(); foreach ($hookClasses as $hookClass) { $hook = new $hookClass(); $hook->init($config); } $config->init(); $this->setData('config', $config->toArray()); $this->setView('QtiCreator/index.tpl'); }