MediaWiki  1.23.0
WatchedItem Class Reference

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

Public Member Functions

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

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. More...
 
static fromUserTitle ( $user, $title, $checkRights=WatchedItem::CHECK_USER_RIGHTS)
 Create a WatchedItem object with the given user and title. More...
 

Public Attributes

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

Protected Member Functions

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

Private Member Functions

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

Static Private Member Functions

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

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

◆ addWatch()

WatchedItem::addWatch ( )

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

Returns
bool

Definition at line 260 of file WatchedItem.php.

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

◆ dbCond()

WatchedItem::dbCond ( )
private

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

Returns
array

Definition at line 103 of file WatchedItem.php.

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

Referenced by load(), and resetNotificationTimestamp().

◆ doDuplicateEntries()

static WatchedItem::doDuplicateEntries (   $ot,
  $nt 
)
staticprivate

Handle duplicate entries.

Backend for duplicateEntries().

Parameters
$otTitle
$ntTitle
Returns
bool

Definition at line 364 of file WatchedItem.php.

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

Referenced by duplicateEntries().

◆ 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 351 of file WatchedItem.php.

References doDuplicateEntries().

Referenced by Title\moveTo().

◆ fromUserTitle()

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.

Referenced by User\getWatchedItem().

◆ getNotificationTimestamp()

WatchedItem::getNotificationTimestamp ( )

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 174 of file WatchedItem.php.

References $timestamp, isAllowed(), and load().

◆ getTitle()

WatchedItem::getTitle ( )
protected

Title being watched.

Returns
Title

Definition at line 69 of file WatchedItem.php.

References $mTitle.

Referenced by getTitleDBkey(), getTitleNs(), load(), and resetNotificationTimestamp().

◆ getTitleDBkey()

WatchedItem::getTitleDBkey ( )
protected

Helper to retrieve the title DBkey.

Returns
string

Definition at line 85 of file WatchedItem.php.

References getTitle().

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

◆ getTitleNs()

WatchedItem::getTitleNs ( )
protected

Helper to retrieve the title namespace.

Returns
int

Definition at line 77 of file WatchedItem.php.

References getTitle().

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

◆ getUserId()

WatchedItem::getUserId ( )
protected

Helper to retrieve the user id.

Returns
int

Definition at line 93 of file WatchedItem.php.

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

◆ isAllowed()

WatchedItem::isAllowed (   $what)
private

Check permissions.

Parameters
$whatstring: 'viewmywatchlist' or 'editmywatchlist'

Definition at line 151 of file WatchedItem.php.

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

◆ isWatched()

WatchedItem::isWatched ( )

Is mTitle being watched by mUser?

Returns
bool

Definition at line 159 of file WatchedItem.php.

References $watched, isAllowed(), and load().

◆ load()

WatchedItem::load ( )
private

Load the object from the database.

Definition at line 114 of file WatchedItem.php.

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

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

◆ removeWatch()

WatchedItem::removeWatch ( )

◆ resetNotificationTimestamp()

WatchedItem::resetNotificationTimestamp (   $force = '',
  $oldid = 0 
)

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.
int$oldidThe revision id being viewed. If not given or 0, latest revision is assumed.

Definition at line 194 of file WatchedItem.php.

References $dbr, $timestamp, $title, array(), DB_MASTER, DB_SLAVE, dbCond(), getTitle(), isAllowed(), load(), TS_MW, wfGetDB(), and wfReadOnly().

Member Data Documentation

◆ $loaded

WatchedItem::$loaded = false
private

Definition at line 45 of file WatchedItem.php.

◆ $mCheckRights

WatchedItem::$mCheckRights

Definition at line 44 of file WatchedItem.php.

◆ $mTitle

WatchedItem::$mTitle

Definition at line 44 of file WatchedItem.php.

Referenced by getTitle().

◆ $mUser

WatchedItem::$mUser

Definition at line 44 of file WatchedItem.php.

◆ $timestamp

WatchedItem::$timestamp

Definition at line 45 of file WatchedItem.php.

Referenced by getNotificationTimestamp(), and resetNotificationTimestamp().

◆ $watched

WatchedItem::$watched

Definition at line 45 of file WatchedItem.php.

Referenced by isWatched().

◆ CHECK_USER_RIGHTS

const WatchedItem::CHECK_USER_RIGHTS = 1

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

Since
1.22

Definition at line 42 of file WatchedItem.php.

◆ IGNORE_USER_RIGHTS

const WatchedItem::IGNORE_USER_RIGHTS = 0

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(), LoginForm\initUser(), UploadBase\performUpload(), and SpecialBlock\processForm().


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