EmailConfirmation/Preferences
What (summary)
Input controls (text, checkbox, radiobutton etc.) having DISABLED property set, do not participate as arguments in a POST request. The target page which expects these arguments will get nil values for these controls even if they have a different value. Hence the target page may process wrong values for some disabled controls. This problem can be seen in Special:Preferences.
Why this is important
- We dont want to process wrong values for an input control.
- AlertsOnByDefault becomes useless.
DoneDone
- When you click the link in the first confirmation email you are sent, it actually works
- The values of disabled controls are ignored or processed correctly.
Steps to produce the problem in My Preferences
- Make a new account at aboutus.org
- Log in
- Go to 'my preferences' in the sidebar. (You'll notice some checkboxes checked in the E-mail section which are also disabled).
- Click 'Save' (You've not changed any setting)
- The disabled checkboxes which were checked before, are no longer unchecked.
- Reason: 'What (summary)'
Steps to circumvent the problem in My Preferences
- Make a new account at aboutus.org
- Log in
- Go to 'my preferences'. You'll notice some checkboxes checked in the E-mail section are also disabled. If you click save now, they will be overwritten.
- Click "Confirm your e-mail address" link
- Ignore the red message telling you "A confirmation code has already been e-mailed ..."
- Click the "Mail a confirmation code" button
- Go to 'my preferences'. You'll notice the checkboxes are still disabled. If you click save now, they will still be overwritten.
- Go to your email, click on the confirmation link in the second email you've received (the first one never works)
- Go to 'my preferences'. Checkboxes are no longer disabled. If you click save now, they won't be overwritten.