* @ingroup SpecialPage
*/
class SpecialRandomInCategory extends FormSpecialPage {
+ /** @var string[] */
protected $extra = []; // Extra SQL statements
+ /** @var Title|false */
protected $category = false; // Title object of category
+ /** @var int */
protected $maxOffset = 30; // Max amount to fudge randomness by.
+ /** @var int|null */
private $maxTimestamp = null;
+ /** @var int|null */
private $minTimestamp = null;
public function __construct( $name = 'RandomInCategory' ) {
]
];
- $dbr = wfGetDB( DB_SLAVE );
+ $dbr = wfGetDB( DB_REPLICA );
$minClTime = $this->getTimestampOffset( $rand );
if ( $minClTime ) {
$qi['conds'][] = 'cl_timestamp ' . $op . ' ' .
* @throws MWException If category has no entries.
*/
protected function getMinAndMaxForCat( Title $category ) {
- $dbr = wfGetDB( DB_SLAVE );
+ $dbr = wfGetDB( DB_REPLICA );
$res = $dbr->selectRow(
'categorylinks',
[
'high' => 'MAX( cl_timestamp )'
],
[
- 'cl_to' => $this->category->getDBKey(),
+ 'cl_to' => $this->category->getDBkey(),
],
__METHOD__,
[
* @return array Info for the title selected.
*/
private function selectRandomPageFromDB( $rand, $offset, $up, $fname = __METHOD__ ) {
- $dbr = wfGetDB( DB_SLAVE );
+ $dbr = wfGetDB( DB_REPLICA );
$query = $this->getQueryInfo( $rand, $offset, $up );
$res = $dbr->select(