const DIR_DESCENDING = true;
public $mRequest;
- public $mLimitsShown = array( 20, 50, 100, 250, 500 );
+ public $mLimitsShown = [ 20, 50, 100, 250, 500 ];
public $mDefaultLimit = 50;
public $mOffset, $mLimit;
public $mQueryDone = false;
}
$this->mIsBackwards = ( $this->mRequest->getVal( 'dir' ) == 'prev' );
- # Let the subclass set the DB here; otherwise use a slave DB for the current wiki
- $this->mDb = $this->mDb ?: wfGetDB( DB_SLAVE );
+ # Let the subclass set the DB here; otherwise use a replica DB for the current wiki
+ $this->mDb = $this->mDb ?: wfGetDB( DB_REPLICA );
$index = $this->getIndexField(); // column to sort on
$extraSort = $this->getExtraSortFields(); // extra columns to sort on for query planning
$this->mIndexField = $index[$order];
$this->mExtraSortFields = isset( $extraSort[$order] )
? (array)$extraSort[$order]
- : array();
+ : [];
} elseif ( is_array( $index ) ) {
# First element is the default
reset( $index );
list( $this->mOrderType, $this->mIndexField ) = each( $index );
$this->mExtraSortFields = isset( $extraSort[$this->mOrderType] )
? (array)$extraSort[$this->mOrderType]
- : array();
+ : [];
} else {
# $index is not an array
$this->mOrderType = null;
$info = $this->getQueryInfo();
$tables = $info['tables'];
$fields = $info['fields'];
- $conds = isset( $info['conds'] ) ? $info['conds'] : array();
- $options = isset( $info['options'] ) ? $info['options'] : array();
- $join_conds = isset( $info['join_conds'] ) ? $info['join_conds'] : array();
- $sortColumns = array_merge( array( $this->mIndexField ), $this->mExtraSortFields );
+ $conds = isset( $info['conds'] ) ? $info['conds'] : [];
+ $options = isset( $info['options'] ) ? $info['options'] : [];
+ $join_conds = isset( $info['join_conds'] ) ? $info['join_conds'] : [];
+ $sortColumns = array_merge( [ $this->mIndexField ], $this->mExtraSortFields );
if ( $descending ) {
$options['ORDER BY'] = $sortColumns;
$operator = $this->mIncludeOffset ? '>=' : '>';
} else {
- $orderBy = array();
+ $orderBy = [];
foreach ( $sortColumns as $col ) {
$orderBy[] = $col . ' DESC';
}
$conds[] = $this->mIndexField . $operator . $this->mDb->addQuotes( $offset );
}
$options['LIMIT'] = intval( $limit );
- return array( $tables, $fields, $conds, $fname, $options, $join_conds );
+ return [ $tables, $fields, $conds, $fname, $options, $join_conds ];
}
/**
return $text;
}
- $attrs = array();
- if ( in_array( $type, array( 'prev', 'next' ) ) ) {
+ $attrs = [];
+ if ( in_array( $type, [ 'prev', 'next' ] ) ) {
$attrs['rel'] = $type;
}
- if ( in_array( $type, array( 'asc', 'desc' ) ) ) {
+ if ( in_array( $type, [ 'asc', 'desc' ] ) ) {
$attrs['title'] = wfMessage( $type == 'asc' ? 'sort-ascending' : 'sort-descending' )->text();
}
$prev = false;
$first = false;
} else {
- $prev = array(
+ $prev = [
'dir' => 'prev',
'offset' => $this->mFirstShown,
'limit' => $urlLimit
- );
- $first = array( 'limit' => $urlLimit );
+ ];
+ $first = [ 'limit' => $urlLimit ];
}
if ( $this->mIsLast ) {
$next = false;
$last = false;
} else {
- $next = array( 'offset' => $this->mLastShown, 'limit' => $urlLimit );
- $last = array( 'dir' => 'prev', 'limit' => $urlLimit );
+ $next = [ 'offset' => $this->mLastShown, 'limit' => $urlLimit ];
+ $last = [ 'dir' => 'prev', 'limit' => $urlLimit ];
}
- return array(
+ return [
'prev' => $prev,
'next' => $next,
'first' => $first,
'last' => $last
- );
+ ];
}
/**
* @param array $disabledTexts
* @return array
*/
- function getPagingLinks( $linkTexts, $disabledTexts = array() ) {
+ function getPagingLinks( $linkTexts, $disabledTexts = [] ) {
$queries = $this->getPagingQueries();
- $links = array();
+ $links = [];
foreach ( $queries as $type => $query ) {
if ( $query !== false ) {
}
function getLimitLinks() {
- $links = array();
+ $links = [];
if ( $this->mIsBackwards ) {
$offset = $this->mPastTheEndIndex;
} else {
foreach ( $this->mLimitsShown as $limit ) {
$links[] = $this->makeLink(
$this->getLanguage()->formatNum( $limit ),
- array( 'offset' => $offset, 'limit' => $limit ),
+ [ 'offset' => $offset, 'limit' => $limit ],
'num'
);
}
* not be used in the pager offset or in any links for users.
*
* If getIndexField() returns an array of 'querykey' => 'indexfield' pairs then
- * this must return a corresponding array of 'querykey' => array( fields...) pairs
- * in order for a request with &count=querykey to use array( fields...) to sort.
+ * this must return a corresponding array of 'querykey' => [ fields... ] pairs
+ * in order for a request with &count=querykey to use [ fields... ] to sort.
*
* This is useful for pagers that GROUP BY a unique column (say page_id)
* and ORDER BY another (say page_len). Using GROUP BY and ORDER BY both on
* @return array
*/
protected function getExtraSortFields() {
- return array();
+ return [];
}
/**