public static function SINGLETON() { if (SMWResourceManager::$singleton == NULL) { SMWResourceManager::$singleton = new SMWResourceManager(); } return SMWResourceManager::$singleton; }
function smwNMAddHTMLHeader(&$out) { global $wgTitle; if ($wgTitle->getNamespace() != NS_SPECIAL) { return true; } global $smwgNMScriptPath, $smwgScriptPath; smwfNMGetJSLanguageScripts($pathlng, $userpathlng); if (defined('SMW_HALO_VERSION')) { global $smwgHaloScriptPath, $smwgDeployVersion; $jsm = SMWResourceManager::SINGLETON(); $jsm->addScriptIf($smwgHaloScriptPath . '/scripts/prototype.js', "all", -1, NS_SPECIAL . ":NotifyMe"); $jsm->addScriptIf($smwgHaloScriptPath . '/scripts/Logger/smw_logger.js', "all", -1, NS_SPECIAL . ":NotifyMe"); $jsm->addScriptIf($smwgScriptPath . '/skins/SMW_tooltip.js', "all", -1, NS_SPECIAL . ":NotifyMe"); $jsm->addScriptIf($smwgNMScriptPath . '/scripts/Language/SMW_NMLanguage.js', "all", -1, NS_SPECIAL . ":NotifyMe"); $jsm->addScriptIf($pathlng, "all", -1, NS_SPECIAL . ":NotifyMe"); $jsm->addScriptIf($userpathlng, "all", -1, NS_SPECIAL . ":NotifyMe"); $jsm->addScriptIf($smwgNMScriptPath . '/scripts/NotifyMe/NotifyHelper.js', "all", -1, NS_SPECIAL . ":NotifyMe"); $jsm->addScriptIf($smwgNMScriptPath . '/scripts/Language/SMW_NMLanguage.js', "all", -1, NS_SPECIAL . ":QueryInterface"); $jsm->addScriptIf($pathlng, "all", -1, NS_SPECIAL . ":QueryInterface"); $jsm->addScriptIf($userpathlng, "all", -1, NS_SPECIAL . ":QueryInterface"); $jsm->addScriptIf($smwgNMScriptPath . '/scripts/NotifyMe/NotifyHelper.js', "all", -1, NS_SPECIAL . ":QueryInterface"); $jsm->addCSSIf($smwgScriptPath . '/skins/SMW_custom.css', "all", -1, NS_SPECIAL . ":NotifyMe"); $jsm->addCSSIf($smwgNMScriptPath . '/skins/nm.css', "all", -1, NS_SPECIAL . ":NotifyMe"); } else { global $wgRequest; $scripts = array(); ${$css} = array(); // read state if ($wgRequest != NULL && $wgTitle != NULL) { $action = $wgRequest->getVal("action"); // $action of NULL or '' means view mode $action = $action == NULL || $action == '' ? "view" : $action; $namespace = $wgTitle->getNamespace(); $page = $wgTitle->getNamespace() . ":" . $wgTitle->getText(); } else { // if no state could be read, set default -> load all! $action = "all"; $namespace = -1; $page = array(); } if (($namespace == NS_SPECIAL || $namespace == -1) && $page == NS_SPECIAL . ":NotifyMe") { $out->addScript('<script type="text/javascript" src="' . $smwgNMScriptPath . '/scripts/prototype.js"></script>'); $out->addScript('<script type="text/javascript" src="' . $smwgScriptPath . '/skins/SMW_tooltip.js"></script>'); $out->addScript('<script type="text/javascript" src="' . $smwgNMScriptPath . '/scripts/Language/SMW_NMLanguage.js"></script>'); $out->addScript('<script type="text/javascript" src="' . $pathlng . '"></script>'); $out->addScript('<script type="text/javascript" src="' . $userpathlng . '"></script>'); $out->addScript('<script type="text/javascript" src="' . $smwgNMScriptPath . '/scripts/NotifyMe/NotifyHelper.js"></script>'); $out->addLink(array('rel' => 'stylesheet', 'type' => 'text/css', 'media' => 'screen, projection', 'href' => $smwgScriptPath . '/skins/SMW_custom.css')); $out->addLink(array('rel' => 'stylesheet', 'type' => 'text/css', 'media' => 'screen, projection', 'href' => $smwgNMScriptPath . '/skins/nm.css')); } } return true; // do not load other scripts or CSS }
function smwfQIAddHTMLHeader(&$out) { global $wgTitle; if ($wgTitle->getNamespace() != NS_SPECIAL) { return true; } global $smwgHaloScriptPath, $smwgDeployVersion, $smwgScriptPath, $srfgScriptPath; $jsm = SMWResourceManager::SINGLETON(); if (!isset($smwgDeployVersion) || $smwgDeployVersion === false) { //$jsm->addScriptIf($smwgHaloScriptPath . '/scripts/prototype.js', "all", -1, NS_SPECIAL.":QueryInterface"); $jsm->addScriptIf($smwgHaloScriptPath . '/scripts/Language/SMW_Language.js', "all", -1, NS_SPECIAL . ":QueryInterface"); smwfHaloAddJSLanguageScripts($jsm, "all", -1, NS_SPECIAL . ":QueryInterface"); $jsm->addScriptIf($smwgHaloScriptPath . '/scripts/Logger/smw_logger.js', "all", -1, NS_SPECIAL . ":QueryInterface"); $jsm->addScriptIf($smwgHaloScriptPath . '/scripts/OntologyBrowser/generalTools.js', "all", -1, NS_SPECIAL . ":QueryInterface"); $jsm->addScriptIf($smwgHaloScriptPath . '/scripts/QueryInterface/Query.js', "all", -1, NS_SPECIAL . ":QueryInterface"); $jsm->addScriptIf($smwgHaloScriptPath . '/scripts/QueryInterface/QIHelper.js', "all", -1, NS_SPECIAL . ":QueryInterface"); $jsm->addScriptIf($smwgScriptPath . '/skins/SMW_tooltip.js', "all", -1, NS_SPECIAL . ":QueryInterface"); } else { //$jsm->addScriptIf($smwgHaloScriptPath . '/scripts/prototype.js', "all", -1, NS_SPECIAL.":QueryInterface"); smwfHaloAddJSLanguageScripts($jsm, "all", -1, NS_SPECIAL . ":QueryInterface"); $jsm->addScriptIf($smwgHaloScriptPath . '/scripts/deployGeneralTools.js', "all", -1, NS_SPECIAL . ":QueryInterface"); $jsm->addScriptIf($smwgHaloScriptPath . '/scripts/QueryInterface/deployQueryInterface.js', "all", -1, NS_SPECIAL . ":QueryInterface"); } // add scripts required by query printers $canonicalName = SpecialPage::resolveAlias($wgTitle->getDBkey()); if ($canonicalName == 'QueryInterface') { global $smwgResultFormats, $wgOut; if (isset($smwgResultFormats)) { $resultFormatsUnique = array_unique($smwgResultFormats); foreach ($resultFormatsUnique as $format => $formatclass) { try { $rc = new ReflectionClass($formatclass); if ($rc->hasMethod("getScripts")) { $qp = new $formatclass($format, false); $scriptsToLoad = $qp->getScripts(); foreach ($scriptsToLoad as $script) { $wgOut->addScript($script); } } if ($rc->hasMethod("getStylesheets")) { $qp = new $formatclass($format, false); $styleSheetsToLoad = $qp->getStylesheets(); foreach ($styleSheetsToLoad as $css) { $wgOut->addLink($css); } } } catch (ReflectionException $e) { // igore } } } } $jsm->addCSSIf($smwgScriptPath . '/skins/SMW_custom.css', "all", -1, NS_SPECIAL . ":QueryInterface"); $jsm->addCSSIf($smwgHaloScriptPath . '/skins/QueryInterface/treeview.css', "all", -1, NS_SPECIAL . ":QueryInterface"); $jsm->addCSSIf($smwgHaloScriptPath . '/skins/QueryInterface/qi.css', "all", -1, NS_SPECIAL . ":QueryInterface"); return true; // do not load other scripts or CSS }