function rcDoOutputFeed($rows, &$feed) { $fname = 'rcDoOutputFeed'; wfProfileIn($fname); $feed->outHeader(); # Merge adjacent edits by one user $sorted = array(); $n = 0; foreach ($rows as $obj) { if ($n > 0 && $obj->rc_namespace >= 0 && $obj->rc_cur_id == $sorted[$n - 1]->rc_cur_id && $obj->rc_user_text == $sorted[$n - 1]->rc_user_text) { $sorted[$n - 1]->rc_last_oldid = $obj->rc_last_oldid; } else { $sorted[$n] = $obj; $n++; } } foreach ($sorted as $obj) { $title = Title::makeTitle($obj->rc_namespace, $obj->rc_title); $talkpage = $title->getTalkPage(); $item = new FeedItem($title->getPrefixedText(), rcFormatDiff($obj), $title->getFullURL(), $obj->rc_timestamp, $obj->rc_user_text, $talkpage->getFullURL()); $feed->outItem($item); } $feed->outFooter(); wfProfileOut($fname); }
function rcDoOutputFeed($rows, &$feed) { global $wgSitename, $wgFeedClasses, $wgContLanguageCode; $feed->outHeader(); # Merge adjacent edits by one user $sorted = array(); $n = 0; foreach ($rows as $obj) { if ($n > 0 && $obj->rc_namespace >= 0 && $obj->rc_cur_id == $sorted[$n - 1]->rc_cur_id && $obj->rc_user_text == $sorted[$n - 1]->rc_user_text) { $sorted[$n - 1]->rc_last_oldid = $obj->rc_last_oldid; } else { $sorted[$n] = $obj; $n++; } $first = false; } foreach ($sorted as $obj) { $title = Title::makeTitle($obj->rc_namespace, $obj->rc_title); $talkpage = $title->getTalkPage(); $item = new FeedItem($title->getPrefixedText(), rcFormatDiff($obj), $title->getFullURL(), $obj->rc_timestamp, $obj->rc_user_text, $talkpage->getFullURL()); $feed->outItem($item); } $feed->outFooter(); }