* @since 1.27
*/
-use Wikimedia\Assert\Assert;
-
class CategoryMembershipChange {
const CATEGORY_ADDITION = 1;
/**
* @param Title $pageTitle Title instance of the categorized page
- * @param Revision $revision Latest Revision instance of the categorized page
+ * @param Revision|null $revision Latest Revision instance of the categorized page
*
* @throws MWException
*/
*
* @throws MWException
*/
- public function overrideNewForCategorizationCallback( $callback ) {
+ public function overrideNewForCategorizationCallback( callable $callback ) {
if ( !defined( 'MW_PHPUNIT_TEST' ) ) {
throw new MWException( 'Cannot override newForCategorization callback in operation.' );
}
- Assert::parameterType( 'callable', $callback, '$callback' );
$this->newForCategorizationCallback = $callback;
}
/**
* @param string $timestamp Timestamp of the recent change to occur in TS_MW format
* @param Title $categoryTitle Title of the category a page is being added to or removed from
- * @param User $user User object of the user that made the change
+ * @param User|null $user User object of the user that made the change
* @param string $comment Change summary
* @param Title $pageTitle Title of the page that is being added or removed
* @param string $lastTimestamp Parent revision timestamp of this change in TS_MW format
}
/** @var RecentChange $rc */
- $rc = call_user_func_array(
- $this->newForCategorizationCallback,
- [
- $timestamp,
- $categoryTitle,
- $user,
- $comment,
- $pageTitle,
- $lastRevId,
- $newRevId,
- $lastTimestamp,
- $bot,
- $ip,
- $deleted,
- $added
- ]
+ $rc = ( $this->newForCategorizationCallback )(
+ $timestamp,
+ $categoryTitle,
+ $user,
+ $comment,
+ $pageTitle,
+ $lastRevId,
+ $newRevId,
+ $lastTimestamp,
+ $bot,
+ $ip,
+ $deleted,
+ $added
);
$rc->save();
}