- $form = Html::openElement( 'form', [ 'method' => 'post',
- 'action' => $title->getLocalURL( 'action=delete' ), 'id' => 'deleteconfirm' ] ) .
- Html::openElement( 'fieldset', [ 'id' => 'mw-delete-table' ] ) .
- Html::element( 'legend', null, wfMessage( 'delete-legend' )->text() ) .
- Html::openElement( 'div', [ 'id' => 'mw-deleteconfirm-table' ] ) .
- Html::openElement( 'div', [ 'id' => 'wpDeleteReasonListRow' ] ) .
- Html::label( wfMessage( 'deletecomment' )->text(), 'wpDeleteReasonList' ) .
- ' ' .
- Xml::listDropDown(
- 'wpDeleteReasonList',
- wfMessage( 'deletereason-dropdown' )->inContentLanguage()->text(),
- wfMessage( 'deletereasonotherlist' )->inContentLanguage()->text(),
- '',
- 'wpReasonDropDown',
- 1
- ) .
- Html::closeElement( 'div' ) .
- Html::openElement( 'div', [ 'id' => 'wpDeleteReasonRow' ] ) .
- Html::label( wfMessage( 'deleteotherreason' )->text(), 'wpReason' ) .
- ' ' .
- Html::input( 'wpReason', $reason, 'text', [
- 'size' => '60',
- 'maxlength' => '255',
- 'tabindex' => '2',
- 'id' => 'wpReason',
- 'class' => 'mw-ui-input-inline',
- 'autofocus'
- ] ) .
- Html::closeElement( 'div' );
-
- # Disallow watching if user is not logged in
- if ( $user->isLoggedIn() ) {
- $form .=
- Xml::checkLabel( wfMessage( 'watchthis' )->text(),
- 'wpWatch', 'wpWatch', $checkWatch, [ 'tabindex' => '3' ] );
- }
-
- $form .=
- Html::openElement( 'div' ) .
- $suppress .
- Xml::submitButton( wfMessage( 'deletepage' )->text(),
- [
- 'name' => 'wpConfirmB',
- 'id' => 'wpConfirmB',
- 'tabindex' => '5',
- 'class' => $useMediaWikiUIEverywhere ? 'mw-ui-button mw-ui-destructive' : '',
- ]
- ) .
- Html::closeElement( 'div' ) .
- Html::closeElement( 'div' ) .
- Xml::closeElement( 'fieldset' ) .
- Html::hidden(
- 'wpEditToken',
- $user->getEditToken( [ 'delete', $title->getPrefixedText() ] )
- ) .
- Xml::closeElement( 'form' );
-
- if ( $user->isAllowed( 'editinterface' ) ) {
- $link = Linker::linkKnown(
- $ctx->msg( 'deletereason-dropdown' )->inContentLanguage()->getTitle(),
- wfMessage( 'delete-edit-reasonlist' )->escaped(),
- [],
- [ 'action' => 'edit' ]
- );
- $form .= '<p class="mw-delete-editreasons">' . $link . '</p>';
+
+ $outputPage->enableOOUI();
+
+ $options = [];
+ $options[] = [
+ 'data' => 'other',
+ 'label' => $ctx->msg( 'deletereasonotherlist' )->inContentLanguage()->text(),
+ ];
+ $list = $ctx->msg( 'deletereason-dropdown' )->inContentLanguage()->text();
+ foreach ( explode( "\n", $list ) as $option ) {
+ $value = trim( $option );
+ if ( $value == '' ) {
+ continue;
+ } elseif ( substr( $value, 0, 1 ) == '*' && substr( $value, 1, 1 ) != '*' ) {
+ $options[] = [ 'optgroup' => trim( substr( $value, 1 ) ) ];
+ } elseif ( substr( $value, 0, 2 ) == '**' ) {
+ $options[] = [ 'data' => trim( substr( $value, 2 ) ) ];
+ } else {
+ $options[] = [ 'data' => trim( $value ) ];