MediaWiki  1.30.0
JsonContent Class Reference

Represents the content of a JSON content. 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...
 
 getJsonData ()
 Decodes the JSON into a PHP associative array. More...
 
 isValid ()
 
 preSaveTransform (Title $title, User $user, ParserOptions $popts)
 Beautifies JSON prior to save. 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...
 
 getTextForSearchIndex ()
 Returns the text represented by this Content object, as a string. More...
 
 getTextForSummary ( $maxlength=250)
 Returns a textual representation of the content suitable for use in edit summaries and log messages. More...
 
 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)
 
 getContentHandler ()
 
 getDefaultFormat ()
 
 getDeletionUpdates (WikiPage $page, ParserOutput $parserOutput=null)
 
 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...
 
 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. 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)
 
 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...
 
 fillParserOutput (Title $title, $revId, ParserOptions $options, $generateHtml, ParserOutput &$output)
 Set the HTML and add the appropriate styles. 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...
 
 rootValueTable ( $val)
 Construct HTML table representation of any JSON value. More...
 
 valueCell ( $val)
 Construct HTML table cell representing any JSON value. More...
 
- Protected Member Functions inherited from TextContent
 getHighlightHtml ()
 Generates an HTML version of the content, for display. More...
 
 getHtml ()
 Generates an HTML version of the content, for display. More...
 
- Protected Member Functions inherited from AbstractContent
 checkFormat ( $format)
 
 checkModelID ( $modelId)
 

Protected Attributes

Status $jsonParse
 
- Protected Attributes inherited from AbstractContent
 $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

Represents the content of a JSON content.

Since
1.24

Definition at line 15 of file JsonContent.php.

Constructor & Destructor Documentation

◆ __construct()

JsonContent::__construct (   $text,
  $modelId = CONTENT_MODEL_JSON 
)
Parameters
string$textJSON
string$modelId

Reimplemented from TextContent.

Definition at line 27 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 214 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 188 of file JsonContent.php.

References $rows, arrayRow(), as, Html\element(), Html\rawElement(), text, and wfMessage().

Referenced by rootValueTable(), and valueCell().

◆ beautifyJSON()

JsonContent::beautifyJSON ( )

Pretty-print JSON.

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

Returns
string

Reimplemented in GadgetDefinitionContent.

Definition at line 71 of file JsonContent.php.

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

Referenced by preSaveTransform().

◆ fillParserOutput()

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

Set the HTML and add the appropriate styles.

Parameters
Title$title
int$revId
ParserOptions$options
bool$generateHtml
ParserOutput&$output

Reimplemented from TextContent.

Reimplemented in GadgetDefinitionContent.

Definition at line 102 of file JsonContent.php.

References $output, getData(), isValid(), rootValueTable(), and ParserOutput\setText().

◆ 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 50 of file JsonContent.php.

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

Referenced by beautifyJSON(), fillParserOutput(), GadgetDefinitionContent\getAssocArray(), isValid(), and GadgetDefinitionContent\validate().

◆ getJsonData()

JsonContent::getJsonData ( )

Decodes the JSON into a PHP associative array.

Deprecated:
since 1.25 Use getData instead.
Returns
array|null

Definition at line 37 of file JsonContent.php.

References FormatJson\decode(), TextContent\getNativeData(), and wfDeprecated().

◆ isValid()

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

Reimplemented from AbstractContent.

Reimplemented in GadgetDefinitionContent.

Definition at line 60 of file JsonContent.php.

References getData().

Referenced by fillParserOutput(), and preSaveTransform().

◆ 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 176 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 149 of file JsonContent.php.

References $rows, as, Html\element(), objectRow(), Html\rawElement(), text, and wfMessage().

Referenced by rootValueTable(), and valueCell().

◆ preSaveTransform()

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

Beautifies JSON prior to save.

Parameters
Title$titleTitle
User$userUser
ParserOptions$popts
Returns
JsonContent

Reimplemented from TextContent.

Definition at line 83 of file JsonContent.php.

References beautifyJSON(), isValid(), and TextContent\normalizeLineEndings().

◆ primitiveValue()

JsonContent::primitiveValue (   $val)
protected

Construct text representing a JSON primitive value.

Parameters
mixed$val
Returns
string Text.

Definition at line 243 of file JsonContent.php.

References FormatJson\encode().

Referenced by rootValueTable(), and valueCell().

◆ rootValueTable()

JsonContent::rootValueTable (   $val)
protected

Construct HTML table representation of any JSON value.

See also valueCell, which is similar.

Parameters
mixed$val
Returns
string HTML.

Definition at line 123 of file JsonContent.php.

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

Referenced by fillParserOutput().

◆ valueCell()

JsonContent::valueCell (   $val)
protected

Construct HTML table cell representing any JSON value.

Parameters
mixed$val
Returns
string HTML.

Definition at line 225 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 21 of file JsonContent.php.

Referenced by getData().


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