Function Reference: geodir_retrieve_password
Summary
Handles sending password retrieval email to user.
Global Values
- $wpdb
- (object) (required) WordPress Database object.
- Default: None
Package
GeoDirectory
Return Values
- (bool|WP_Error)
- True: when finish.
- WP_Error on error.
Change Log
Since: 1.0.0
Actions
‘lostpassword_post’ [Line: 162]
‘retrieve_password’ [Line: 182]
‘password_reset’ [Line: 207]
Filters
‘password_reset_title’ [Line: 228]
‘password_reset_message’ [Line: 237]
Source File
geodir_retrieve_password() is located in geodirectory-functions/signup_function.php [Line: 139]
Source Code
function geodir_retrieve_password() { global $wpdb; $errors = new WP_Error(); if (empty($_POST['user_login']) && empty($_POST['user_email'])) $errors->add('empty_username', __('ERROR: Enter a username or e-mail address.', 'geodirectory')); if (strpos($_POST['user_login'], '@')) { //$user_data = get_user_by_email(trim($_POST['user_login'])); $user_data = get_user_by('email', trim($_POST['user_login'])); if (empty($user_data)) $errors->add('invalid_email', __('ERROR: There is no user registered with that email address.', 'geodirectory')); } else { $login = trim($_POST['user_login']); $user_data = get_user_by('email', $login); } /** * Called in the geodir_retrieve_password() function before any errors are set or any emails are sent. * * @since 1.0.0 */ do_action('lostpassword_post'); if ($errors->get_error_code()) return $errors; if (!$user_data) { $errors->add('invalidcombo', __('ERROR: Invalid username or e-mail.', 'geodirectory')); return $errors; } // redefining user_login ensures we return the right case in the email $user_login = $user_data->user_login; $user_email = $user_data->user_email; /** * Called in the geodir_retrieve_password() function before any emails are sent. * * @since 1.0.0 * @param string $user_login The users username. */ do_action('retrieve_password', $user_login); //////////////////////////////////// $user_email = isset($_POST['user_email']) ? $_POST['user_email'] : ''; $user_login = $_POST['user_login']; $user = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM $wpdb->users WHERE user_login like %s or user_email like %s", array($user_login, $user_login) ) ); if (empty($user)) return new WP_Error('invalid_key', __('Invalid key', 'geodirectory')); $new_pass = wp_generate_password(12, false); /** * Called in the geodir_retrieve_password() function before any emails are sent. * * @since 1.0.0 * @param object $user The user object. * @param string $new_pass The new pass being sent to the user. */ do_action('password_reset', $user, $new_pass); wp_set_password($new_pass, $user->ID); update_user_meta($user->ID, 'default_password_nag', true); //Set up the Password change nag. $message = '' . __('Your login Information :', 'geodirectory') . '
'; $message .= '' . sprintf(__('Username: %s', 'geodirectory'), $user->user_login) . "
"; $message .= '' . sprintf(__('Password: %s', 'geodirectory'), $new_pass) . "
"; //$message .= 'You can login to : Login or the URL is : ".home_url()."/?ptype=login
"; //$message .= 'Thank You,
'; $user_email = $user_data->user_email; $user_name = geodir_get_client_name($user->ID); $fromEmail = geodir_get_site_email_id(); $fromEmailName = get_site_emailName(); $title = sprintf(__('[%s] Your new password', 'geodirectory'), get_option('blogname')); /** * Filter the password reset email subject part. * * @since 1.0.0 * * @param string $title Password reset email subject. */ $title = apply_filters('password_reset_title', $title); /** * Filter the password reset email message part. * * @since 1.0.0 * * @param string $message Password reset email message. * @param string $new_pass The new password string. */ $message = apply_filters('password_reset_message', $message, $new_pass); //geodir_sendEmail($fromEmail,$fromEmailName,$user_email,$user_name,$title,$message,$extra='');///forgot password email geodir_sendEmail($fromEmail, $fromEmailName, $user_email, $user_name, $title, $message, $extra = '', 'forgot_password', $post_id = '', $user->ID);///forgot password email return true; }
'.get_option('blogname').'