$this->opts['topOnly'] = false;
}
- $form = Xml::openElement( 'form', array( 'method' => 'get', 'action' => $wgScript, 'class' => 'mw-contributions-form' ) );
+ $form = Html::openElement( 'form', array( 'method' => 'get', 'action' => $wgScript, 'class' => 'mw-contributions-form' ) );
# Add hidden params for tracking except for parameters in $skipParameters
$skipParameters = array( 'namespace', 'nsInvert', 'deletedOnly', 'target', 'contribs', 'year', 'month', 'topOnly', 'associated' );
if ( $tagFilter ) {
$filterSelection =
- Xml::tags( 'td', array( 'class' => 'mw-label' ), array_shift( $tagFilter ) ) .
- Xml::tags( 'td', array( 'class' => 'mw-input' ), implode( ' ', $tagFilter ) );
+ Html::rawElement( 'td', array( 'class' => 'mw-label' ), array_shift( $tagFilter ) ) .
+ Html::rawElement( 'td', array( 'class' => 'mw-input' ), implode( ' ', $tagFilter ) );
} else {
- $filterSelection = Xml::tags( 'td', array( 'colspan' => 2 ), '' );
+ $filterSelection = Html::rawElement( 'td', array( 'colspan' => 2 ), '' );
}
- $targetSelection = Xml::tags( 'td', array( 'colspan' => 2 ),
+ $targetSelection = Html::rawElement( 'td', array( 'colspan' => 2 ),
Xml::radioLabel(
$this->msg( 'sp-contributions-newbies' )->text(),
'contribs',
''
)
) .
- Xml::tags( 'td', null,
+ Html::rawElement( 'td', null,
Html::namespaceSelector( array(
'selected' => $this->opts['namespace'],
'all' => '',
)
) ;
- $extraOptions = Xml::tags( 'td', array( 'colspan' => 2 ),
- Html::rawElement( 'span', array( 'style' => 'white-space: nowrap' ),
+ if ( $this->getUser()->isAllowed( 'deletedhistory' ) ) {
+ $deletedOnlyCheck = Html::rawElement( 'span', array( 'style' => 'white-space: nowrap' ),
Xml::checkLabel(
$this->msg( 'history-show-deleted' )->text(),
'deletedOnly',
$this->opts['deletedOnly'],
array( 'class' => 'mw-input' )
)
- ) .
+ );
+ } else {
+ $deletedOnlyCheck = '';
+ }
+
+ $extraOptions = Html::rawElement( 'td', array( 'colspan' => 2 ),
+ $deletedOnlyCheck .
Html::rawElement( 'span', array( 'style' => 'white-space: nowrap' ),
Xml::checkLabel(
$this->msg( 'sp-contributions-toponly' )->text(),
array( 'class' => 'mw-input' )
)
)
- ) ;
+ );
$dateSelectionAndSubmit = Xml::tags( 'td', array( 'colspan' => 2 ),
Xml::dateMenu(
$form .=
Xml::fieldset( $this->msg( 'sp-contributions-search' )->text() ) .
- Xml::openElement( 'table', array( 'class' => 'mw-contributions-table' ) ) .
- Xml::openElement( 'tr' ) .
- $targetSelection .
- Xml::closeElement( 'tr' ) .
- Xml::openElement( 'tr' ) .
- $namespaceSelection .
- Xml::closeElement( 'tr' ) .
- Xml::openElement( 'tr' ) .
- $filterSelection .
- Xml::closeElement( 'tr' ) .
- Xml::openElement( 'tr' ) .
- $extraOptions .
- Xml::closeElement( 'tr' ) .
- Xml::openElement( 'tr' ) .
- $dateSelectionAndSubmit .
- Xml::closeElement( 'tr' ) .
- Xml::closeElement( 'table' );
+ Html::rawElement( 'table', array( 'class' => 'mw-contributions-table' ), "\n" .
+ Html::rawElement( 'tr', array(), $targetSelection ) . "\n" .
+ Html::rawElement( 'tr', array(), $namespaceSelection ) . "\n" .
+ Html::rawElement( 'tr', array(), $filterSelection ) . "\n" .
+ Html::rawElement( 'tr', array(), $extraOptions ) . "\n" .
+ Html::rawElement( 'tr', array(), $dateSelectionAndSubmit ) . "\n"
+ );
$explain = $this->msg( 'sp-contributions-explain' );
if ( $explain->exists() ) {
}
function doBatchLookups() {
- $this->mResult->rewind();
- $revIds = array();
- foreach ( $this->mResult as $row ) {
- if( isset( $row->rev_parent_id ) && $row->rev_parent_id ) {
- $revIds[] = $row->rev_parent_id;
- }
- }
- $this->mParentLens = Revision::getParentLengths( $this->getDatabase(), $revIds );
- $this->mResult->rewind(); // reset
-
# Do a link batch query
$this->mResult->seek( 0 );
+ $revIds = array();
$batch = new LinkBatch();
# Give some pointers to make (last) links
foreach ( $this->mResult as $row ) {
+ if( isset( $row->rev_parent_id ) && $row->rev_parent_id ) {
+ $revIds[] = $row->rev_parent_id;
+ }
if ( isset( $row->rev_id ) ) {
if ( $this->contribs === 'newbie' ) { // multiple users
$batch->add( NS_USER, $row->user_name );
$batch->add( $row->page_namespace, $row->page_title );
}
}
+ $this->mParentLens = Revision::getParentLengths( $this->getDatabase(), $revIds );
$batch->execute();
$this->mResult->seek( 0 );
}
$link = Linker::link(
$page,
htmlspecialchars( $page->getPrefixedText() ),
- array(),
+ array( 'class' => 'mw-contributions-title' ),
$page->isRedirect() ? array( 'redirect' => 'no' ) : array()
);
# Mark current revisions
// For some reason rev_parent_id isn't populated for this row.
// Its rumoured this is true on wikipedia for some revisions (bug 34922).
// Next best thing is to have the total number of bytes.
- $chardiff = ' . . ' . Linker::formatRevisionSize( $row->rev_len ) . ' . . ';
+ $chardiff = ' <span class="mw-changeslist-separator">. .</span> ' . Linker::formatRevisionSize( $row->rev_len ) . ' <span class="mw-changeslist-separator">. .</span> ';
} else {
$parentLen = isset( $this->mParentLens[$row->rev_parent_id] ) ? $this->mParentLens[$row->rev_parent_id] : 0;
- $chardiff = ' . . ' . ChangesList::showCharacterDifference(
- $parentLen, $row->rev_len, $this->getContext() ) . ' . . ';
+ $chardiff = ' <span class="mw-changeslist-separator">. .</span> ' . ChangesList::showCharacterDifference(
+ $parentLen, $row->rev_len, $this->getContext() ) . ' <span class="mw-changeslist-separator">. .</span> ';
}
$lang = $this->getLanguage();
$d = Linker::linkKnown(
$page,
htmlspecialchars( $date ),
- array(),
+ array( 'class' => 'mw-changeslist-date' ),
array( 'oldid' => intval( $row->rev_id ) )
);
} else {
return $ret;
}
- /**
- * Get the Database object in use
- *
- * @return DatabaseBase
- */
- public function getDatabase() {
- return $this->mDb;
- }
-
/**
* Overwrite Pager function and return a helpful comment
* @return string