# show deletion/move log if there is an entry
LogEventsList::showLogExtract(
$out,
- [ 'delete', 'move' ],
+ [ 'delete', 'move', 'protect' ],
$this->getTitle(),
'',
[ 'lim' => 10,
// Add the general form
$action = htmlspecialchars( wfScript() );
+ $content = Html::hidden( 'title', $this->getTitle()->getPrefixedDBkey() ) . "\n";
+ $content .= Html::hidden( 'action', 'history' ) . "\n";
+ $content .= Xml::dateMenu(
+ ( $year == null ? MWTimestamp::getLocalInstance()->format( 'Y' ) : $year ),
+ $month
+ ) . ' ';
+ $content .= $tagSelector ? ( implode( ' ', $tagSelector ) . ' ' ) : '';
+ $content .= $checkDeleted . Html::submitButton(
+ $this->msg( 'historyaction-submit' )->text(),
+ [],
+ [ 'mw-ui-progressive' ]
+ );
$out->addHTML(
"<form action=\"$action\" method=\"get\" id=\"mw-history-searchform\">" .
Xml::fieldset(
$this->msg( 'history-fieldset-title' )->text(),
- false,
+ $content,
[ 'id' => 'mw-history-search' ]
) .
- Html::hidden( 'title', $this->getTitle()->getPrefixedDBkey() ) . "\n" .
- Html::hidden( 'action', 'history' ) . "\n" .
- Xml::dateMenu(
- ( $year == null ? MWTimestamp::getLocalInstance()->format( 'Y' ) : $year ),
- $month
- ) . ' ' .
- ( $tagSelector ? ( implode( ' ', $tagSelector ) . ' ' ) : '' ) .
- $checkDeleted .
- Html::submitButton(
- $this->msg( 'historyaction-submit' )->text(),
- [],
- [ 'mw-ui-progressive' ]
- ) . "\n" .
- '</fieldset></form>'
+ '</form>'
);
Hooks::run( 'PageHistoryBeforeList', [ &$this->page, $this->getContext() ] );
$page_id = $this->page->getId();
- return $dbr->select( 'revision',
- Revision::selectFields(),
+ $revQuery = Revision::getQueryInfo();
+ return $dbr->select(
+ $revQuery['tables'],
+ $revQuery['fields'],
array_merge( [ 'rev_page' => $page_id ], $offsets ),
__METHOD__,
- [ 'ORDER BY' => "rev_timestamp $dirs",
- 'USE INDEX' => 'page_timestamp', 'LIMIT' => $limit ]
+ [
+ 'ORDER BY' => "rev_timestamp $dirs",
+ 'USE INDEX' => [ 'revision' => 'page_timestamp' ],
+ 'LIMIT' => $limit
+ ],
+ $revQuery['joins']
);
}
* @return FeedItem
*/
function feedItem( $row ) {
- $rev = new Revision( $row );
- $rev->setTitle( $this->getTitle() );
+ $rev = new Revision( $row, 0, $this->getTitle() );
+
$text = FeedUtils::formatDiffRow(
$this->getTitle(),
$this->getTitle()->getPreviousRevisionID( $rev->getId() ),
/** @var bool Whether to show the tag editing UI */
protected $showTagEditUI;
+ /** @var string */
+ private $tagFilter;
+
/**
* @param HistoryAction $historyPage
* @param string $year
}
function getQueryInfo() {
+ $revQuery = Revision::getQueryInfo( [ 'user' ] );
$queryInfo = [
- 'tables' => [ 'revision', 'user' ],
- 'fields' => array_merge( Revision::selectFields(), Revision::selectUserFields() ),
+ 'tables' => $revQuery['tables'],
+ 'fields' => $revQuery['fields'],
'conds' => array_merge(
[ 'rev_page' => $this->getWikiPage()->getId() ],
$this->conds ),
'options' => [ 'USE INDEX' => [ 'revision' => 'page_timestamp' ] ],
- 'join_conds' => [ 'user' => Revision::userJoinCond() ],
+ 'join_conds' => $revQuery['joins'],
];
ChangeTags::modifyDisplayQuery(
$queryInfo['tables'],
*/
function historyLine( $row, $next, $notificationtimestamp = false,
$latest = false, $firstInList = false ) {
- $rev = new Revision( $row );
- $rev->setTitle( $this->getTitle() );
+ $rev = new Revision( $row, 0, $this->getTitle() );
if ( is_object( $next ) ) {
- $prevRev = new Revision( $next );
- $prevRev->setTitle( $this->getTitle() );
+ $prevRev = new Revision( $next, 0, $this->getTitle() );
} else {
$prevRev = null;
}