if ( $RCShowChangedSize && !$allLogs ) {
$last = 0;
$first = count( $block ) - 1;
- # Some events (like logs) have an "empty" size, so we need to skip those...
- while ( $last < $first && $block[$last]->mAttribs['rc_new_len'] === null ) {
+ # Some events (like logs and category changes) have an "empty" size, so we need to skip those...
+ while ( $last < $first && (
+ $block[$last]->mAttribs['rc_new_len'] === null ||
+ # TODO kill the below check after March 2016 - https://phabricator.wikimedia.org/T126428
+ $block[$last]->mAttribs['rc_type'] == RC_CATEGORIZE
+ ) ) {
$last++;
}
- while ( $first > $last && $block[$first]->mAttribs['rc_old_len'] === null ) {
+ while ( $last < $first && (
+ $block[$first]->mAttribs['rc_old_len'] === null ||
+ # TODO kill the below check after March 2016 - https://phabricator.wikimedia.org/T126428
+ $block[$first]->mAttribs['rc_type'] == RC_CATEGORIZE
+ ) ) {
$first--;
}
# Get net change
/** @var $block0 RecentChange */
$block0 = $block[0];
$last = $block[count( $block ) - 1];
- if ( !$allLogs && $rcObj->mAttribs['rc_type'] != RC_CATEGORIZE ) {
- if ( !ChangesList::userCan( $rcObj, Revision::DELETED_TEXT, $this->getUser() ) ) {
- $links['total-changes'] = $nchanges[$n];
- } elseif ( $isnew ) {
+ if ( !$allLogs ) {
+ if ( !ChangesList::userCan( $rcObj, Revision::DELETED_TEXT, $this->getUser() ) ||
+ $isnew ||
+ $rcObj->mAttribs['rc_type'] == RC_CATEGORIZE
+ ) {
$links['total-changes'] = $nchanges[$n];
} else {
$links['total-changes'] = Linker::link(