I think that when a user changes their password, it is ok to ask them to logout and log back in - since this happens infrequently and would complicate the implementation.
In English.pl:
# added to english.pl for updating password: rws
$txt{'110'} = 'Password change successful! You must now <a href="mxwiki.pl?action=logout">logout</a> then log back in.';
$txt{'111'} = 'Password change unsuccessful';
I think that when a user changes their password, it is ok to ask them to logout and log back in - since this happens infrequently and would complicate the implementation.
In English.pl:
# added to english.pl for updating password: rws
$txt{'110'} = 'Password change successful! You must now <a href="mxwiki.pl?action=logout">logout</a> then log back in.';
$txt{'111'} = 'Password change unsuccessful';
Forms.pl:
sub forms_UserEdit2() {
my $pagename = shift;
my ($ns, $name) = &get_page_namespace($pagename);
# print "enter: $ns $AuthUser $name $UserNameSpace";
if (($ns eq $UserNameSpace)&&($AuthUser eq $name)) {
&db_load_UserData($name);
&db_store_UserData($name, 'userprofile', '');
&db_store_UserData($name, 'userprofile/homepage', substr($form{'hpage'}, 0, 50));
if (&is_Admin($AuthUser)) {&db_store_UserData($name, 'userprofile/user-level', substr($form{'userlevel'}, 0, 3));}
&db_store_UserData($name, 'userprofile/user-title', substr($form{'usertitle'}, 0, 50));
&db_store_UserData($name, 'userprofile/gender', uc(substr($form{'gender'}, 0, 1)));
&db_store_UserData($name, 'userprofile/birthday', ((substr($form{'byear'}, 0, 4).(substr($form{'bmonth'}, 0, 2)).(substr($form{'bday'}, 0, 2)))));
&db_store_UserData($name, 'userprofile/location', substr($form{'location'}, 0, 50));
&db_store_UserData($name, 'userprofile/email', substr($form{'email'}, 0, 50));
&db_store_UserData($name, 'userprofile/avatar-URL', substr($form{'avatar'}, 0, 160));
&db_store_UserData($name, 'userprofile/MSN-id', substr($form{'msn'}, 0, 80));
&db_store_UserData($name, 'userprofile/ICQ-id', substr($form{'icq'}, 0, 80));
&db_store_UserData($name, 'userprofile/AIM-id', substr($form{'aim'}, 0, 80));
&db_store_UserData($name, 'userprofile/YIM-id', substr($form{'yim'}, 0, 80));
&db_store_UserData($name, 'userprofile/Skype-id', substr($form{'skype'}, 0, 80));
&db_store_UserData($name, 'userprofile/Jabber-id', substr($form{'jabber'}, 0, 80));
&db_store_UserData($name, 'userprofile/options', '');
&db_store_UserData($name, 'userprofile/options/hide-email', substr($form{'hideemail'}, 0, 1));
&db_store_UserData($name, 'userprofile/homepage', substr($form{'hpage'}, 0, 50));
#rws - added following if block to implement password update.
if($form{'nupwd1'} eq $form{'nupwd2'} && $form{'nupwd1'} ne "") {
my $usersalt = &get_random_salt();
my $userhash = substr(crypt($form{'nupwd1'}, $usersalt), 2);
&db_store_UserData($name, 'userprofile', '');
&db_store_UserData($name, 'userprofile/password-salt', $usersalt);
&db_store_UserData($name, 'userprofile/password-hash', $userhash);
print qq~<b>$txt{'110'}</b><p>~;
}else{ print qq~<b>$txt{'111'}</b><p>~; }
&db_flush_UserData($name);
&forms_DoEdit2();
} else {print $txt{'75'};}
}
Actually:
$txt{'111'} = 'Password was not changed.';
so that it reads correctly when not trying to change password also.