protected function getFormFields() {
// Get default from the subpage of Special page
$defaultName = $this->par;
+ $title = $defaultName ? Title::newFromText( $defaultName ) : null;
+ if ( $title ) {
+ $defaultPageLanguage =
+ ContentHandler::getForTitle( $title )->getPageLanguage( $title );
+ $hasCustomLanguageSet = !$defaultPageLanguage->equals( $title->getPageLanguage() );
+ } else {
+ $hasCustomLanguageSet = false;
+ }
$page = [];
$page['pagename'] = [
'type' => 'title',
'label-message' => 'pagelang-name',
- 'default' => $defaultName,
+ 'default' => $title ? $title->getPrefixedText() : $defaultName,
'autofocus' => $defaultName === null,
'exists' => true,
];
'id' => 'mw-pl-options',
'type' => 'radio',
'options' => $selectoptions,
- 'default' => 1
+ 'default' => $hasCustomLanguageSet ? 2 : 1
];
// Building a language selector
'type' => 'select',
'options' => $options,
'label-message' => 'pagelang-language',
- 'default' => $this->getConfig()->get( 'LanguageCode' ),
+ 'default' => $title ?
+ $title->getPageLanguage()->getCode() :
+ $this->getConfig()->get( 'LanguageCode' ),
];
// Allow user to enter a comment explaining the change