MediaWiki REL1_31
CategoryMembershipChange Class Reference
Collaboration diagram for CategoryMembershipChange:

Public Member Functions

 __construct (Title $pageTitle, Revision $revision=null)
 
 checkTemplateLinks ()
 Determines the number of template links for recursive link updates.
 
 overrideNewForCategorizationCallback ( $callback)
 Overrides the default new for categorization callback This is intended for use while testing and will fail if MW_PHPUNIT_TEST is not defined.
 
 triggerCategoryAddedNotification (Title $categoryTitle)
 Create a recentchanges entry for category additions.
 
 triggerCategoryRemovedNotification (Title $categoryTitle)
 Create a recentchanges entry for category removals.
 

Public Attributes

const CATEGORY_ADDITION = 1
 
const CATEGORY_REMOVAL = -1
 

Private Member Functions

 createRecentChangesEntry (Title $categoryTitle, $type)
 Create a recentchanges entry using RecentChange::notifyCategorization()
 
 getChangeMessageText ( $type, $prefixedText, $numTemplateLinks)
 Returns the change message according to the type of category membership change.
 
 getPreviousRevisionTimestamp ()
 Returns the timestamp of the page's previous revision or null if the latest revision does not refer to a parent revision.
 
 getUser ()
 Get the user associated with this change.
 
 notifyCategorization ( $timestamp, Title $categoryTitle, User $user=null, $comment, Title $pageTitle, $lastTimestamp, $revision, $added)
 

Private Attributes

callable null $newForCategorizationCallback = null
 
int $numTemplateLinks = 0
 Number of pages this WikiPage is embedded by Set by CategoryMembershipChange::checkTemplateLinks()
 
Title $pageTitle
 Title instance of the categorized page.
 
Revision null $revision
 Latest Revision instance of the categorized page.
 
string $timestamp
 Current timestamp, set during CategoryMembershipChange::__construct()
 

Detailed Description

Definition at line 28 of file CategoryMembershipChange.php.

Constructor & Destructor Documentation

◆ __construct()

CategoryMembershipChange::__construct ( Title $pageTitle,
Revision $revision = null )
Parameters
Title$pageTitleTitle instance of the categorized page
Revision$revisionLatest Revision instance of the categorized page
Exceptions
MWException

Definition at line 66 of file CategoryMembershipChange.php.

References $pageTitle, $revision, Revision\getTimestamp(), and wfTimestampNow().

Member Function Documentation

◆ checkTemplateLinks()

CategoryMembershipChange::checkTemplateLinks ( )

Determines the number of template links for recursive link updates.

Definition at line 97 of file CategoryMembershipChange.php.

◆ createRecentChangesEntry()

CategoryMembershipChange::createRecentChangesEntry ( Title $categoryTitle,
$type )
private

Create a recentchanges entry using RecentChange::notifyCategorization()

Parameters
Title$categoryTitle
int$type

Definition at line 125 of file CategoryMembershipChange.php.

References $type, getChangeMessageText(), getUser(), and notifyCategorization().

Referenced by triggerCategoryAddedNotification(), and triggerCategoryRemovedNotification().

◆ getChangeMessageText()

CategoryMembershipChange::getChangeMessageText ( $type,
$prefixedText,
$numTemplateLinks )
private

Returns the change message according to the type of category membership change.

The message keys created in this method may be one of:

  • recentchanges-page-added-to-category
  • recentchanges-page-added-to-category-bundled
  • recentchanges-page-removed-from-category
  • recentchanges-page-removed-from-category-bundled
Parameters
int$typemay be CategoryMembershipChange::CATEGORY_ADDITION or CategoryMembershipChange::CATEGORY_REMOVAL
string$prefixedTextresult of Title::->getPrefixedText()
int$numTemplateLinks
Returns
string

Definition at line 257 of file CategoryMembershipChange.php.

References $numTemplateLinks, $type, and wfMessage().

Referenced by createRecentChangesEntry().

◆ getPreviousRevisionTimestamp()

CategoryMembershipChange::getPreviousRevisionTimestamp ( )
private

Returns the timestamp of the page's previous revision or null if the latest revision does not refer to a parent revision.

Returns
null|string

Definition at line 278 of file CategoryMembershipChange.php.

◆ getUser()

CategoryMembershipChange::getUser ( )
private

Get the user associated with this change.

If there is no revision associated with the change and thus no editing user fallback to a default.

False will be returned if the user name specified in the 'autochange-username' message is invalid.

Returns
User|bool

Definition at line 221 of file CategoryMembershipChange.php.

References $user, $username, User\newFromId(), User\newFromName(), and wfMessage().

Referenced by createRecentChangesEntry().

◆ notifyCategorization()

CategoryMembershipChange::notifyCategorization ( $timestamp,
Title $categoryTitle,
User $user = null,
$comment,
Title $pageTitle,
$lastTimestamp,
$revision,
$added )
private
Parameters
string$timestampTimestamp of the recent change to occur in TS_MW format
Title$categoryTitleTitle of the category a page is being added to or removed from
User$userUser object of the user that made the change
string$commentChange summary
Title$pageTitleTitle of the page that is being added or removed
string$lastTimestampParent revision timestamp of this change in TS_MW format
Revision | null$revision
bool$addedtrue, if the category was added, false for removed
Exceptions
MWException

Definition at line 154 of file CategoryMembershipChange.php.

References $pageTitle, $revision, $timestamp, Revision\getId(), and Revision\getVisibility().

Referenced by createRecentChangesEntry().

◆ overrideNewForCategorizationCallback()

CategoryMembershipChange::overrideNewForCategorizationCallback ( $callback)

Overrides the default new for categorization callback This is intended for use while testing and will fail if MW_PHPUNIT_TEST is not defined.

Parameters
callable$callback
See also
RecentChange::newForCategorization for callback signiture
Exceptions
MWException

Definition at line 86 of file CategoryMembershipChange.php.

◆ triggerCategoryAddedNotification()

CategoryMembershipChange::triggerCategoryAddedNotification ( Title $categoryTitle)

Create a recentchanges entry for category additions.

Parameters
Title$categoryTitle

Definition at line 106 of file CategoryMembershipChange.php.

References createRecentChangesEntry().

◆ triggerCategoryRemovedNotification()

CategoryMembershipChange::triggerCategoryRemovedNotification ( Title $categoryTitle)

Create a recentchanges entry for category removals.

Parameters
Title$categoryTitle

Definition at line 115 of file CategoryMembershipChange.php.

References createRecentChangesEntry().

Member Data Documentation

◆ $newForCategorizationCallback

callable null CategoryMembershipChange::$newForCategorizationCallback = null
private

Definition at line 58 of file CategoryMembershipChange.php.

◆ $numTemplateLinks

int CategoryMembershipChange::$numTemplateLinks = 0
private

Number of pages this WikiPage is embedded by Set by CategoryMembershipChange::checkTemplateLinks()

Definition at line 53 of file CategoryMembershipChange.php.

Referenced by getChangeMessageText().

◆ $pageTitle

Title CategoryMembershipChange::$pageTitle
private

Title instance of the categorized page.

Definition at line 41 of file CategoryMembershipChange.php.

Referenced by __construct(), and notifyCategorization().

◆ $revision

Revision null CategoryMembershipChange::$revision
private

Latest Revision instance of the categorized page.

Definition at line 46 of file CategoryMembershipChange.php.

Referenced by __construct(), and notifyCategorization().

◆ $timestamp

string CategoryMembershipChange::$timestamp
private

Current timestamp, set during CategoryMembershipChange::__construct()

Definition at line 36 of file CategoryMembershipChange.php.

Referenced by notifyCategorization().

◆ CATEGORY_ADDITION

const CategoryMembershipChange::CATEGORY_ADDITION = 1

Definition at line 30 of file CategoryMembershipChange.php.

◆ CATEGORY_REMOVAL

const CategoryMembershipChange::CATEGORY_REMOVAL = -1

Definition at line 31 of file CategoryMembershipChange.php.


The documentation for this class was generated from the following file: