MediaWiki  master
WatchedItem Class Reference

Representation of a pair of user and title for watchlist entries. More...

Collaboration diagram for WatchedItem:

Public Member Functions

 __construct (UserIdentity $user, $target, $notificationTimestamp, ?string $expiry=null)
 
 getExpiry (?int $style=TS_MW)
 When the watched item will expire. More...
 
 getExpiryInDays ()
 Get days remaining until a watched item expires. More...
 
 getExpiryInDaysText (MessageLocalizer $msgLocalizer, $isDropdownOption=false)
 Get days remaining until a watched item expires as a text. More...
 
 getLinkTarget ()
 
 getNotificationTimestamp ()
 Get the notification timestamp of this entry. More...
 
 getTarget ()
 
 getUserIdentity ()
 
 isExpired ()
 Has the watched item expired? More...
 

Static Public Member Functions

static calculateExpiryInDays (?string $expiry)
 Get the number of days remaining until the given expiry time. More...
 
static newFromRecentChange (RecentChange $recentChange, UserIdentity $user)
 

Private Attributes

ConvertibleTimestamp null $expiry
 value that determines when a watched item will expire. More...
 
null string $notificationTimestamp
 the value of the wl_notificationtimestamp field More...
 
LinkTarget PageIdentity $target
 deprecated LinkTarget since 1.36 More...
 
UserIdentity $user
 
const SECONDS_IN_A_DAY = 86400
 Used to calculate how many days are remaining until a watched item will expire. More...
 

Detailed Description

Representation of a pair of user and title for watchlist entries.

Author
Tim Starling
Addshore

Definition at line 36 of file WatchedItem.php.

Constructor & Destructor Documentation

◆ __construct()

WatchedItem::__construct ( UserIdentity  $user,
  $target,
  $notificationTimestamp,
?string  $expiry = null 
)
Parameters
UserIdentity$user
LinkTarget | PageIdentity$targetdeprecated passing LinkTarget since 1.36
null | string$notificationTimestampthe value of the wl_notificationtimestamp field
null | string$expiryOptional expiry timestamp in any format acceptable to wfTimestamp()

Definition at line 73 of file WatchedItem.php.

References $expiry, $notificationTimestamp, $target, and $user.

Member Function Documentation

◆ calculateExpiryInDays()

static WatchedItem::calculateExpiryInDays ( ?string  $expiry)
static

Get the number of days remaining until the given expiry time.

Since
1.35
Parameters
string | null$expiryThe expiry to calculate from, in any format supported by MWTimestamp::convert().
Returns
int|null The remaining number of days or null if $expiry is null.

Definition at line 192 of file WatchedItem.php.

References $expiry, SECONDS_IN_A_DAY, and wfTimestamp().

Referenced by getExpiryInDays(), and WatchAction\onSuccess().

◆ getExpiry()

WatchedItem::getExpiry ( ?int  $style = TS_MW)

When the watched item will expire.

Since
1.35
Parameters
int | null$styleGiven timestamp format to style the ConvertibleTimestamp
Returns
string|null null or in a format acceptable to ConvertibleTimestamp (TS_* constants). Default is TS_MW format.

Definition at line 150 of file WatchedItem.php.

References $expiry.

Referenced by ApiQueryWatchlist\extractOutputData(), getExpiryInDays(), WatchAction\getExpiryOptions(), isExpired(), SpecialWatchlist\outputChangesList(), and Linker\tooltipAndAccesskeyAttribs().

◆ getExpiryInDays()

WatchedItem::getExpiryInDays ( )

Get days remaining until a watched item expires.

Since
1.35
Returns
int|null days remaining or null if no expiration is present

Definition at line 178 of file WatchedItem.php.

References calculateExpiryInDays(), and getExpiry().

Referenced by getExpiryInDaysText().

◆ getExpiryInDaysText()

WatchedItem::getExpiryInDaysText ( MessageLocalizer  $msgLocalizer,
  $isDropdownOption = false 
)

Get days remaining until a watched item expires as a text.

Since
1.35
Parameters
MessageLocalizer$msgLocalizer
bool$isDropdownOptionWhether the text is being displayed as a dropdown option. The text is different as a dropdown option from when it is used in other places as a watchlist indicator.
Returns
string days remaining text and '' if no expiration is present

Definition at line 218 of file WatchedItem.php.

References getExpiryInDays(), and MessageLocalizer\msg().

Referenced by WatchAction\getExpiryOptions().

◆ getLinkTarget()

WatchedItem::getLinkTarget ( )
Returns
LinkTarget
Deprecated:
since 1.36, use getTarget() instead

Definition at line 118 of file WatchedItem.php.

References getTarget(), and TitleValue\newFromPage().

◆ getNotificationTimestamp()

WatchedItem::getNotificationTimestamp ( )

Get the notification timestamp of this entry.

Returns
bool|null|string

Definition at line 138 of file WatchedItem.php.

References $notificationTimestamp.

Referenced by ApiQueryWatchlist\extractOutputData().

◆ getTarget()

WatchedItem::getTarget ( )
Returns
LinkTarget|PageIdentity deprecated returning LinkTarget since 1.36
Since
1.36

Definition at line 129 of file WatchedItem.php.

References $target.

Referenced by WatchedItemStore\cache(), ApiQueryWatchlist\extractOutputData(), getLinkTarget(), and ApiQueryWatchlist\run().

◆ getUserIdentity()

WatchedItem::getUserIdentity ( )
Returns
UserIdentity

Definition at line 110 of file WatchedItem.php.

References $user.

Referenced by WatchedItemStore\cache().

◆ isExpired()

WatchedItem::isExpired ( )

Has the watched item expired?

Since
1.35
Returns
bool

Definition at line 163 of file WatchedItem.php.

References $expiry, and getExpiry().

◆ newFromRecentChange()

static WatchedItem::newFromRecentChange ( RecentChange  $recentChange,
UserIdentity  $user 
)
static
Since
1.35
Parameters
RecentChange$recentChange
UserIdentity$user
Returns
WatchedItem

Definition at line 98 of file WatchedItem.php.

References $user, and RecentChange\getTitle().

Referenced by ChangesList\getWatchlistExpiry().

Member Data Documentation

◆ $expiry

ConvertibleTimestamp null WatchedItem::$expiry
private

value that determines when a watched item will expire.

'null' means that there is no expiration.

Definition at line 56 of file WatchedItem.php.

Referenced by __construct(), calculateExpiryInDays(), getExpiry(), and isExpired().

◆ $notificationTimestamp

null string WatchedItem::$notificationTimestamp
private

the value of the wl_notificationtimestamp field

Definition at line 50 of file WatchedItem.php.

Referenced by __construct(), and getNotificationTimestamp().

◆ $target

LinkTarget PageIdentity WatchedItem::$target
private

deprecated LinkTarget since 1.36

Definition at line 40 of file WatchedItem.php.

Referenced by __construct(), and getTarget().

◆ $user

UserIdentity WatchedItem::$user
private

Definition at line 45 of file WatchedItem.php.

Referenced by __construct(), getUserIdentity(), and newFromRecentChange().

◆ SECONDS_IN_A_DAY

const WatchedItem::SECONDS_IN_A_DAY = 86400
private

Used to calculate how many days are remaining until a watched item will expire.

Uses a different algorithm from Language::getDurationIntervals for calculating days remaining in an interval of time

Since
1.35

Definition at line 65 of file WatchedItem.php.

Referenced by calculateExpiryInDays().


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