MediaWiki  REL1_23
RequestContext Class Reference

Group all the pieces relevant to the context of a request into one instance. More...

Inheritance diagram for RequestContext:
Collaboration diagram for RequestContext:

List of all members.

Public Member Functions

 canUseWikiPage ()
 Check whether a WikiPage object can be get with getWikiPage().
 exportSession ()
 Export the resolved user IP, HTTP headers, user ID, and session ID.
 getConfig ()
 Get the Config object.
 getLang ()
 getLanguage ()
 Get the Language object.
 getOutput ()
 Get the OutputPage object.
 getRequest ()
 Get the WebRequest object.
 getSkin ()
 Get the Skin object.
 getTitle ()
 Get the Title object.
 getUser ()
 Get the User object.
 getWikiPage ()
 Get the WikiPage object.
 msg ()
 Helpful methods.
 setConfig (Config $c)
 Set the Config object.
 setLang ($l)
 Set the Language object.
 setLanguage ($l)
 Set the Language object.
 setOutput (OutputPage $o)
 setRequest (WebRequest $r)
 Set the WebRequest object.
 setSkin (Skin $s)
 Set the Skin object.
 setTitle ($t)
 Set the Title object.
 setUser (User $u)
 Set the User object.
 setWikiPage (WikiPage $p)
 Set the WikiPage object.

Static Public Member Functions

static getMain ()
 Static methods.
static importScopedSession (array $params)
 Import the resolved user IP, HTTP headers, user ID, and session ID.
static newExtraneousContext (Title $title, $request=array())
 Create a new extraneous context.
static sanitizeLangCode ($code)
 Accepts a language code and ensures it's sane.

Private Attributes

Config $config
Language $lang
OutputPage $output
WebRequest $request
Skin $skin
Title $title
User $user
WikiPage $wikipage

Detailed Description

Group all the pieces relevant to the context of a request into one instance.

Definition at line 30 of file RequestContext.php.


Member Function Documentation

Check whether a WikiPage object can be get with getWikiPage().

Callers should expect that an exception is thrown from getWikiPage() if this method returns false.

Since:
1.19
Returns:
bool

Implements IContextSource.

Definition at line 147 of file RequestContext.php.

Export the resolved user IP, HTTP headers, user ID, and session ID.

The result will be reasonably sized to allow for serialization.

Returns:
Array
Since:
1.21

Implements IContextSource.

Definition at line 436 of file RequestContext.php.

References array(), getRequest(), and getUser().

Get the Config object.

Returns:
Config

Implements IContextSource.

Definition at line 77 of file RequestContext.php.

Deprecated:
since 1.19 Use getLanguage instead
Returns:
Language

Implements IContextSource.

Definition at line 297 of file RequestContext.php.

Get the Language object.

Initialization of user or request objects can depend on this.

Returns:
Language
Since:
1.19

Implements IContextSource.

Definition at line 310 of file RequestContext.php.

References $e, $request, $user, $wgContLang, array(), Language\factory(), User\getOption(), getRequest(), getUser(), WebRequest\getVal(), global, sanitizeLangCode(), wfDebugLog(), and wfRunHooks().

Referenced by UploadFromUrlTestSuite\setUp().

Get the OutputPage object.

Returns:
OutputPage

Implements IContextSource.

Definition at line 212 of file RequestContext.php.

Get the WebRequest object.

Returns:
WebRequest

Implements IContextSource.

Definition at line 101 of file RequestContext.php.

Referenced by exportSession(), and getLanguage().

Get the Skin object.

Returns:
Skin

Implements IContextSource.

Definition at line 360 of file RequestContext.php.

Get the Title object.

Returns:
Title

Implements IContextSource.

Definition at line 130 of file RequestContext.php.

Get the User object.

Returns:
User

Implements IContextSource.

Definition at line 234 of file RequestContext.php.

Referenced by exportSession(), and getLanguage().

Get the WikiPage object.

May throw an exception if there's no Title object set or the Title object belongs to a special namespace that doesn't have WikiPage, so use first canUseWikiPage() to check whether this method can be called safely.

Since:
1.19
Exceptions:
MWException
Returns:
WikiPage

Implements IContextSource.

Definition at line 188 of file RequestContext.php.

static RequestContext::importScopedSession ( array params) [static]

Import the resolved user IP, HTTP headers, user ID, and session ID.

This sets the current session and sets $wgUser and $wgRequest. Once the return value falls out of scope, the old context is restored. This function can only be called within CLI mode scripts.

This will setup the session from the given ID. This is useful when background scripts inherit context when acting on behalf of a user.

Note:
suhosin.session.encrypt may interfere with this method.
Parameters:
array$paramsResult of RequestContext::exportSession()
Returns:
ScopedCallback
Exceptions:
MWException
Since:
1.21

Definition at line 461 of file RequestContext.php.

Referenced by AssembleUploadChunksJob\run(), PublishStashedFileJob\run(), and RequestContextTest\testImportScopedSession().

Helpful methods.

Get a Message object with context set Parameters are the same as wfMessage()

Returns:
Message

Implements IContextSource.

Definition at line 407 of file RequestContext.php.

static RequestContext::newExtraneousContext ( Title title,
request = array() 
) [static]

Create a new extraneous context.

The context is filled with information external to the current session.

  • Title is specified by argument
  • Request is a FauxRequest, or a FauxRequest can be specified by argument
  • User is an anonymous user, for separation IPv4 localhost is used
  • Language will be based on the anonymous user and request, may be content language or a uselang param in the fauxrequest data may change the lang
  • Skin will be based on the anonymous user, should be the wiki's default skin
Parameters:
Title$titleTitle to use for the extraneous request
WebRequest | array$requestA WebRequest or data to use for a FauxRequest
Returns:
RequestContext

Definition at line 535 of file RequestContext.php.

Referenced by RecentChangeTest\__construct(), and Title\moveToInternal().

static RequestContext::sanitizeLangCode ( code) [static]

Accepts a language code and ensures it's sane.

Outputs a cleaned up language code and replaces with $wgLanguageCode if not sane.

Parameters:
string$codeLanguage code
Returns:
string

Definition at line 248 of file RequestContext.php.

Referenced by ResourceLoaderContext\getLanguage(), getLanguage(), DerivativeContext\setLanguage(), and setLanguage().

Set the Config object.

Parameters:
Config$c

Definition at line 68 of file RequestContext.php.

Set the Language object.

Deprecated:
since 1.19 Use setLanguage instead
Parameters:
Language | string$lLanguage instance or language code

Definition at line 269 of file RequestContext.php.

Set the Language object.

Parameters:
Language | string$lLanguage instance or language code
Exceptions:
MWException
Since:
1.19

Definition at line 281 of file RequestContext.php.

References Language\factory(), and sanitizeLangCode().

Parameters:
$oOutputPage

Definition at line 203 of file RequestContext.php.

Set the WebRequest object.

Parameters:
WebRequest$r

Definition at line 92 of file RequestContext.php.

Referenced by ApiEditPage\execute().

Set the Skin object.

Parameters:
Skin$s

Definition at line 350 of file RequestContext.php.

Set the Title object.

Parameters:
Title$t
Exceptions:
MWException

Definition at line 116 of file RequestContext.php.

Referenced by PreferencesTest\__construct(), and RebuildFileCache\execute().

Set the User object.

Parameters:
User$u

Definition at line 225 of file RequestContext.php.

Referenced by SpecialSearchTest\testProfileAndNamespaceLoading().

Set the WikiPage object.

Since:
1.19
Parameters:
WikiPage$p

Definition at line 168 of file RequestContext.php.


Member Data Documentation

Config RequestContext::$config [private]

Definition at line 61 of file RequestContext.php.

Language RequestContext::$lang [private]

Definition at line 53 of file RequestContext.php.

OutputPage RequestContext::$output [private]

Definition at line 45 of file RequestContext.php.

WebRequest RequestContext::$request [private]

Definition at line 33 of file RequestContext.php.

Referenced by getLanguage().

Skin RequestContext::$skin [private]

Definition at line 57 of file RequestContext.php.

Title RequestContext::$title [private]

Definition at line 37 of file RequestContext.php.

User RequestContext::$user [private]

Definition at line 49 of file RequestContext.php.

Referenced by getLanguage(), and ApiTestContext\newTestContext().

WikiPage RequestContext::$wikipage [private]

Definition at line 41 of file RequestContext.php.


The documentation for this class was generated from the following file: