%PDF- %PDF-
Direktori : /var/www/projetos/revistashowdafe.com.br/wp-content/plugins/bnfw/includes/ |
Current File : //var/www/projetos/revistashowdafe.com.br/wp-content/plugins/bnfw/includes/overrides.php |
<?php /** * Override default WordPress emails * * @package bnfw */ if ( ! function_exists( 'wp_new_user_notification' ) ) { /** * Email login credentials to a newly-registered user. * * A new user registration notification is also sent to admin email. * * @param int $user_id User ID. * @param null $deprecated Not used (argument deprecated). * @param string $notify Optional. Type of notification that should happen. Accepts 'admin' or an empty * string (admin only), or 'both' (admin and user). The empty string value was kept * for backward-compatibility purposes with the renamed parameter. Default empty. */ function wp_new_user_notification( $user_id, $deprecated = null, $notify = '' ) { global $wp_version, $wp_hasher; $bnfw = BNFW::factory(); $user = get_userdata( $user_id ); if ( version_compare( $wp_version, '4.3', '>=' ) ) { // for WordPress 4.3 and above. if ( version_compare( $wp_version, '4.3', '=' ) ) { $notify = $deprecated; } else { if ( null !== $deprecated ) { _deprecated_argument( __FUNCTION__, '4.3.1' ); } } // The blogname option is escaped with esc_html on the way into the database in sanitize_option // we want to reverse this for the plain text arena of emails. $blogname = wp_specialchars_decode( get_option( 'blogname' ), ENT_QUOTES ); if ( ! $bnfw->notifier->notification_exists( 'admin-user', false ) ) { /* translators: %s site name. */ $message = sprintf( esc_html__( 'New user registration on your site %s:' ), $blogname ) . "\r\n\r\n"; /* translators: %s username. */ $message .= sprintf( esc_html__( 'Username: %s' ), $user->user_login ) . "\r\n\r\n"; /* translators: %s email. */ $message .= sprintf( esc_html__( 'E-mail: %s' ), $user->user_email ) . "\r\n"; $wp_new_user_notification_email_admin = array( 'to' => get_option( 'admin_email' ), /* translators: Password change notification email subject. %s: Site title */ 'subject' => __( '[%s] New User Registration' ), 'message' => $message, 'headers' => '', ); /** * Filters the contents of the new user notification email sent to the site admin. * * @since 4.9.0 * * @param array $wp_new_user_notification_email { * Used to build wp_mail(). * * @type string $to The intended recipient - site admin email address. * @type string $subject The subject of the email. * @type string $message The body of the email. * @type string $headers The headers of the email. * } * * @param WP_User $user User object for new user. * @param string $blogname The site title. */ $wp_new_user_notification_email_admin = apply_filters( 'wp_new_user_notification_email_admin', $wp_new_user_notification_email_admin, $user, $blogname ); if ( isset( $wp_new_user_notification_email_admin['to'] ) && ! empty( $wp_new_user_notification_email_admin['to'] ) ) { wp_mail( $wp_new_user_notification_email_admin['to'], wp_specialchars_decode( sprintf( $wp_new_user_notification_email_admin['subject'], $blogname ) ), $wp_new_user_notification_email_admin['message'], $wp_new_user_notification_email_admin['headers'] ); } } if ( 'admin' === $notify || empty( $notify ) ) { return; } // Generate something random for a password reset key. $key = wp_generate_password( 20, false ); /** This action is documented in wp-login.php */ do_action( 'retrieve_password_key', $user->user_login, $key ); // Now insert the key, hashed, into the DB. if ( empty( $wp_hasher ) ) { require_once ABSPATH . WPINC . '/class-phpass.php'; $wp_hasher = new PasswordHash( 8, true ); // phpcs:ignore } $hashed = time() . ':' . $wp_hasher->HashPassword( $key ); wp_update_user( array( 'ID' => $user->ID, 'user_activation_key' => $hashed, ) ); if ( $bnfw->notifier->notification_exists( 'new-user', false ) ) { $notifications = $bnfw->notifier->get_notifications( 'new-user' ); $password_url = network_site_url( 'wp-login.php?action=rp&key=' . $key . '&login=' . rawurlencode( $user->user_login ), 'login' ); foreach ( $notifications as $notification ) { $setting = $bnfw->notifier->read_settings( $notification->ID ); $trigger_notification = apply_filters( 'bnfw_trigger_new-user_notification', true, $setting, $user ); if ( $trigger_notification ) { $bnfw->engine->send_registration_email( $setting, $user, $password_url ); } } } else { /* translators: %s username. */ $message = sprintf( esc_html__( 'Username: %s' ), $user->user_login ) . "\r\n\r\n"; $message .= esc_html__( 'To set your password, visit the following address:' ) . "\r\n\r\n"; $message .= '<' . network_site_url( "wp-login.php?action=rp&key=$key&login=" . rawurlencode( $user->user_login ), 'login' ) . ">\r\n\r\n"; $message .= wp_login_url() . "\r\n"; /* translators: %s message. */ wp_mail( $user->user_email, sprintf( esc_html__( '[%s] Your username and password info' ), $blogname ), $message ); } } else { // for WordPress below 4.3. $plaintext_pass = $deprecated; // The blogname option is escaped with esc_html on the way into the database in sanitize_option // we want to reverse this for the plain text arena of emails. $blogname = wp_specialchars_decode( get_option( 'blogname' ), ENT_QUOTES ); if ( ! $bnfw->notifier->notification_exists( 'admin-user', false ) ) { /* translators: %s site name. */ $message = sprintf( esc_html__( 'New user registration on your site %s:' ), $blogname ) . "\r\n\r\n"; /* translators: %s username. */ $message .= sprintf( esc_html__( 'Username: %s' ), $user->user_login ) . "\r\n\r\n"; /* translators: %s email. */ $message .= sprintf( esc_html__( 'E-mail: %s' ), $user->user_email ) . "\r\n"; /* translators: %s Blogname. */ wp_mail( get_option( 'admin_email' ), sprintf( esc_html__( '[%s] New User Registration' ), $blogname ), $message ); } if ( empty( $plaintext_pass ) ) { return; } if ( $bnfw->notifier->notification_exists( 'new-user', false ) ) { $notifications = $bnfw->notifier->get_notifications( 'new-user' ); foreach ( $notifications as $notification ) { $bnfw->engine->send_registration_email( $bnfw->notifier->read_settings( $notification->ID ), $user, $plaintext_pass ); } } else { /* translators: %s username. */ $message = sprintf( esc_html__( 'Username: %s' ), $user->user_login ) . "\r\n"; /* translators: %s password. */ $message .= sprintf( esc_html__( 'Password: %s' ), $plaintext_pass ) . "\r\n"; $message .= wp_login_url() . "\r\n"; /* translators: %s blogname. */ wp_mail( $user->user_email, sprintf( esc_html__( '[%s] Your username and password' ), $blogname ), $message ); } } } } if ( ! function_exists( 'wp_password_change_notification' ) ) { /** * Notify the blog admin of a user changing password, normally via email. * * @param WP_User $user User object. */ function wp_password_change_notification( $user ) { $bnfw = BNFW::factory(); if ( $bnfw->notifier->notification_exists( 'admin-password-changed', false ) ) { $notifications = $bnfw->notifier->get_notifications( 'admin-password-changed' ); if ( count( $notifications ) > 0 ) { // Ideally there should be only one notification for this type. // If there are multiple notification then we will read data about only the last one. $bnfw->engine->send_notification( $bnfw->notifier->read_settings( end( $notifications )->ID ), $user->ID ); } } else { // send a copy of password change notification to the admin // but check to see if it's the admin whose password we're changing, and skip this. if ( 0 !== strcasecmp( $user->user_email, get_option( 'admin_email' ) ) ) { /* translators: %s: user name */ $message = sprintf( __( 'Password changed for user: %s' ), $user->user_login ) . "\r\n"; // The blogname option is escaped with esc_html on the way into the database in sanitize_option // we want to reverse this for the plain text arena of emails. $blogname = wp_specialchars_decode( get_option( 'blogname' ), ENT_QUOTES ); /* translators: %s: site title */ wp_mail( get_option( 'admin_email' ), sprintf( __( '[%s] Password Changed' ), $blogname ), $message ); } } } }