[freeside-commits] branch FREESIDE_4_BRANCH updated. b95fe75445b063668099929d17343e36c9ade70f
Ivan Kohler
ivan at freeside.biz
Tue Dec 5 11:43:59 PST 2017
The branch, FREESIDE_4_BRANCH has been updated
via b95fe75445b063668099929d17343e36c9ade70f (commit)
from b13695504945686be1723ceb5017c4aa612921fd (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit b95fe75445b063668099929d17343e36c9ade70f
Author: Ivan Kohler <ivan at freeside.biz>
Date: Tue Dec 5 11:43:58 2017 -0800
add forgot password functionality to example wordpress self-service, RT#75279
diff --git a/fs_selfservice/wordpress/forgot_password.php b/fs_selfservice/wordpress/forgot_password.php
new file mode 100644
index 000000000..66e440fc0
--- /dev/null
+++ b/fs_selfservice/wordpress/forgot_password.php
@@ -0,0 +1,43 @@
+<?php
+
+require( dirname( __FILE__ ) . '/wp-blog-header.php' );
+get_header();
+
+$freeside = new FreesideSelfService();
+
+if ( isset($_POST['email']) ) {
+
+ $result = $freeside->reset_passwd(array(
+ 'email' => $_POST['email'],
+ ));
+
+ if ( $result['error'] ) {
+ $_REQUEST['freeside_error'] = $result['error'];
+ } else {
+ $sent = 1;
+ }
+
+}
+
+?>
+
+<?php if ( $sent == 1 ) { ?>
+
+ A verification email has been sent to your mailbox. Please follow the
+ link in your email to complete your password reset.
+
+<?php } else { ?>
+
+Please enter your email address. A password reset email will be sent to that
+address<BR><BR>
+
+<?php include('elements/error.php'); ?>
+
+<FORM METHOD="POST">
+<INPUT TYPE="text" NAME="email" VALUE=""><BR>
+<INPUT TYPE="submit" VALUE="Send reset email">
+</FORM>
+
+<?php } ?>
+
+<?php get_footer(); ?>
diff --git a/fs_selfservice/wordpress/process_forgot_password.php b/fs_selfservice/wordpress/process_forgot_password.php
new file mode 100644
index 000000000..a006d2079
--- /dev/null
+++ b/fs_selfservice/wordpress/process_forgot_password.php
@@ -0,0 +1,57 @@
+<?php
+
+require( dirname( __FILE__ ) . '/wp-blog-header.php' );
+get_header();
+
+$freeside = new FreesideSelfService();
+
+if ( isset($_POST['freeside_session_id']) ) {
+
+ $result = $freeside->process_reset_passwd(array(
+ 'session_id' => $_POST['freeside_session_id'],
+ 'new_password' => $_POST['new_password'],
+ 'new_password2' => $_POST['new_password2'],
+ ));
+
+ if ( $result['error'] ) {
+ $_REQUEST['freeside_error'] = $result['error'];
+ $freeside_session_id = htmlspecialchars($_POST['freeside_session_id']);
+ }
+
+?>
+
+ <?php include('elements/error.php'); ?>
+
+ <?php if ( ! $result['error'] ) { ?>
+
+ Your password has been changed. You can now <A HREF="example_login.php">log in</A>.
+
+ <?php get_footer(); die; ?>
+ <?php } ?>
+
+<?php
+} elseif ( isset($_GET['action']) ) {
+
+ $freeside_session_id = '';
+ $matches = array();
+ if ( preg_match( '/^process_forgot_password_session_(\w+)$/', $_GET['action'], $matches ) ) {
+ $freeside_session_id = $matches[1];
+ } else {
+ #shouldn't be at this URL w/o action; accidentally edited URL or malicious
+ die();
+ }
+?>
+
+<?php } ?>
+
+ <FORM METHOD="POST">
+ <INPUT TYPE="hidden" NAME="freeside_session_id" VALUE="<?php echo $freeside_session_id; ?>">
+ New password: <INPUT TYPE="password" NAME="new_password"><BR>
+
+ Re-enter new password: <INPUT TYPE="password" NAME="new_password2"><BR>
+
+ <INPUT TYPE="submit" VALUE="Change password">
+ </FORM>
+
+
+<?php get_footer(); ?>
-----------------------------------------------------------------------
Summary of changes:
fs_selfservice/wordpress/forgot_password.php | 43 ++++++++++++++++
.../wordpress/process_forgot_password.php | 57 ++++++++++++++++++++++
2 files changed, 100 insertions(+)
create mode 100644 fs_selfservice/wordpress/forgot_password.php
create mode 100644 fs_selfservice/wordpress/process_forgot_password.php
More information about the freeside-commits
mailing list