From 1a7fa60f6cb2ee26843ca19e37bb4ff44104ad55 Mon Sep 17 00:00:00 2001 From: Bulletin Date: Thu, 29 Dec 2016 16:42:32 -0500 Subject: Added existing progress --- forgot.php | 79 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 forgot.php (limited to 'forgot.php') diff --git a/forgot.php b/forgot.php new file mode 100644 index 0000000..ad036d2 --- /dev/null +++ b/forgot.php @@ -0,0 +1,79 @@ + 0) loggedin(); +if (!empty($_GET['key']) && !empty($_GET['id'])) { + $db = new bdb() or fatal('No database connection!'); + $result = $db->query('SELECT id FROM users WHERE id = '.intval($_GET['id']).' AND session = \''.hash('sha512', $_GET['key']).'\' AND active = 1 LIMIT 1') or fatal($db->error); + if ($result->num_rows < 1) { + $result->free(); + $db->close(); + fatal('Invalid information provided.'); + } + $result->free(); + $db->close(); + setcookie($b_config['c_name'], intval($_GET['id']).';'.$_GET['key'], 0, $b_config['c_path'], $b_config['c_dom'], $b_config['c_sec'], $b_config['c_http']); + loggedin(); +} else if (!empty($_POST['email'])) { + $db = new bdb() or fatal('No database connection!'); + $token = uniqid('fp', true); + $result = $db->query('SELECT id FROM users WHERE email = \''.$db->escape_string($_POST['email']).'\'') or fatal($db->error); + if ($result->num_rows > 0) { + $db->query('UPDATE users SET session = \''.hash('sha512', $token).'\' WHERE email = \''.$db->escape_string($_POST['email']).'\'') or fatal($db->error); + if ($db->affected_rows < 1) fatal('Could not affect the database'); + $row = $result->fetch_assoc(); + $result->free(); + $db->close(); + mail($_POST['email'], 'Recover Your Bulletin Account', tpl(array( + 'vars' => 'id='.$row['id'].'&key='.$token, +), 'forgot.tpl'), "From: ".$b_config['mail_from']."\r\nContent-type: text/html") or fatal('Could not send out the recovery email, we apologize for the inconvenience.'); + fatal('A recovery email has been sent to the address you supplied. You can use this email to access your account, and from there change your password.'); + } else { + $result->free(); + $db->close(); + $e = 1; + $e_msg = 'That email address is not listed in our database.'; + } +} +?> + + + + + Forgot Password / Bulletin + + + + + +
+
+ 0) + echo '
'; + else + echo '
'; +?> + +
+
+
 
+
+ +
+
+ + 0) + echo '

'.htmlentities($e_msg).'

'; +?> +

Remembered your password?

+

Don't have an account? Sign Up

+
+
+

Welcome back to Bulletin! :)

+

Copyright © 2016 Bulletin Team

+ + -- cgit v1.2.3