MediaWiki fundraising/REL1_35
TextContent Class Reference

Content object implementation for representing flat text. More...

Inheritance diagram for TextContent:
Collaboration diagram for TextContent:

Public Member Functions

 __construct ( $text, $model_id=CONTENT_MODEL_TEXT)
 Stable to call.
 
 convert ( $toModel, $lossy='')
 This implementation provides lossless conversion between content models based on TextContent.
 
 copy ()
 
 diff (Content $that, Language $lang=null)
 Diff this content object with another content object.
 
 getNativeData ()
 Returns the text represented by this Content object, as a string.
 
 getSize ()
 Returns the text's size in bytes.
 
 getText ()
 Returns the text represented by this Content object, as a string.
 
 getTextForSearchIndex ()
 Returns the text represented by this Content object, as a string.
 
 getTextForSummary ( $maxlength=250)
 Stable to override.
 
 getWikitextForTransclusion ()
 Returns attempts to convert this content object to wikitext, and then returns the text string.
 
 isCountable ( $hasLinks=null)
 Returns true if this content is not a redirect, and $wgArticleCountMethod is "any".
 
 preSaveTransform (Title $title, User $user, ParserOptions $popts)
 Returns a Content object with pre-save transformations applied.
 
- Public Member Functions inherited from AbstractContent
 __construct ( $modelId=null)
 Stable to call.
 
 addSectionHeader ( $header)
 Stable to override.
 
 equals (Content $that=null)
 Decides whether two Content objects are equal.
 
 getContentHandler ()
 
 getDefaultFormat ()
 
 getDeletionUpdates (WikiPage $page, ParserOutput $parserOutput=null)
 Stable to override.
 
 getModel ()
 
 getParserOutput (Title $title, $revId=null, ParserOptions $options=null, $generateHtml=true)
 Returns a ParserOutput object containing information derived from this content.
 
 getRedirectChain ()
 
 getRedirectTarget ()
 Subclasses that implement redirects should override this.
 
 getSecondaryDataUpdates (Title $title, Content $old=null, $recursive=true, ParserOutput $parserOutput=null)
 Returns a list of DataUpdate objects for recording information about this Content in some secondary data store.
 
 getSection ( $sectionId)
 Stable to override.
 
 getSupportedFormats ()
 
 getUltimateRedirectTarget ()
 
 isEmpty ()
 Stable to override.
 
 isRedirect ()
 
 isSupportedFormat ( $format)
 
 isValid ()
 Subclasses may override this to implement (light weight) validation.
 
 matchMagicWord (MagicWord $word)
 This default implementation always returns false.
 
 preloadTransform (Title $title, ParserOptions $popts, $params=[])
 Stable to override.
 
 prepareSave (WikiPage $page, $flags, $parentRevId, User $user)
 Stable to override.
 
 replaceSection ( $sectionId, Content $with, $sectionTitle='')
 Stable to override.
 
 serialize ( $format=null)
 Stable to override.
 
 updateRedirect (Title $target)
 This default implementation always returns $this.
 

Static Public Member Functions

static normalizeLineEndings ( $text)
 Do a "\\r\\n" -> "\\n" and "\\r" -> "\\n" transformation as well as trim trailing whitespace.
 

Protected Member Functions

 fillParserOutput (Title $title, $revId, ParserOptions $options, $generateHtml, ParserOutput &$output)
 Fills the provided ParserOutput object with information derived from the content.
 
 getHtml ()
 Generates an HTML version of the content, for display.
 
- Protected Member Functions inherited from AbstractContent
 checkFormat ( $format)
 
 checkModelID ( $modelId)
 
 equalsInternal (Content $that)
 Checks whether $that is logically equal to this Content object.
 
 getContentHandlerFactory ()
 

Protected Attributes

string $mText
 
- Protected Attributes inherited from AbstractContent
string $model_id
 Name of the content model this Content object represents.
 

Detailed Description

Content object implementation for representing flat text.

TextContent instances are immutable

@newable Stable to extend

Definition at line 39 of file TextContent.php.

Constructor & Destructor Documentation

◆ __construct()

TextContent::__construct ( $text,
$model_id = CONTENT_MODEL_TEXT )

Stable to call.

Parameters
string$text
string$model_id
Exceptions
MWException

Reimplemented in CssContent, JavaScriptContent, and JsonContent.

Definition at line 52 of file TextContent.php.

References AbstractContent\$model_id, and wfWarn().

Member Function Documentation

◆ convert()

TextContent::convert ( $toModel,
$lossy = '' )

This implementation provides lossless conversion between content models based on TextContent.

Stable to override

Parameters
string$toModelThe desired content model, use the CONTENT_MODEL_XXX flags.
string$lossyFlag, set to "lossy" to allow lossy conversion. If lossy conversion is not allowed, full round-trip conversion is expected to work without losing information.
Returns
Content|bool A content object with the content model $toModel, or false if that conversion is not supported.
Exceptions
MWUnknownContentModelException
See also
Content::convert()

Reimplemented from AbstractContent.

Definition at line 340 of file TextContent.php.

References AbstractContent\getContentHandlerFactory(), and getText().

Referenced by getWikitextForTransclusion().

◆ copy()

TextContent::copy ( )
Note
Mutable subclasses MUST override this to return a copy!
Returns
Content $this

Implements Content.

Definition at line 74 of file TextContent.php.

Referenced by WikitextContent\replaceSection().

◆ diff()

TextContent::diff ( Content $that,
Language $lang = null )

Diff this content object with another content object.

Stable to override

Since
1.21
Parameters
Content$thatThe other content object to compare this content object to.
Language | null$langThe language object to use for text segmentation. If not given, the content language is used.
Returns
Diff A diff representing the changes that would have to be made to this content object to make it equal to $that.

Definition at line 241 of file TextContent.php.

References $lang, AbstractContent\checkModelID(), Content\getModel(), and getText().

◆ fillParserOutput()

TextContent::fillParserOutput ( Title $title,
$revId,
ParserOptions $options,
$generateHtml,
ParserOutput & $output )
protected

Fills the provided ParserOutput object with information derived from the content.

Unless $generateHtml was false, this includes an HTML representation of the content provided by getHtml().

For content models listed in $wgTextModelsToParse, this method will call the MediaWiki wikitext parser on the text to extract any (wikitext) links, magic words, etc.

Subclasses may override this to provide custom content processing. For custom HTML generation alone, it is sufficient to override getHtml().

Stable to override

Parameters
Title$titleContext title for parsing
int$revIdRevision ID (for {{REVISIONID}})
ParserOptions$options
bool$generateHtmlWhether or not to generate HTML
ParserOutput&$outputThe output object to fill (reference).

Reimplemented from AbstractContent.

Reimplemented in JsonContent, and WikitextContent.

Definition at line 282 of file TextContent.php.

References $title, $wgTextModelsToParse, ParserOutput\clearWrapperDivClass(), getHtml(), AbstractContent\getModel(), getText(), and ParserOutput\setText().

◆ getHtml()

TextContent::getHtml ( )
protected

Generates an HTML version of the content, for display.

Used by fillParserOutput() to provide HTML for the ParserOutput object.

Subclasses may override this to provide a custom HTML rendering. If further information is to be derived from the content (such as categories), the fillParserOutput() method can be overridden instead.

Stable to override

Returns
string An HTML representation of the content

Reimplemented in CssContent, JavaScriptContent, and WikitextContent.

Definition at line 315 of file TextContent.php.

References getText(), and wfDeprecated().

Referenced by fillParserOutput().

◆ getNativeData()

TextContent::getNativeData ( )

Returns the text represented by this Content object, as a string.

Deprecated
since 1.33 use getText() instead.
Returns
string The raw text. Subclasses may guarantee a specific syntax here.

Implements Content.

Definition at line 139 of file TextContent.php.

References getText().

◆ getSize()

TextContent::getSize ( )

Returns the text's size in bytes.

Stable to override

Returns
int

Implements Content.

Definition at line 101 of file TextContent.php.

References getText().

◆ getText()

◆ getTextForSearchIndex()

TextContent::getTextForSearchIndex ( )

Returns the text represented by this Content object, as a string.

Stable to override

Returns
string The raw text.

Implements Content.

Definition at line 164 of file TextContent.php.

References getText().

◆ getTextForSummary()

TextContent::getTextForSummary ( $maxlength = 250)

Stable to override.

Parameters
int$maxlength
Returns
string

Implements Content.

Reimplemented in WikitextContent.

Definition at line 85 of file TextContent.php.

References getText().

◆ getWikitextForTransclusion()

TextContent::getWikitextForTransclusion ( )

Returns attempts to convert this content object to wikitext, and then returns the text string.

The conversion may be lossy.

Stable to override

Note
this allows any text-based content to be transcluded as if it was wikitext.
Returns
string|bool The raw text, or false if the conversion failed.

Implements Content.

Definition at line 178 of file TextContent.php.

References CONTENT_MODEL_WIKITEXT, and convert().

◆ isCountable()

TextContent::isCountable ( $hasLinks = null)

Returns true if this content is not a redirect, and $wgArticleCountMethod is "any".

Stable to override

Parameters
bool | null$hasLinksIf it is known whether this content contains links, provide this information here, to avoid redundant parsing to find out.
Returns
bool

Implements Content.

Definition at line 118 of file TextContent.php.

References $wgArticleCountMethod, and AbstractContent\isRedirect().

◆ normalizeLineEndings()

static TextContent::normalizeLineEndings ( $text)
static

Do a "\\r\\n" -> "\\n" and "\\r" -> "\\n" transformation as well as trim trailing whitespace.

This was formerly part of Parser::preSaveTransform, but for non-wikitext content models they probably still want to normalize line endings without all of the other PST changes.

Since
1.28
Parameters
string$text
Returns
string

Definition at line 203 of file TextContent.php.

Referenced by JsonContent\preSaveTransform().

◆ preSaveTransform()

TextContent::preSaveTransform ( Title $title,
User $user,
ParserOptions $popts )

Returns a Content object with pre-save transformations applied.

At a minimum, subclasses should make sure to call TextContent::normalizeLineEndings() either directly or part of Parser::preSaveTransform().

Stable to override

Parameters
Title$title
User$user
ParserOptions$popts
Returns
Content

Reimplemented from AbstractContent.

Reimplemented in CssContent, JavaScriptContent, JsonContent, and WikitextContent.

Definition at line 221 of file TextContent.php.

References AbstractContent\getModel(), and getText().

Member Data Documentation

◆ $mText

string TextContent::$mText
protected

Definition at line 44 of file TextContent.php.


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