MediaWiki REL1_37
ApiQueryBlockInfoTrait.php
Go to the documentation of this file.
1<?php
24
30
38 private function addBlockInfoToQuery( $showBlockInfo ) {
39 $db = $this->getDB();
40
41 if ( $showBlockInfo ) {
42 $queryInfo = DatabaseBlock::getQueryInfo();
43 } else {
44 $queryInfo = [
45 'tables' => [ 'ipblocks' ],
46 'fields' => [ 'ipb_deleted' ],
47 'joins' => [],
48 ];
49 }
50
51 $this->addTables( [ 'blk' => $queryInfo['tables'] ] );
52 $this->addFields( $queryInfo['fields'] );
53 $this->addJoinConds( $queryInfo['joins'] );
54 $this->addJoinConds( [
55 'blk' => [ 'LEFT JOIN', [
56 'ipb_user=user_id',
57 'ipb_expiry > ' . $db->addQuotes( $db->timestamp() ),
58 ] ],
59 ] );
60
61 // Don't show hidden names
62 if ( !$this->getAuthority()->isAllowed( 'hideuser' ) ) {
63 $this->addWhere( 'ipb_deleted = 0 OR ipb_deleted IS NULL' );
64 }
65 }
66
67 /***************************************************************************/
68 // region Methods required from ApiQueryBase
75 abstract protected function getDB();
76
81 abstract public function getAuthority();
82
88 abstract protected function addTables( $tables, $alias = null );
89
94 abstract protected function addFields( $fields );
95
100 abstract protected function addWhere( $conds );
101
106 abstract protected function addJoinConds( $conds );
107
108 // endregion -- end of methods required from ApiQueryBase
109
110}
getAuthority()
getDB()
addJoinConds( $conds)
addBlockInfoToQuery( $showBlockInfo)
Filters hidden users (where the user doesn't have the right to view them) Also adds relevant block in...
addWhere( $conds)
addFields( $fields)
addTables( $tables, $alias=null)
A DatabaseBlock (unlike a SystemBlock) is stored in the database, may give rise to autoblocks and may...
trait ApiBlockInfoTrait
trait ApiQueryBlockInfoTrait
This interface represents the authority associated the current execution context, such as a web reque...
Definition Authority.php:37
Basic database interface for live and lazy-loaded relation database handles.
Definition IDatabase.php:38