Only check LoggedOut timestamp on the user loaded from session
authorBrad Jorsch <bjorsch@wikimedia.org>
Wed, 20 Jan 2016 18:26:44 +0000 (13:26 -0500)
committerBrad Jorsch <bjorsch@wikimedia.org>
Wed, 20 Jan 2016 18:26:44 +0000 (13:26 -0500)
This avoids infinite loops when trying to load other User objects, and
should still preserve the intent of the timestamp (that being as an
invalidation date for client-side caching).

Bug: T124143
Change-Id: Ie304cc3839fdc36a1cb2895e26f7700f4b725159

includes/user/User.php

index 6ec0ff0..3a20f1f 100644 (file)
@@ -1085,8 +1085,7 @@ class User implements IDBAccessObject {
                $this->mOptionOverrides = null;
                $this->mOptionsLoaded = false;
 
-               $request = $this->getRequest();
-               $loggedOut = $request ? $request->getSession()->getLoggedOutTimestamp() : 0;
+               $loggedOut = $this->mRequest ? $this->mRequest->getSession()->getLoggedOutTimestamp() : 0;
                if ( $loggedOut !== 0 ) {
                        $this->mTouched = wfTimestamp( TS_MW, $loggedOut );
                } else {