public function getScript(ResourceLoaderContext $context)
 {
     global $wgHooks;
     // add mwEmebdSupport to startup module:
     $wgHooks['ResourceLoaderGetStartupModules'][] = 'MwEmbedResourceLoaderStartUpModule::getStartupModules';
     $out = parent::getScript($context);
     return $out;
 }
Ejemplo n.º 2
0
 /**
  * Defines the ResourceLoader modules that should be added to the skin
  * It is recommended that skins wishing to override call parent::getDefaultModules()
  * and substitute out any modules they wish to change by using a key to look them up
  * @return array Array of modules with helper keys for easy overriding
  */
 public function getDefaultModules()
 {
     global $wgUseAjax, $wgEnableAPI, $wgEnableWriteAPI;
     $out = $this->getOutput();
     $user = $out->getUser();
     $modules = array('content' => array('mediawiki.page.ready'), 'legacy' => ResourceLoaderStartUpModule::getLegacyModules(), 'search' => array(), 'watch' => array(), 'user' => array());
     // Add various resources if required
     if ($wgUseAjax && $wgEnableAPI) {
         if ($wgEnableWriteAPI && $user->isLoggedIn() && $user->isAllowedAll('writeapi', 'viewmywatchlist', 'editmywatchlist') && $this->getRelevantTitle()->canExist()) {
             $modules['watch'][] = 'mediawiki.page.watch.ajax';
         }
         $modules['search'][] = 'mediawiki.searchSuggest';
     }
     if ($user->getBoolOption('editsectiononrightclick')) {
         $modules['user'][] = 'mediawiki.action.view.rightClickEdit';
     }
     // Crazy edit-on-double-click stuff
     if ($out->isArticle() && $user->getOption('editondblclick')) {
         $modules['user'][] = 'mediawiki.action.view.dblClickEdit';
     }
     return $modules;
 }
 /**
  * @return array
  */
 public function get()
 {
     $requestContext = RequestContext::getMain();
     $resourceLoaderContext = new ResourceLoaderContext(new ResourceLoader(), new FauxRequest(array('skin' => $requestContext->getSkin()->getSkinName())));
     return parent::getConfig($resourceLoaderContext);
 }
    /**
     * @dataProvider provideRegistrations
     */
    public function testRegistrationsUnminified($modules)
    {
        $context = $this->getResourceLoaderContext();
        $rl = $context->getResourceLoader();
        $rl->register($modules);
        $module = new ResourceLoaderStartUpModule();
        $out = 'mw.loader.addSource( {
    "local": "/w/load.php"
} );
mw.loader.register( [
    [
        "test.blank",
        "{blankVer}"
    ],
    [
        "test.min",
        "{blankVer}",
        [
            0
        ],
        null,
        null,
        "return !!(    window.JSON \\u0026\\u0026    JSON.parse \\u0026\\u0026    JSON.stringify);"
    ]
] );';
        $this->assertEquals(self::expandPlaceholders($out), $module->getModuleRegistrations($context), 'Unminified output');
    }