MediaWiki  REL1_22
WatchedItem Class Reference

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

List of all members.

Public Member Functions

 addWatch ()
 Given a title and user (assumes the object is setup), add the watch to the database.
 getNotificationTimestamp ()
 Get the notification timestamp of this entry.
 isWatched ()
 Is mTitle being watched by mUser?
 removeWatch ()
 Same as addWatch, only the opposite.
 resetNotificationTimestamp ($force= '')
 Reset the notification timestamp of this entry.

Static Public Member Functions

static duplicateEntries ($ot, $nt)
 Check if the given title already is watched by the user, and if so add watches on a new title.
static fromUserTitle ($user, $title, $checkRights=WatchedItem::CHECK_USER_RIGHTS)
 Create a WatchedItem object with the given user and title.

Public Attributes

 $mCheckRights
 $mTitle
 $mUser
 $timestamp
 $watched
const CHECK_USER_RIGHTS = 1
 Constant to specify that user rights 'editmywatchlist' and 'viewmywatchlist' should be checked.
const IGNORE_USER_RIGHTS = 0
 Constant to specify that user rights 'editmywatchlist' and 'viewmywatchlist' should not be checked.

Protected Member Functions

 getTitle ()
 Title being watched.
 getTitleDBkey ()
 Helper to retrieve the title DBkey.
 getTitleNs ()
 Helper to retrieve the title namespace.
 getUserId ()
 Helper to retrieve the user id.

Private Member Functions

 dbCond ()
 Return an array of conditions to select or update the appropriate database row.
 isAllowed ($what)
 Check permissions.
 load ()
 Load the object from the database.

Static Private Member Functions

static doDuplicateEntries ($ot, $nt)
 Handle duplicate entries.

Private Attributes

 $loaded = false

Detailed Description

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

Definition at line 29 of file WatchedItem.php.


Member Function Documentation

Given a title and user (assumes the object is setup), add the watch to the database.

Returns:
bool

Definition at line 203 of file WatchedItem.php.

References array(), MWNamespace\getSubject(), MWNamespace\getTalk(), getTitleDBkey(), getTitleNs(), getUserId(), isAllowed(), wfGetDB(), wfProfileIn(), wfProfileOut(), and wfReadOnly().

WatchedItem::dbCond ( ) [private]

Return an array of conditions to select or update the appropriate database row.

Returns:
array

Definition at line 93 of file WatchedItem.php.

References array(), getTitleDBkey(), getTitleNs(), and getUserId().

Referenced by load(), and resetNotificationTimestamp().

static WatchedItem::doDuplicateEntries ( ot,
nt 
) [static, private]

Handle duplicate entries.

Backend for duplicateEntries().

Parameters:
$otTitle
$ntTitle
Returns:
bool

Definition at line 307 of file WatchedItem.php.

References $res, $s, array(), as, empty, and wfGetDB().

Referenced by duplicateEntries().

static WatchedItem::duplicateEntries ( ot,
nt 
) [static]

Check if the given title already is watched by the user, and if so add watches on a new title.

To be used for page renames and such.

Parameters:
$otTitle: page title to duplicate entries from, if present
$ntTitle: page title to add watches on

Definition at line 294 of file WatchedItem.php.

References doDuplicateEntries().

Referenced by Title\moveTo().

static WatchedItem::fromUserTitle ( user,
title,
checkRights = WatchedItem::CHECK_USER_RIGHTS 
) [static]

Create a WatchedItem object with the given user and title.

Since:
1.22 $checkRights parameter added
Parameters:
$userUser: the user to use for (un)watching
$titleTitle: the title we're going to (un)watch
$checkRightsint: Whether to check the 'viewmywatchlist' and 'editmywatchlist' rights. Pass either WatchedItem::IGNORE_USER_RIGHTS or WatchedItem::CHECK_USER_RIGHTS.
Returns:
WatchedItem object

Definition at line 56 of file WatchedItem.php.

References $title, and $user.

Get the notification timestamp of this entry.

Returns:
false|null|string: false if the page is not watched, the value of the wl_notificationtimestamp field otherwise

Definition at line 158 of file WatchedItem.php.

References isAllowed(), and load().

WatchedItem::getTitle ( ) [protected]

Title being watched.

Returns:
Title

Definition at line 69 of file WatchedItem.php.

Referenced by getTitleDBkey(), and getTitleNs().

WatchedItem::getTitleDBkey ( ) [protected]

Helper to retrieve the title DBkey.

Definition at line 79 of file WatchedItem.php.

References getTitle().

Referenced by addWatch(), dbCond(), and removeWatch().

WatchedItem::getTitleNs ( ) [protected]

Helper to retrieve the title namespace.

Definition at line 74 of file WatchedItem.php.

References getTitle().

Referenced by addWatch(), dbCond(), and removeWatch().

WatchedItem::getUserId ( ) [protected]

Helper to retrieve the user id.

Definition at line 83 of file WatchedItem.php.

Referenced by addWatch(), dbCond(), and removeWatch().

WatchedItem::isAllowed ( what) [private]

Check permissions.

Parameters:
$whatstring: 'viewmywatchlist' or 'editmywatchlist'

Definition at line 135 of file WatchedItem.php.

Referenced by addWatch(), getNotificationTimestamp(), isWatched(), removeWatch(), and resetNotificationTimestamp().

Is mTitle being watched by mUser?

Returns:
bool

Definition at line 143 of file WatchedItem.php.

References isAllowed(), and load().

WatchedItem::load ( ) [private]

Load the object from the database.

Definition at line 104 of file WatchedItem.php.

References $dbr, dbCond(), and wfGetDB().

Referenced by getNotificationTimestamp(), isWatched(), and resetNotificationTimestamp().

Reset the notification timestamp of this entry.

Parameters:
$forceWhether to force the write query to be executed even if the page is not watched or the notification timestamp is already NULL.

Definition at line 177 of file WatchedItem.php.

References array(), dbCond(), isAllowed(), load(), wfGetDB(), and wfReadOnly().


Member Data Documentation

WatchedItem::$loaded = false [private]

Definition at line 45 of file WatchedItem.php.

WatchedItem::$mCheckRights

Definition at line 44 of file WatchedItem.php.

WatchedItem::$mTitle

Definition at line 44 of file WatchedItem.php.

WatchedItem::$mUser

Definition at line 44 of file WatchedItem.php.

WatchedItem::$timestamp

Definition at line 45 of file WatchedItem.php.

WatchedItem::$watched

Definition at line 45 of file WatchedItem.php.

Constant to specify that user rights 'editmywatchlist' and 'viewmywatchlist' should be checked.

Since:
1.22

Definition at line 42 of file WatchedItem.php.

Constant to specify that user rights 'editmywatchlist' and 'viewmywatchlist' should not be checked.

Since:
1.22

Definition at line 35 of file WatchedItem.php.

Referenced by WatchAction\doWatch(), WatchAction\doWatchOrUnwatch(), ApiBase\getWatchlistValue(), UploadBase\performUpload(), and SpecialBlock\processForm().


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