MediaWiki  REL1_22
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.
 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.
 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

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 116 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 398 of file RequestContext.php.

Deprecated:
since 1.19 Use getLanguage instead
Returns:
Language

Implements IContextSource.

Definition at line 263 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 275 of file RequestContext.php.

Referenced by UploadFromUrlTestSuite\setUp().

Get the OutputPage object.

Returns:
OutputPage

Implements IContextSource.

Definition at line 180 of file RequestContext.php.

Get the WebRequest object.

Returns:
WebRequest

Implements IContextSource.

Definition at line 73 of file RequestContext.php.

Get the Skin object.

Returns:
Skin

Implements IContextSource.

Definition at line 325 of file RequestContext.php.

Get the Title object.

Returns:
Title

Implements IContextSource.

Definition at line 100 of file RequestContext.php.

Referenced by setWikiPage().

Get the User object.

Returns:
User

Implements IContextSource.

Definition at line 201 of file RequestContext.php.

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 157 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 423 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 371 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 497 of file RequestContext.php.

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

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 214 of file RequestContext.php.

References empty, global, Language\isValidCode(), and wfDebug().

Set the Language object.

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

Definition at line 235 of file RequestContext.php.

References setLanguage(), and wfDeprecated().

Set the Language object.

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

Definition at line 247 of file RequestContext.php.

Referenced by setLang().

Parameters:
$oOutputPage

Definition at line 171 of file RequestContext.php.

Set the WebRequest object.

Parameters:
WebRequest$r

Definition at line 64 of file RequestContext.php.

References request.

Referenced by ApiEditPage\execute().

Set the Skin object.

Parameters:
Skin$s

Definition at line 315 of file RequestContext.php.

Set the Title object.

Parameters:
Title$t

Definition at line 86 of file RequestContext.php.

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

Set the User object.

Parameters:
User$u

Definition at line 192 of file RequestContext.php.

Referenced by SpecialSearchTest\testProfileAndNamespaceLoading().

Set the WikiPage object.

Since:
1.19
Parameters:
WikiPage$p

Definition at line 137 of file RequestContext.php.

References getTitle(), WikiPage\getTitle(), and setTitle().


Member Data Documentation

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.

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.

WikiPage RequestContext::$wikipage [private]

Definition at line 41 of file RequestContext.php.


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