74 $titleObj = Title::makeTitle( $row->rc_namespace, $row->rc_title );
75 $timestamp =
wfTimestamp( TS_MW, $row->rc_timestamp );
77 if ( $row->rc_type ==
RC_LOG ) {
82 $row->rc_last_oldid, $row->rc_this_oldid,
84 $row->rc_deleted & RevisionRecord::DELETED_COMMENT
85 ?
wfMessage(
'rev-deleted-comment' )->escaped()
86 : CommentStore::getStore()->getComment(
'rc_comment', $row )->text,
103 $comment, $actiontext =
''
108 $unwrappedText = implode(
112 $completeText = Html::rawElement(
'p', [], $unwrappedText ) .
"\n";
118 $services = MediaWikiServices::getInstance();
119 $permManager = $services->getPermissionManager();
120 $accErrors = $permManager->getPermissionErrors(
128 if (
$title->getNamespace() < 0 || $accErrors || !$newid ) {
129 return $completeText;
132 $revLookup = $services->getRevisionLookup();
133 $contentHandlerFactory = $services->getContentHandlerFactory();
138 $revRecord = $revLookup->getRevisionById( $oldid );
143 $mainContext = RequestContext::getMain();
144 $context = clone RequestContext::getMain();
145 $context->setTitle(
$title );
147 $model = $revRecord->getSlot(
151 $contentHandler = $contentHandlerFactory->getContentHandler( $model );
152 $de = $contentHandler->createDifferenceEngine( $context, $oldid, $newid );
153 $lang = $mainContext->getLanguage();
154 $user = $mainContext->getUser();
155 $diffText = $de->getDiff(
156 $mainContext->msg(
'previousrevision' )->text(),
157 $mainContext->msg(
'revisionasof',
158 $lang->userTimeAndDate( $timestamp, $user ),
159 $lang->userDate( $timestamp, $user ),
160 $lang->userTime( $timestamp, $user ) )->text() );
167 } elseif ( $diffText ===
false ) {
169 $diffText = Html::rawElement(
172 "Can't load revision $newid"
176 $diffText = UtfNormal\Validator::cleanUp( $diffText );
180 $revRecord = $revLookup->getRevisionById( $newid );
182 $newContent = $contentHandlerFactory
183 ->getContentHandler(
$title->getContentModel() )
184 ->makeEmptyContent();
186 $newContent = $revRecord->getContent( SlotRecord::MAIN );
191 $text = $newContent->getText();
196 $html = nl2br( htmlspecialchars( $text ) );
206 if ( $html ===
null ) {
211 $diffText = Html::rawElement(
214 Html::rawElement(
'b', [],
wfMessage(
'newpage' )->text() )
216 $diffText .= Html::rawElement(
'div', [], $html );
219 $completeText .= $diffText;
221 return $completeText;