summaryrefslogtreecommitdiff
path: root/includes/specials/SpecialChangeEmail.php
diff options
context:
space:
mode:
Diffstat (limited to 'includes/specials/SpecialChangeEmail.php')
-rw-r--r--includes/specials/SpecialChangeEmail.php13
1 files changed, 9 insertions, 4 deletions
diff --git a/includes/specials/SpecialChangeEmail.php b/includes/specials/SpecialChangeEmail.php
index eca307d9..22df04e8 100644
--- a/includes/specials/SpecialChangeEmail.php
+++ b/includes/specials/SpecialChangeEmail.php
@@ -92,14 +92,14 @@ class SpecialChangeEmail extends FormSpecialPage {
'NewEmail' => array(
'type' => 'email',
'label-message' => 'changeemail-newemail',
+ 'autofocus' => true
),
);
if ( $this->getConfig()->get( 'RequirePasswordforEmailChange' ) ) {
$fields['Password'] = array(
'type' => 'password',
- 'label-message' => 'changeemail-password',
- 'autofocus' => true,
+ 'label-message' => 'changeemail-password'
);
}
@@ -107,7 +107,7 @@ class SpecialChangeEmail extends FormSpecialPage {
}
protected function getDisplayFormat() {
- return 'vform';
+ return 'ooui';
}
protected function alterForm( HTMLForm $form ) {
@@ -129,7 +129,8 @@ class SpecialChangeEmail extends FormSpecialPage {
public function onSuccess() {
$request = $this->getRequest();
- $titleObj = Title::newFromText( $request->getVal( 'returnto' ) );
+ $returnto = $request->getVal( 'returnto' );
+ $titleObj = $returnto !== null ? Title::newFromText( $returnto ) : null;
if ( !$titleObj instanceof Title ) {
$titleObj = Title::newMainPage();
}
@@ -159,6 +160,10 @@ class SpecialChangeEmail extends FormSpecialPage {
return Status::newFatal( 'invalidemailaddress' );
}
+ if ( $newaddr === $user->getEmail() ) {
+ return Status::newFatal( 'changeemail-nochange' );
+ }
+
$throttleCount = LoginForm::incLoginThrottle( $user->getName() );
if ( $throttleCount === true ) {
$lang = $this->getLanguage();