Only check LoggedOut timestamp on the user loaded from session

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
This commit is contained in:
Brad Jorsch 2016-01-20 13:26:44 -05:00
parent 3dcf440a82
commit 722a7331ad

View 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 {