Enable users to watch category membership changes
[lhc/web/wiklou.git] / includes / changes / ChangesList.php
index fdc9944..249f53f 100644 (file)
@@ -456,6 +456,28 @@ class ChangesList extends ContextSource {
                }
        }
 
+       /**
+        * @param RCCacheEntry $rc
+        * @param array $query array of key/value pairs to append as a query string
+        * @return string
+        * @since 1.26
+        */
+       public function getDiffHistLinks( RCCacheEntry $rc, array $query ) {
+               $pageTitle = $rc->getTitle();
+               if ( intval( $rc->getAttribute( 'rc_type' ) ) === RC_CATEGORIZE ) {
+                       $pageTitle = Title::newFromID( $rc->getAttribute( 'rc_cur_id' ) );
+               }
+
+               $retVal = ' ' . $this->msg( 'parentheses' )
+               ->rawParams( $rc->difflink . $this->message['pipe-separator'] . Linker::linkKnown(
+                               $pageTitle,
+                               $this->message['hist'],
+                               array(),
+                               $query
+                       ) )->escaped();
+               return $retVal;
+       }
+
        /**
         * Check whether to enable recent changes patrol features
         *
@@ -630,4 +652,17 @@ class ChangesList extends ContextSource {
 
                return false;
        }
+
+       /**
+        * Determines whether a revision is linked to this change; this may not be the case
+        * when the categorization wasn't done by an edit but a conditional parser function
+        *
+        * @param RecentChange|RCCacheEntry $rcObj
+        * @return bool
+        */
+       protected function isCategorizationWithoutRevision( $rcObj ) {
+               return intval( $rcObj->getAttribute( 'rc_type' ) ) === RC_CATEGORIZE
+               && intval( $rcObj->getAttribute( 'rc_this_oldid' ) ) === 0;
+       }
+
 }