Menu

password 'change' from useredit implemented

zenwerks
2005-08-20
2013-03-13
  • zenwerks

    zenwerks - 2005-08-20

    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'};}
    }

     
    • zenwerks

      zenwerks - 2005-08-20

      Actually:

      $txt{'111'} = 'Password was not changed.';

      so that it reads correctly when not trying to change password also.

       

Log in to post a comment.

MongoDB Logo MongoDB