示例#1
0
 public static function SINGLETON()
 {
     if (SMWResourceManager::$singleton == NULL) {
         SMWResourceManager::$singleton = new SMWResourceManager();
     }
     return SMWResourceManager::$singleton;
 }
示例#2
0
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
}
示例#3
0
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
}