62 if ( !isset( $feedClasses[$this->format] ) ) {
66 if ( !array_key_exists( $this->format, $feedClasses ) ) {
68 $this->format =
'atom';
71 $feedTitle =
"{$sitename} - {$title} [{$languageCode}]";
72 return new $feedClasses[$this->format](
73 $feedTitle, htmlspecialchars( $description ),
$url );
85 # Merge adjacent edits by one user
88 foreach ( $rows as $obj ) {
95 $obj->rc_namespace >= 0 &&
96 $obj->rc_cur_id == $sorted[$n - 1]->rc_cur_id &&
97 $obj->rc_user_text == $sorted[$n - 1]->rc_user_text ) {
98 $sorted[$n - 1]->rc_last_oldid = $obj->rc_last_oldid;
106 $commentFormatter = $services->getRowCommentFormatter();
107 $formattedComments = $commentFormatter->formatItems(
108 $commentFormatter->rows( $rows )
109 ->commentKey(
'rc_comment' )
110 ->indexField(
'rc_id' )
113 $nsInfo = $services->getNamespaceInfo();
114 foreach ( $sorted as $obj ) {
115 $title = Title::makeTitle( $obj->rc_namespace, $obj->rc_title );
116 $talkpage = $nsInfo->hasTalkNamespace( $obj->rc_namespace ) && $title->canExist()
117 ? $title->getTalkPage()->getFullURL()
121 if ( $obj->rc_deleted ) {
125 if ( $obj->rc_this_oldid ) {
126 $url = $title->getFullURL( [
127 'diff' => $obj->rc_this_oldid,
128 'oldid' => $obj->rc_last_oldid,
132 $url = $title->getFullURL();
136 $title->getPrefixedText(),
137 FeedUtils::formatDiff( $obj, $formattedComments[$obj->rc_id] ),
140 ( $obj->rc_deleted & RevisionRecord::DELETED_USER )
141 ?
wfMessage(
'rev-deleted-user' )->escaped() : $obj->rc_user_text,