select( 'logging', 'log_type', array( 'log_id' => $ids ), __METHOD__, array( 'DISTINCT' ) ); if ( $result->numRows() == 1 ) { // If there's only one type, the target can be set to include it. return SpecialPage::getTitleFor( 'Log', $result->current()->log_type ); } return SpecialPage::getTitleFor( 'Log' ); } /** * @param IDatabase $db * @return mixed */ public function doQuery( $db ) { $ids = array_map( 'intval', $this->ids ); return $db->select( 'logging', array( 'log_id', 'log_type', 'log_action', 'log_timestamp', 'log_user', 'log_user_text', 'log_namespace', 'log_title', 'log_page', 'log_comment', 'log_params', 'log_deleted' ), array( 'log_id' => $ids ), __METHOD__, array( 'ORDER BY' => 'log_id DESC' ) ); } public function newItem( $row ) { return new RevDelLogItem( $this, $row ); } public function getSuppressBit() { return Revision::DELETED_RESTRICTED; } public function getLogAction() { return 'event'; } public function getLogParams( $params ) { return array( '4::ids' => $params['ids'], '5::ofield' => $params['oldBits'], '6::nfield' => $params['newBits'], ); } }