User::getOption now accept a default value to override default user values
authorAntoine Musso <hashar@users.mediawiki.org>
Thu, 14 Dec 2006 20:28:38 +0000 (20:28 +0000)
committerAntoine Musso <hashar@users.mediawiki.org>
Thu, 14 Dec 2006 20:28:38 +0000 (20:28 +0000)
this makes it consistent with WebRequest::get* methods. Corrected code in
various places accordingly.

RELEASE-NOTES
includes/ImagePage.php
includes/Skin.php
includes/SpecialPreferences.php
includes/SpecialRecentchanges.php
includes/SpecialRecentchangeslinked.php
includes/SpecialSearch.php
includes/StubObject.php
includes/User.php

index 4485307..d83fb48 100644 (file)
@@ -316,6 +316,9 @@ it from source control: http://www.mediawiki.org/wiki/Download_from_SVN
   to replication environments, this will do all accounts in one query).
 * Allow raw SQL subsections in Database::update() SET portion as well as
   for WHERE portion. Handy for increments and such.
+* User::getOption now accept a default value to override default user values
+  this makes it consistent with WebRequest::get* methods. Corrected code in
+  various places accordingly.
 
 
 == Languages updated ==
index f0cab06..10e9995 100644 (file)
@@ -170,12 +170,8 @@ class ImagePage extends Article {
                $full_url  = $this->img->getURL();
                $anchoropen = '';
                $anchorclose = '';
+               $sizeSel = intval( $wgUser->getOption( 'imagesize') );
 
-               if( $wgUser->getOption( 'imagesize' ) == '' ) {
-                       $sizeSel = User::getDefaultOption( 'imagesize' );
-               } else {
-                       $sizeSel = intval( $wgUser->getOption( 'imagesize' ) );
-               }
                if( !isset( $wgImageLimits[$sizeSel] ) ) {
                        $sizeSel = User::getDefaultOption( 'imagesize' );
                }
index 982d842..0e41550 100644 (file)
@@ -151,8 +151,7 @@ class Skin extends Linker {
                global $wgOut, $wgUser;
 
                if ( $wgOut->isQuickbarSuppressed() ) { return 0; }
-               $q = $wgUser->getOption( 'quickbar' );
-               if ( '' == $q ) { $q = 0; }
+               $q = $wgUser->getOption( 'quickbar', 0 );
                return $q;
        }
 
index ffe9a09..da2d3cd 100644 (file)
@@ -337,18 +337,16 @@ class PreferencesForm {
         * @access private
         */
        function resetPrefs() {
-               global $wgUser, $wgLang, $wgContLang, $wgAllowRealName;
+               global $wgUser, $wgLang, $wgContLang, $wgContLanguageCode, $wgAllowRealName;
 
                $this->mOldpass = $this->mNewpass = $this->mRetypePass = '';
                $this->mUserEmail = $wgUser->getEmail();
                $this->mUserEmailAuthenticationtimestamp = $wgUser->getEmailAuthenticationtimestamp();
                $this->mRealName = ($wgAllowRealName) ? $wgUser->getRealName() : '';
-               $this->mUserLanguage = $wgUser->getOption( 'language' );
-               if( empty( $this->mUserLanguage ) ) {
-                       # Quick hack for conversions, where this value is blank
-                       global $wgContLanguageCode;
-                       $this->mUserLanguage = $wgContLanguageCode;
-               }
+
+               # language value might be blank, default to content language
+               $this->mUserLanguage = $wgUser->getOption( 'language', $wgContLanguageCode );
+
                $this->mUserVariant = $wgUser->getOption( 'variant');
                $this->mEmailFlag = $wgUser->getOption( 'disablemail' ) == 1 ? 1 : 0;
                $this->mNick = $wgUser->getOption( 'nickname' );
index 267d762..86fef6a 100644 (file)
@@ -43,12 +43,10 @@ function wfSpecialRecentchanges( $par, $specialPage ) {
        extract($defaults);
 
 
-       $days = $wgUser->getOption( 'rcdays' );
-       if ( !$days ) { $days = $defaults['days']; }
+       $days = $wgUser->getOption( 'rcdays', $defaults['days']);
        $days = $wgRequest->getInt( 'days', $days );
 
-       $limit = $wgUser->getOption( 'rclimit' );
-       if ( !$limit ) { $limit = $defaults['limit']; }
+       $limit = $wgUser->getOption( 'rclimit', $defaults['limit'] );
 
        #       list( $limit, $offset ) = wfCheckLimits( 100, 'rclimit' );
        $limit = $wgRequest->getInt( 'limit', $limit );
index 487cdae..2214576 100644 (file)
@@ -44,10 +44,8 @@ function wfSpecialRecentchangeslinked( $par = NULL ) {
        $wgOut->setSubtitle( htmlspecialchars( wfMsg( 'rclsub', $nt->getPrefixedText() ) ) );
 
        if ( ! $days ) {
-               $days = $wgUser->getOption( 'rcdays' );
-               if ( ! $days ) { $days = 7; }
+               $days = (int)$wgUser->getOption( 'rcdays', 7 );
        }
-       $days = (int)$days;
        list( $limit, /* offset */ ) = wfCheckLimits( 100, 'rclimit' );
 
        $dbr =& wfGetDB( DB_SLAVE );
index ac39f29..9ecd39e 100644 (file)
@@ -316,10 +316,8 @@ class SpecialSearch {
                }
                $sk =& $wgUser->getSkin();
 
-               $contextlines = $wgUser->getOption( 'contextlines' );
-               if ( '' == $contextlines ) { $contextlines = 5; }
-               $contextchars = $wgUser->getOption( 'contextchars' );
-               if ( '' == $contextchars ) { $contextchars = 50; }
+               $contextlines = $wgUser->getOption( 'contextlines',  5 );
+               $contextchars = $wgUser->getOption( 'contextchars', 50 );
 
                $link = $sk->makeKnownLinkObj( $t );
                $revision = Revision::newFromTitle( $t );
index 0ab44c9..1501d96 100644 (file)
@@ -89,9 +89,7 @@ class StubUserLang extends StubObject {
 
        function _newObject() {
                global $wgContLanguageCode, $wgRequest, $wgUser, $wgContLang;
-               $code = $wgRequest->getVal('uselang', '');
-               if ($code == '')
-                       $code = $wgUser->getOption('language');
+               $code = $wgRequest->getVal('uselang', $wgUser->getOption('language') );
 
                // if variant is explicitely selected, use it instead the one from wgUser
                // see bug #7605
index 89b1dd0..7f98ee0 100644 (file)
@@ -1424,17 +1424,23 @@ class User {
 
        /**
         * @param string $oname The option to check
+        * @param string $defaultOverride A default value returned if the option does not exist
         * @return string
         */
-       function getOption( $oname ) {
+       function getOption( $oname, $defaultOverride = '' ) {
                $this->load();
+
                if ( is_null( $this->mOptions ) ) {
+                       if($defaultOverride != '') {
+                               return $defaultOverride;
+                       }
                        $this->mOptions = User::getDefaultOptions();
                }
+
                if ( array_key_exists( $oname, $this->mOptions ) ) {
                        return trim( $this->mOptions[$oname] );
                } else {
-                       return '';
+                       return $defaultOverride;
                }
        }