From 0fac9734de21aeb8961dd74b041bc7852e1bc7ab Mon Sep 17 00:00:00 2001 From: Brion Vibber Date: Sun, 3 Oct 2010 01:03:10 +0000 Subject: [PATCH] Extract common code in ResourceLoaderUserOptionsModule (sloppy copy-pasting of the originals looks like the cause of the bug fixed in r74145) --- includes/ResourceLoaderModule.php | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/includes/ResourceLoaderModule.php b/includes/ResourceLoaderModule.php index 7ca72a11ec..a87f83a687 100644 --- a/includes/ResourceLoaderModule.php +++ b/includes/ResourceLoaderModule.php @@ -915,28 +915,34 @@ class ResourceLoaderUserOptionsModule extends ResourceLoaderModule { } } - public function getScript( ResourceLoaderContext $context ) { + /** + * Fetch the context's user options, or if it doesn't match current user, + * the default options. + * + * @param ResourceLoaderContext $context + * @return array + */ + protected function contextUserOptions( ResourceLoaderContext $context ) { global $wgUser; // Verify identity -- this is a private module if ( $context->getUser() === $wgUser->getName() ) { - $options = FormatJson::encode( $wgUser->getOptions() ); + return $wgUser->getOptions(); } else { - $options = FormatJson::encode( User::getDefaultOptions() ); + return User::getDefaultOptions(); } - return "mediaWiki.user.options.set( $options );"; + } + + public function getScript( ResourceLoaderContext $context ) { + $encOptions = FormatJson::encode( $this->contextUserOptions( $context ) ); + return "mediaWiki.user.options.set( $encOptions );"; } public function getStyles( ResourceLoaderContext $context ) { - global $wgUser, $wgAllowUserCssPrefs; + global $wgAllowUserCssPrefs; if ( $wgAllowUserCssPrefs ) { - // Verify identity -- this is a private module - if ( $context->getUser() === $wgUser->getName() ) { - $options = $wgUser->getOptions(); - } else { - $options = User::getDefaultOptions(); - } + $options = $this->contextUserOptions( $context ); // Build CSS rules $rules = array(); -- 2.20.1