I'm using smf 2.0.1 with a variation of curve. I'm looking to make a little tweak to where people are redirected after they submit a new password (after they've clicked the link in the forgot password email, put in their new password twice, and hit save). I'm pretty sure that all I have to do is stick a redirectexit(address) in at the right point in the code. Which file controls the password reset, and where exactly in the file do I have to stick the redirect command?
Thanks, as always, for your help!
-CB
Hey there!
You'll want to look at Subs-Members.php most likely, in ./Sources.
I can't look into it myself right now, but I'd assume that's where the reset Source function is.
I looked in there and didn't see anything about re-setting a password. I'm not a great coder, though; I just kind of use the notes as a guide. Anybody know where in particular in that document (or in another one if that's not right) I should look for this?
Thanks!
-CB
Have you looked in the SMF Function Database yet?
./Sources/Profile-Modify.php.
Hey, thanks for the reply!
#1 I looked all through that file and couldn't find anything about changing a password. Where in that file should I look?
#2 I haven't looked at the functions database. By that you mean a table in the forum database? What should I be looking for in there?
Thanks!
-CB
Google "SMF Function Database".
http://www.lmgtfy.com/?q=SMF+Function+Database
hahahaha thank you very much. n00b to the core.
Nah, you're fine.
Well that was a handy little list. I think what I need is actually on Sources.Reminder.php. I'm looking for a place in the code to put this redirect and I just can't seem to make it work. Everything about the password reset process works great (from the email to the reset), but I have an issue when the forum generates the logon form. I'd like to redirect them to another page after they reset their password. I THINK this is the area of the code that handles all of this:
// User validated. Update the database!
updateMemberData($_POST['u'], array('validation_code' => '', 'passwd' => sha1(strtolower($username) . $_POST['passwrd1'])));
call_integration_hook('integrate_reset_pass', array($username, $username, $_POST['passwrd1']));
loadTemplate('Login');
$context += array(
'page_title' => $txt['reminder_password_set'],
'sub_template' => 'login',
'default_username' => $username,
'default_password' => $_POST['passwrd1'],
'never_expire' => false,
'description' => $txt['reminder_password_set']
);
}
I've been messing around with it to no success. First, am I in the right place after all? Secondly, is there a place to drop a redirectexit(address) so that their password is reset and then they are sent off?
Thanks as always!
-CB
Just before the $context at the end of that function ;)
Ok when I put the redirectexit there, the authentication reminder form doesn't appear. I need that authentication reminder form to show up, and after the email arrives, the authentication reminder to enter the new password twice needs to show up too. I want to redirect after you hit "save" on that form.
Ideas? Thanks!
-CB
Ok, I found where this form actually builds (Reminder.Template.php). I found where the save button is configured <p class="align_center"><input type="submit" value="', $txt['save'], '" class="button_submit" /></p>
Is there a way to specify a url to direct to when that button is clicked without messing with its submit function?
Thanks as always,
-CB
Is there any further information I can provide to make this question answerable? I'd really like to get this job done.
Thanks!
-CB