From: Brion Vibber Date: Sun, 3 Oct 2010 01:03:10 +0000 (+0000) Subject: Extract common code in ResourceLoaderUserOptionsModule (sloppy copy-pasting of the... X-Git-Tag: 1.31.0-rc.0~34657 X-Git-Url: http://git.cyclocoop.org/data/%24self?a=commitdiff_plain;h=0fac9734de21aeb8961dd74b041bc7852e1bc7ab;p=lhc%2Fweb%2Fwiklou.git Extract common code in ResourceLoaderUserOptionsModule (sloppy copy-pasting of the originals looks like the cause of the bug fixed in r74145) --- 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();