Ricordisamoa has uploaded a new change for review.
https://gerrit.wikimedia.org/r/236002
Change subject: Convert SpecialMergeItems to HTMLForm in 'ooui' mode
......................................................................
Convert SpecialMergeItems to HTMLForm in 'ooui' mode
Bug: T48248
Change-Id: I2b666e550122f4d5f3e3464a7df614654ddcc57e
---
M repo/includes/specials/SpecialMergeItems.php
1 file changed, 36 insertions(+), 95 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikibase
refs/changes/02/236002/1
diff --git a/repo/includes/specials/SpecialMergeItems.php
b/repo/includes/specials/SpecialMergeItems.php
index 5007f93..e1b699c 100644
--- a/repo/includes/specials/SpecialMergeItems.php
+++ b/repo/includes/specials/SpecialMergeItems.php
@@ -3,6 +3,7 @@
namespace Wikibase\Repo\Specials;
use Exception;
+use HTMLForm;
use Html;
use Wikibase\DataModel\Entity\ItemId;
use Wikibase\DataModel\Entity\EntityIdParser;
@@ -177,7 +178,7 @@
* @param string $summary
*/
private function mergeItems( ItemId $fromId, ItemId $toId, array
$ignoreConflicts, $summary ) {
- $this->tokenCheck->checkRequestToken( $this->getRequest(),
'token' );
+ $this->tokenCheck->checkRequestToken( $this->getRequest(),
'wpEditToken' );
/** @var EntityRevision $newRevisionFrom */
/** @var EntityRevision $newRevisionTo */
@@ -199,112 +200,52 @@
protected function createForm() {
$this->getOutput()->addModuleStyles( array( 'wikibase.special'
) );
+ $pre = '';
if ( $this->getUser()->isAnon() ) {
- $this->getOutput()->addHTML(
- Html::rawElement(
- 'p',
- array( 'class' => 'warning' ),
- $this->msg(
- 'wikibase-anonymouseditwarning',
- $this->msg(
'wikibase-entity-item' )->text()
- )->parse()
- )
+ $pre = Html::rawElement(
+ 'p',
+ array( 'class' => 'warning' ),
+ $this->msg(
+ 'wikibase-anonymouseditwarning',
+ $this->msg( 'wikibase-entity-item'
)->text()
+ )->parse()
);
}
- // Form header
- $this->getOutput()->addHTML(
- Html::openElement(
- 'form',
- array(
- 'method' => 'post',
- 'action' =>
$this->getPageTitle()->getFullUrl(),
- 'name' => 'mergeitems',
- 'id' => 'wb-mergeitems-form1',
- 'class' => 'wb-form'
- )
- )
- . Html::openElement(
- 'fieldset',
- array( 'class' => 'wb-fieldset' )
- )
- . Html::element(
- 'legend',
- array( 'class' => 'wb-legend' ),
- $this->msg( 'special-mergeitems' )->text()
- )
- );
-
- // Form elements
- $this->getOutput()->addHTML( $this->getFormElements() );
-
- // Form body
- $this->getOutput()->addHTML(
- Html::element( 'br' )
- . Html::input(
- 'wikibase-mergeitems-submit',
- $this->msg( 'wikibase-mergeitems-submit'
)->text(),
- 'submit',
- array(
- 'id' => 'wb-mergeitems-submit',
- 'class' => 'wb-button'
- )
- )
- . Html::input(
- 'token',
- $this->getUser()->getEditToken(),
- 'hidden'
- )
- . Html::closeElement( 'fieldset' )
- . Html::closeElement( 'form' )
- );
+ HTMLForm::factory( 'ooui', $this->getFormElements(),
$this->getContext() )
+ ->setId( 'wb-mergeitems-form1' )
+ ->setPreText( $pre )
+ ->setHeaderText( $this->msg(
'wikibase-mergeitems-intro' )->parse() )
+ ->setSubmitID( 'wb-mergeitems-submit' )
+ ->setSubmitName( 'wikibase-mergeitems-submit' )
+ ->setSubmitTextMsg( 'wikibase-mergeitems-submit' )
+ ->setWrapperLegendMsg( 'special-mergeitems' )
+ ->setSubmitCallback( function () {// no-op
+ } )->show();
}
/**
* Returns the form elements.
*
- * @return string
+ * @return array
*/
protected function getFormElements() {
- return Html::rawElement(
- 'p',
- array(),
- // Message: wikibase-mergeitems-intro
- $this->msg( 'wikibase-mergeitems-intro' )->parse()
- )
- . Html::element(
- 'label',
- array(
- 'for' => 'wb-mergeitems-fromid',
- 'class' => 'wb-label'
+ return array(
+ 'fromid' => array(
+ 'name' => 'fromid',
+ 'default' => $this->getRequest()->getVal(
'fromid' ),
+ 'type' => 'text',
+ 'cssclass' => 'wb-input',
+ 'id' => 'wb-mergeitems-fromid',
+ 'label-message' => 'wikibase-mergeitems-fromid'
),
- $this->msg( 'wikibase-mergeitems-fromid' )->text()
- )
- . Html::input(
- 'fromid',
- $this->getRequest()->getVal( 'fromid' ),
- 'text',
- array(
- 'class' => 'wb-input',
- 'id' => 'wb-mergeitems-fromid'
- )
- )
- . Html::element( 'br' )
- . Html::element(
- 'label',
- array(
- 'for' => 'wb-mergeitems-toid',
- 'class' => 'wb-label'
- ),
- $this->msg( 'wikibase-mergeitems-toid' )->text()
- )
- . Html::input(
- 'toid',
- $this->getRequest()->getVal( 'toid' ),
- 'text',
- array(
- 'class' => 'wb-input',
- 'id' => 'wb-mergeitems-toid'
+ 'toid' => array(
+ 'name' => 'toid',
+ 'default' => $this->getRequest()->getVal(
'toid' ),
+ 'type' => 'text',
+ 'cssclass' => 'wb-input',
+ 'id' => 'wb-mergeitems-toid',
+ 'label-message' => 'wikibase-mergeitems-toid'
)
);
// TODO: Selector for ignoreconflicts
--
To view, visit https://gerrit.wikimedia.org/r/236002
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I2b666e550122f4d5f3e3464a7df614654ddcc57e
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Ricordisamoa <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits