<?php
/**
- * ResourceLoader module for user preference customizations.
- *
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
*/
/**
- * Module for user preference customizations
+ * Module for user preferences.
+ *
+ * @ingroup ResourceLoader
+ * @internal
*/
class ResourceLoaderUserOptionsModule extends ResourceLoaderModule {
protected $targets = [ 'desktop', 'mobile' ];
/**
- * @param ResourceLoaderContext $context
+ * @param ResourceLoaderContext|null $context
* @return array List of module names as strings
*/
public function getDependencies( ResourceLoaderContext $context = null ) {
*/
public function getScript( ResourceLoaderContext $context ) {
// Use FILTER_NOMIN annotation to prevent needless minification and caching (T84960).
- return ResourceLoader::FILTER_NOMIN . Xml::encodeJsCall(
- 'mw.user.options.set',
- [ $context->getUserObj()->getOptions( User::GETOPTIONS_EXCLUDE_DEFAULTS ) ],
- ResourceLoader::inDebugMode()
- );
+ return ResourceLoader::FILTER_NOMIN
+ . 'mw.user.options.set('
+ . ResourceLoader::encodeJsonForScript(
+ $context->getUserObj()->getOptions( User::GETOPTIONS_EXCLUDE_DEFAULTS )
+ )
+ . ');';
}
/**