MediaWiki  master
JsonContent Class Reference

JSON text content that can be viewed and edit directly by users. More...

Inheritance diagram for JsonContent:
Collaboration diagram for JsonContent:

Public Member Functions

 __construct ( $text, $modelId=CONTENT_MODEL_JSON)
 
 beautifyJSON ()
 Pretty-print JSON. More...
 
 getData ()
 Decodes the JSON string. More...
 
 isValid ()
 
 rootValueTable ( $val)
 Construct HTML table representation of any JSON value. More...
 
- Public Member Functions inherited from TextContent
 convert ( $toModel, $lossy='')
 This implementation provides lossless conversion between content models based on TextContent. More...
 
 copy ()
 
 diff (Content $that, Language $lang=null)
 Diff this content object with another content object. More...
 
 getNativeData ()
 Returns the text represented by this Content object, as a string. More...
 
 getSize ()
 Returns the text's size in bytes. More...
 
 getText ()
 Returns the text represented by this Content object, as a string. More...
 
 getTextForSearchIndex ()
 Returns the text represented by this Content object, as a string. More...
 
 getTextForSummary ( $maxlength=250)
 
 getWikitextForTransclusion ()
 Returns attempts to convert this content object to wikitext, and then returns the text string. More...
 
 isCountable ( $hasLinks=null)
 Returns true if this content is not a redirect, and $wgArticleCountMethod is "any". More...
 
- Public Member Functions inherited from AbstractContent
 __construct ( $modelId=null)
 
 addSectionHeader ( $header)
 
 equals (Content $that=null)
 Decides whether two Content objects are equal. More...
 
 getContentHandler ()
 
 getDefaultFormat ()
 
 getModel ()
 
 getParserOutput (Title $title, $revId=null, ParserOptions $options=null, $generateHtml=true)
 Returns a ParserOutput object containing information derived from this content. More...
 
 getRedirectChain ()
 
 getRedirectTarget ()
 Subclasses that implement redirects should override this. More...
 
 getSection ( $sectionId)
 
 getSupportedFormats ()
 
 getUltimateRedirectTarget ()
 
 isEmpty ()
 
 isRedirect ()
 
 isSupportedFormat ( $format)
 
 matchMagicWord (MagicWord $word)
 This default implementation always returns false. More...
 
 preloadTransform (Title $title, ParserOptions $popts, $params=[])
 
 prepareSave (WikiPage $page, $flags, $parentRevId, User $user)
 
 preSaveTransform (Title $title, User $user, ParserOptions $popts)
 
 replaceSection ( $sectionId, Content $with, $sectionTitle='')
 
 serialize ( $format=null)
 
 updateRedirect (Title $target)
 This default implementation always returns $this. More...
 

Protected Member Functions

 arrayRow ( $val)
 Create HTML table row representing the value in an array. More...
 
 arrayTable ( $mapping)
 Create HTML table representing a JSON array. More...
 
 objectRow ( $key, $val)
 Create HTML table row representing one object property. More...
 
 objectTable ( $mapping)
 Create HTML table representing a JSON object. More...
 
 primitiveValue ( $val)
 Construct text representing a JSON primitive value. More...
 
 valueCell ( $val)
 Construct HTML table cell representing any JSON value. More...
 
- Protected Member Functions inherited from AbstractContent
 checkFormat ( $format)
 
 checkModelID ( $modelId)
 
 equalsInternal (Content $that)
 Checks whether $that is logically equal to this Content object. More...
 
 fillParserOutput (Title $title, $revId, ParserOptions $options, $generateHtml, ParserOutput &$output)
 Fills the provided ParserOutput with information derived from the content. More...
 
 getContentHandlerFactory ()
 

Protected Attributes

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

Additional Inherited Members

- Static Public Member Functions inherited from TextContent
static normalizeLineEndings ( $text)
 Do a "\\r\\n" -> "\\n" and "\\r" -> "\\n" transformation as well as trim trailing whitespace. More...
 

Detailed Description

JSON text content that can be viewed and edit directly by users.

Since
1.24
Stability: newable
Stability: stable
to extend

Definition at line 19 of file JsonContent.php.

Constructor & Destructor Documentation

◆ __construct()

JsonContent::__construct (   $text,
  $modelId = CONTENT_MODEL_JSON 
)
Parameters
string$textJSON
string$modelId
Stability: stable
to call

Reimplemented from TextContent.

Definition at line 32 of file JsonContent.php.

Member Function Documentation

◆ arrayRow()

JsonContent::arrayRow (   $val)
protected

Create HTML table row representing the value in an array.

Parameters
mixed$val
Returns
string HTML.

Definition at line 169 of file JsonContent.php.

References Html\rawElement(), and valueCell().

Referenced by arrayTable().

◆ arrayTable()

JsonContent::arrayTable (   $mapping)
protected

Create HTML table representing a JSON array.

Parameters
array$mapping
Returns
string HTML

Definition at line 143 of file JsonContent.php.

References arrayRow(), Html\element(), Html\rawElement(), and wfMessage().

Referenced by rootValueTable(), and valueCell().

◆ beautifyJSON()

JsonContent::beautifyJSON ( )

Pretty-print JSON.

If called before validation, it may return JSON "null".

Returns
string

Definition at line 65 of file JsonContent.php.

References FormatJson\encode(), getData(), and FormatJson\UTF8_OK.

◆ getData()

JsonContent::getData ( )

Decodes the JSON string.

Note that this parses it without casting objects to associative arrays. Objects and arrays are kept as distinguishable types in the PHP values.

Returns
Status

Definition at line 44 of file JsonContent.php.

References $jsonParse, TextContent\getText(), and FormatJson\parse().

Referenced by beautifyJSON(), and isValid().

◆ isValid()

JsonContent::isValid ( )
Returns
bool Whether content is valid.

Reimplemented from AbstractContent.

Definition at line 54 of file JsonContent.php.

References getData().

◆ objectRow()

JsonContent::objectRow (   $key,
  $val 
)
protected

Create HTML table row representing one object property.

Parameters
string$key
mixed$val
Returns
string HTML.

Definition at line 130 of file JsonContent.php.

References Html\element(), Html\rawElement(), and valueCell().

Referenced by objectTable().

◆ objectTable()

JsonContent::objectTable (   $mapping)
protected

Create HTML table representing a JSON object.

Parameters
stdClass$mapping
Returns
string HTML

Definition at line 103 of file JsonContent.php.

References Html\element(), objectRow(), Html\rawElement(), and wfMessage().

Referenced by rootValueTable(), and valueCell().

◆ primitiveValue()

JsonContent::primitiveValue (   $val)
protected

Construct text representing a JSON primitive value.

Parameters
mixed$val
Returns
string Text.

Definition at line 198 of file JsonContent.php.

References FormatJson\encode().

Referenced by rootValueTable(), and valueCell().

◆ rootValueTable()

JsonContent::rootValueTable (   $val)

Construct HTML table representation of any JSON value.

See also valueCell, which is similar.

Parameters
mixed$val
Returns
string HTML.

Definition at line 77 of file JsonContent.php.

References arrayTable(), Html\element(), objectTable(), primitiveValue(), and Html\rawElement().

◆ valueCell()

JsonContent::valueCell (   $val)
protected

Construct HTML table cell representing any JSON value.

Parameters
mixed$val
Returns
string HTML.

Definition at line 180 of file JsonContent.php.

References arrayTable(), Html\element(), objectTable(), primitiveValue(), and Html\rawElement().

Referenced by arrayRow(), and objectRow().

Member Data Documentation

◆ $jsonParse

Status JsonContent::$jsonParse
protected
Since
1.25

Definition at line 25 of file JsonContent.php.

Referenced by getData().


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