MediaWiki  REL1_31
ContribsPager Class Reference
Inheritance diagram for ContribsPager:
Collaboration diagram for ContribsPager:

Public Member Functions

 __construct (IContextSource $context, array $options)
 
 doBatchLookups ()
 Called from getBody(), before getStartBody() is called and after doQuery() was called. More...
 
 formatRow ( $row)
 Generates each row in the contributions list. More...
 
 getDefaultQuery ()
 Get an array of query parameters that should be put into self-links. More...
 
 getEndBody ()
 
 getIndexField ()
 Override of getIndexField() in IndexPager. More...
 
 getNamespaceCond ()
 
 getPreventClickjacking ()
 
 getQueryInfo ()
 This function should be overridden to provide all parameters needed for the main paged query. More...
 
 getSqlComment ()
 Overwrite Pager function and return a helpful comment. More...
 
 getStartBody ()
 
 isQueryableRange ( $ipRange)
 Is the given IP a range and within the CIDR limit? More...
 
 reallyDoQuery ( $offset, $limit, $descending)
 This method basically executes the exact same code as the parent class, though with a hook added, to allow extensions to add additional queries. More...
 
- Public Member Functions inherited from RangeChronologicalPager
 getDateCond ( $year, $month, $day=-1)
 Takes ReverseChronologicalPager::getDateCond parameters and repurposes them to work with timestamp-based getDateRangeCond. More...
 
 getDateRangeCond ( $startStamp, $endStamp)
 Set and return a date range condition using timestamps provided by the user. More...
 
- Public Member Functions inherited from ReverseChronologicalPager
 getNavigationBar ()
 
- Public Member Functions inherited from IndexPager
 __construct (IContextSource $context=null)
 
 doQuery ()
 Do the query, using information from the object context. More...
 
 extractResultInfo ( $isFirst, $limit, IResultWrapper $res)
 Extract some useful data from the result object for use by the navigation bar, put it into $this. More...
 
 getBody ()
 Get the formatted result list. More...
 
 getDatabase ()
 Get the Database object in use. More...
 
 getLimit ()
 Get the current limit. More...
 
 getLimitLinks ()
 
 getNumRows ()
 Get the number of rows in the result set. More...
 
 getPagingLinks ( $linkTexts, $disabledTexts=[])
 Get paging links. More...
 
 getPagingQueries ()
 Get a URL query array for the prev, next, first and last links. More...
 
 getResult ()
 
 isNavigationBarShown ()
 Returns whether to show the "navigation bar". More...
 
 makeLink ( $text, array $query=null, $type=null)
 Make a self-link. More...
 
 setIncludeOffset ( $include)
 Set whether a row matching exactly the offset should be also included in the result or not. More...
 
 setLimit ( $limit)
 Set the limit from an other source than the request. More...
 
 setOffset ( $offset)
 Set the offset from an other source than the request. More...
 
- Public Member Functions inherited from ContextSource
 canUseWikiPage ()
 Check whether a WikiPage object can be get with getWikiPage(). More...
 
 exportSession ()
 Export the resolved user IP, HTTP headers, user ID, and session ID. More...
 
 getConfig ()
 
 getContext ()
 Get the base IContextSource object. More...
 
 getLanguage ()
 
 getOutput ()
 
 getRequest ()
 
 getSkin ()
 
 getStats ()
 
 getTiming ()
 
 getTitle ()
 
 getUser ()
 
 getWikiPage ()
 Get the WikiPage object. More...
 
 msg ( $key)
 Get a Message object with context set Parameters are the same as wfMessage() More...
 
 setContext (IContextSource $context)
 

Static Public Member Functions

static processDateFilter (array $opts)
 Set up date filter options, given request data. More...
 
- Static Public Member Functions inherited from ReverseChronologicalPager
static getOffsetDate ( $year, $month, $day=-1)
 Core logic of determining the mOffset timestamp such that we can get all items with a timestamp up to the specified parameters. More...
 

Public Attributes

 $mDb
 
IDatabase $mDbSecondary
 
 $mDefaultDirection = IndexPager::DIR_DESCENDING
 
 $messages
 
 $namespace = ''
 
 $preventClickjacking = false
 
 $target
 
- Public Attributes inherited from ReverseChronologicalPager
 $mDay
 
 $mDefaultDirection = IndexPager::DIR_DESCENDING
 
 $mMonth
 
 $mYear
 
- Public Attributes inherited from IndexPager
 $mDb
 
 $mDefaultDirection
 $mDefaultDirection gives the direction to use when sorting results: DIR_ASCENDING or DIR_DESCENDING. More...
 
 $mDefaultLimit = 50
 
 $mDefaultQuery
 
 $mFirstShown
 
 $mIsBackwards
 
 $mIsFirst
 True if the current result set is the first one. More...
 
 $mIsLast
 
 $mLimit
 
 $mLimitsShown = [ 20, 50, 100, 250, 500 ]
 
 $mNavigationBar
 
 $mOffset
 
 $mPastTheEndIndex
 
 $mPastTheEndRow
 
 $mQueryDone = false
 
 $mRequest
 
IResultWrapper $mResult
 Result object for the query. More...
 
const DIR_ASCENDING = false
 Constants for the $mDefaultDirection field. More...
 
const DIR_DESCENDING = true
 

Protected Member Functions

 preventClickjacking ()
 
- Protected Member Functions inherited from RangeChronologicalPager
 buildQueryInfo ( $offset, $limit, $descending)
 Build variables to use by the database wrapper. More...
 
- Protected Member Functions inherited from IndexPager
 getDefaultDirections ()
 Return the default sorting direction: DIR_ASCENDING or DIR_DESCENDING. More...
 
 getEmptyBody ()
 Hook into getBody(), for the bit between the start and the end when there are no rows. More...
 
 getExtraSortFields ()
 This function should be overridden to return the names of secondary columns to order by in addition to the column in getIndexField(). More...
 
 preprocessResults ( $result)
 Pre-process results; useful for performing batch existence checks, etc. More...
 

Protected Attributes

array $mParentLens
 
TemplateParser $templateParser
 
- Protected Attributes inherited from RangeChronologicalPager
 $rangeConds = []
 
- Protected Attributes inherited from IndexPager
 $mExtraSortFields
 An array of secondary columns to order by. More...
 
 $mIncludeOffset = false
 Whether to include the offset in the query. More...
 
 $mIndexField
 The index to actually be used for ordering. More...
 
 $mLastShown
 
 $mOrderType
 For pages that support multiple types of ordering, which one to use. More...
 

Private Member Functions

 getIpRangeConds ( $db, $ip)
 Get SQL conditions for an IP range, if applicable. More...
 

Detailed Description

Definition at line 31 of file ContribsPager.php.

Constructor & Destructor Documentation

◆ __construct()

ContribsPager::__construct ( IContextSource  $context,
array  $options 
)

Member Function Documentation

◆ doBatchLookups()

ContribsPager::doBatchLookups ( )

Called from getBody(), before getStartBody() is called and after doQuery() was called.

This will be called only if there are rows in the result set.

Returns
void

Reimplemented from IndexPager.

Definition at line 362 of file ContribsPager.php.

References $batch, as, Revision\getParentLengths(), NS_USER, and NS_USER_TALK.

◆ formatRow()

ContribsPager::formatRow (   $row)

Generates each row in the contributions list.

Contributions which are marked "top" are currently on top of the history. For these contributions, a [rollback] link is shown for users with roll- back privileges. The rollback link restores the most recent version that was not written by the target user.

Todo:
This would probably look a lot nicer in a table.
Parameters
object$row
Returns
string

Reimplemented from IndexPager.

Definition at line 421 of file ContribsPager.php.

References $attribs, $e, $lang, $link, $linkRenderer, $ret, $rev, $user, class, Revision\DELETED_TEXT, Revision\DELETED_USER, ChangesList\flag(), Linker\formatRevisionSize(), ChangeTags\formatSummaryRow(), Linker\generateRollback(), getContext(), Linker\getRevDeleteLink(), list, messages, Title\newFromRow(), Html\rawElement(), Linker\revComment(), Hooks\run(), ChangesList\showCharacterDifference(), Linker\userLink(), Linker\userTalkLink(), wfArrayFilterByKey(), and wfDebug().

◆ getDefaultQuery()

ContribsPager::getDefaultQuery ( )

Get an array of query parameters that should be put into self-links.

By default, all parameters passed in the URL are used, except for a short blacklist.

Returns
array Associative array

Reimplemented from IndexPager.

Definition at line 102 of file ContribsPager.php.

References $query, and $target.

◆ getEndBody()

ContribsPager::getEndBody ( )
Returns
string

Reimplemented from IndexPager.

Definition at line 405 of file ContribsPager.php.

◆ getIndexField()

ContribsPager::getIndexField ( )

Override of getIndexField() in IndexPager.

For IP ranges, it's faster to use the replicated ipc_rev_timestamp on the ip_changes table than the rev_timestamp on the revision table.

Returns
string Name of field

Reimplemented from IndexPager.

Definition at line 354 of file ContribsPager.php.

Referenced by __construct(), and reallyDoQuery().

◆ getIpRangeConds()

ContribsPager::getIpRangeConds (   $db,
  $ip 
)
private

Get SQL conditions for an IP range, if applicable.

Parameters
IDatabase$db
string$ipThe IP address or CIDR
Returns
string|false SQL for valid IP ranges, false if invalid

Definition at line 315 of file ContribsPager.php.

References list, and IP\parseRange().

◆ getNamespaceCond()

ContribsPager::getNamespaceCond ( )

Definition at line 285 of file ContribsPager.php.

References MWNamespace\getAssociated().

◆ getPreventClickjacking()

ContribsPager::getPreventClickjacking ( )
Returns
bool

Definition at line 632 of file ContribsPager.php.

◆ getQueryInfo()

ContribsPager::getQueryInfo ( )

This function should be overridden to provide all parameters needed for the main paged query.

It returns an associative array with the following elements: tables => Table(s) for passing to Database::select() fields => Field(s) for passing to Database::select(), may be * conds => WHERE conditions options => option array join_conds => JOIN conditions

Returns
array

Reimplemented from IndexPager.

Definition at line 177 of file ContribsPager.php.

References $revQuery, $user, Revision\DELETED_USER, User\getGroupsWithPermission(), Revision\getQueryInfo(), ChangeTags\modifyDisplayQuery(), User\newFromName(), ActorMigration\newMigration(), Hooks\run(), Revision\SUPPRESSED_USER, and wfTimestamp().

◆ getSqlComment()

ContribsPager::getSqlComment ( )

Overwrite Pager function and return a helpful comment.

Returns
string

Reimplemented from IndexPager.

Definition at line 616 of file ContribsPager.php.

◆ getStartBody()

ContribsPager::getStartBody ( )
Returns
string

Reimplemented from IndexPager.

Definition at line 398 of file ContribsPager.php.

◆ isQueryableRange()

ContribsPager::isQueryableRange (   $ipRange)

Is the given IP a range and within the CIDR limit?

Parameters
string$ipRange
Returns
bool True if it is valid
Since
1.30

Definition at line 333 of file ContribsPager.php.

References IP\isIPv4(), IP\isIPv6(), and IP\parseCIDR().

◆ preventClickjacking()

ContribsPager::preventClickjacking ( )
protected

Definition at line 625 of file ContribsPager.php.

◆ processDateFilter()

static ContribsPager::processDateFilter ( array  $opts)
static

Set up date filter options, given request data.

Parameters
array$optsOptions array
Returns
array Options array with processed start and end date filter options

Definition at line 642 of file ContribsPager.php.

References ReverseChronologicalPager\getOffsetDate().

Referenced by SpecialContributions\execute(), ApiFeedContributions\execute(), and ContribsPagerTest\testDateFilterOptionProcessing().

◆ reallyDoQuery()

ContribsPager::reallyDoQuery (   $offset,
  $limit,
  $descending 
)

This method basically executes the exact same code as the parent class, though with a hook added, to allow extensions to add additional queries.

Parameters
string$offsetIndex offset, inclusive
int$limitExact query limit
bool$descendingQuery direction, false for ascending, true for descending
Returns
IResultWrapper

Reimplemented from IndexPager.

Definition at line 118 of file ContribsPager.php.

References $fname, $options, $query, $tables, as, RangeChronologicalPager\buildQueryInfo(), getIndexField(), list, and Hooks\run().

Member Data Documentation

◆ $mDb

ContribsPager::$mDb

Definition at line 37 of file ContribsPager.php.

◆ $mDbSecondary

IDatabase ContribsPager::$mDbSecondary

Definition at line 41 of file ContribsPager.php.

◆ $mDefaultDirection

ContribsPager::$mDefaultDirection = IndexPager::DIR_DESCENDING

Definition at line 33 of file ContribsPager.php.

◆ $messages

ContribsPager::$messages

Definition at line 34 of file ContribsPager.php.

◆ $mParentLens

array ContribsPager::$mParentLens
protected

Definition at line 46 of file ContribsPager.php.

◆ $namespace

ContribsPager::$namespace = ''

Definition at line 36 of file ContribsPager.php.

◆ $preventClickjacking

ContribsPager::$preventClickjacking = false

Definition at line 38 of file ContribsPager.php.

◆ $target

ContribsPager::$target

Definition at line 35 of file ContribsPager.php.

Referenced by getDefaultQuery().

◆ $templateParser

TemplateParser ContribsPager::$templateParser
protected

Definition at line 51 of file ContribsPager.php.


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