Last modified: 2014-03-20 17:57:59 UTC
If a sysop doesn't want a user can change his realname (because its set by extend authPlugin) and adds a allowRealNameChange(), which returns false, to the AuthPlugin.php, you get a php notice "Undefined index: realname in Preferences.php line 1439". If allowPropChange() or allowRealNameChange() from AuthPlugin.php return false then there is a missing key 'realname' in $formData. This causes the mentioned warning and an empty realname string for the user. This should either be checked before saving or the index should include the old realname by default. Workaround for me: Edit Preferences.php like this: Preferences.php line 1436 // Fortunately, the realname field is MUCH simpler // (not really "private", but still shouldn't be edited without permission) if ( !in_array( 'realname', $wgHiddenPrefs ) && $user->isAllowed( 'editmyprivateinfo' ) ) { if (!array_key_exists('realname', $formData)) { $formData['realname'] = $user->getRealname(); } $realName = $formData['realname']; $user->setRealName( $realName ); } Message in error.log: PHP Notice: Undefined index: realname in /srv/web/wiki.xxxxxx.org/public/mediawiki-1.22.2/includes/Preferences.php on line 1439, referer: http://wiki.xxxxxx.org/wiki/Spezial:Einstellungen
fx-eckart: Thanks for taking the time to report this! Would you be willing to turn the code snippet into a patch? You are welcome to use Developer access https://www.mediawiki.org/wiki/Developer_access to submit this as a Git branch directly into Gerrit: https://www.mediawiki.org/wiki/Git/Tutorial
let me figure out first how the creepy git/gerrit works on wikimedia ;)
Change 116282 had a related patch set uploaded by GBT248: Preferences.php: avoid "Undefined index" if key 'realname' don't exist in $formdata Added additional check for missing key "realname" in $formData which can cause an undefined index: realname (see bug 62029 fo details) https://gerrit.wikimedia.org/r/116282
Change 116282 had a related patch set uploaded by Alex Monk: Preferences.php: avoid "Undefined index" if key 'realname' don't exist in $formdata https://gerrit.wikimedia.org/r/116282
New patch set uploaded 12h ago ( don't know why it hasn't announced here by gerrit): https://gerrit.wikimedia.org/r/116282
(In reply to Kai from comment #5) > don't know why it hasn't announced here by gerrit): because it shouldn't.
Change 116282 merged by jenkins-bot: Preferences.php: avoid "Undefined index" if key 'realname' don't exist in $formdata https://gerrit.wikimedia.org/r/116282
was successfully merged