MediaWiki REL1_32
SlotDiffRenderer.php
Go to the documentation of this file.
1<?php
23use Wikimedia\Assert\Assert;
24
39abstract class SlotDiffRenderer {
40
49 abstract public function getDiff( Content $oldContent = null, Content $newContent = null );
50
55 public function addModules( OutputPage $output ) {
56 }
57
62 public function getExtraCacheKeys() {
63 return [];
64 }
65
75 protected function normalizeContents(
76 Content &$oldContent = null, Content &$newContent = null, $allowedClasses = null
77 ) {
78 if ( !$oldContent && !$newContent ) {
79 throw new InvalidArgumentException( '$oldContent and $newContent cannot both be null' );
80 }
81
82 if ( $allowedClasses ) {
83 if ( is_array( $allowedClasses ) ) {
84 $allowedClasses = implode( '|', $allowedClasses );
85 }
86 Assert::parameterType( $allowedClasses . '|null', $oldContent, '$oldContent' );
87 Assert::parameterType( $allowedClasses . '|null', $newContent, '$newContent' );
88 }
89
90 if ( !$oldContent ) {
91 $oldContent = $newContent->getContentHandler()->makeEmptyContent();
92 } elseif ( !$newContent ) {
93 $newContent = $oldContent->getContentHandler()->makeEmptyContent();
94 }
95 }
96
97}
This class should be covered by a general architecture document which does not exist as of January 20...
Renders a diff for a single slot (that is, a diff between two content objects).
addModules(OutputPage $output)
Add modules needed for correct styling/behavior of the diff.
getExtraCacheKeys()
Return any extra keys to split the diff cache by.
getDiff(Content $oldContent=null, Content $newContent=null)
Get a diff between two content objects.
normalizeContents(Content &$oldContent=null, Content &$newContent=null, $allowedClasses=null)
Helper method to normalize the input of getDiff().
static configuration should be added through ResourceLoaderGetConfigVars instead can be used to get the real title e g db for database replication lag or jobqueue for job queue size converted to pseudo seconds It is possible to add more fields and they will be returned to the user in the API response after the basic globals have been set but before ordinary actions take place $output
Definition hooks.txt:2317
Base interface for content objects.
Definition Content.php:34