user_email; } else { $data = get_user_by( 'email', $user ); $user_email = $user; } $ultimatemember->password->reset_request['user_id'] = $data->ID; $ultimatemember->password->reset_request['user_email'] = $user_email; um_fetch_user( $data->ID ); $ultimatemember->user->password_reset(); um_reset_user(); } /*** *** @process a change request ***/ add_action('um_change_password_process_hook','um_change_password_process_hook'); function um_change_password_process_hook( $args ) { global $ultimatemember; wp_set_password( $args['user_password'], $args['user_id'] ); delete_user_meta( $args['user_id'], 'reset_pass_hash'); delete_user_meta( $args['user_id'], 'reset_pass_hash_token'); do_action('um_after_changing_user_password', $args['user_id'] ); if ( is_user_logged_in() ) { wp_logout(); } exit( wp_redirect( um_get_core_page('login', 'password_changed') ) ); } /*** *** @This is executed after changing password ***/ add_action('um_after_changing_user_password','um_after_changing_user_password'); function um_after_changing_user_password( $user_id ) { global $ultimatemember; um_fetch_user( $user_id ); $ultimatemember->mail->send( um_user('user_email'), 'changedpw_email' ); um_reset_user(); } /*** *** @Error handler: reset password ***/ add_action('um_reset_password_errors_hook','um_reset_password_errors_hook'); function um_reset_password_errors_hook( $args ) { global $ultimatemember; if ( $_POST[ $ultimatemember->honeypot ] != '' ) wp_die('Hello, spam bot!'); $form_timestamp = trim($_POST['timestamp']); $live_timestamp = time(); if ( $form_timestamp == '' ) wp_die( __('Hello, spam bot!') ); if ( $live_timestamp - $form_timestamp < 3 ) wp_die( __('Whoa, slow down! You\'re seeing this message because you tried to submit a form too fast and we think you might be a spam bot. If you are a real human being please wait a few seconds before submitting the form. Thanks!') ); if ( strlen(trim( $_POST['username_b'] ) ) == 0 ) { $ultimatemember->form->add_error('username_b', __('Please provide your username or email','ultimatemember') ); } $user = $_POST['username_b']; if ( ( !is_email( $user ) && !username_exists( $user ) ) || ( is_email( $user ) && !email_exists( $user ) ) ) { $ultimatemember->form->add_error('username_b', __(' We can\'t find an account registered with that address or username ','ultimatemember') ); } } /*** *** @Error handler: changing password ***/ add_action('um_change_password_errors_hook','um_change_password_errors_hook'); function um_change_password_errors_hook( $args ) { global $ultimatemember; if ( $_POST[ $ultimatemember->honeypot ] != '' ) wp_die('Hello, spam bot!'); $form_timestamp = trim($_POST['timestamp']); $live_timestamp = time(); if ( $form_timestamp == '' ) wp_die( __('Hello, spam bot!') ); if ( $live_timestamp - $form_timestamp < 3 ) wp_die( __('Whoa, slow down! You\'re seeing this message because you tried to submit a form too fast and we think you might be a spam bot. If you are a real human being please wait a few seconds before submitting the form. Thanks!') ); if ( !$args['user_password'] ) { $ultimatemember->form->add_error('user_password', 'You must enter a new password'); } if ( strlen( utf8_decode( $args['user_password'] ) ) < 8 ) { $ultimatemember->form->add_error('user_password', __('Your password must contain at least 8 characters') ); } if ( strlen( utf8_decode( $args['user_password'] ) ) > 30 ) { $ultimatemember->form->add_error('user_password', __('Your password must contain less than 30 characters') ); } if ( !$ultimatemember->validation->strong_pass( $args['user_password'] ) ) { $ultimatemember->form->add_error('user_password', 'Your password must contain at least one capital letter and one number'); } if ( !$args['confirm_user_password'] ) { $ultimatemember->form->add_error('confirm_user_password', 'You must confirm your new password'); } if ( $args['user_password'] != $args['confirm_user_password'] ) { $ultimatemember->form->add_error('confirm_user_password', 'Your passwords do not match'); } } /*** *** @hidden fields ***/ add_action('um_change_password_page_hidden_fields','um_change_password_page_hidden_fields'); function um_change_password_page_hidden_fields( $args ) { ?> builtin->get_specific_fields('password_reset_text,username_b'); ?> $data ) { $output .= $ultimatemember->fields->edit_field( $key, $data ); }echo $output; ?>
builtin->get_specific_fields('user_password'); ?> $data ) { $output .= $ultimatemember->fields->edit_field( $key, $data ); }echo $output; ?>