<?php
/**
* Email notifications.
*
* @package TonItaliaRegistration
*/
defined( 'ABSPATH' ) || exit;
/**
* Class TON_Reg_Mailer
*/
class TON_Reg_Mailer {
/**
* @param object $registration Registration row.
* @param int $user_id User ID.
*/
public static function send_admin_notification( $registration, $user_id ) {
$to = get_option( 'ton_reg_admin_email', get_option( 'admin_email' ) );
$subject = get_option( 'ton_reg_email_admin_subject', '' );
$body = get_option( 'ton_reg_email_admin_body', '' );
$replacements = self::replacements( $registration, $user_id );
$subject = strtr( $subject, $replacements );
$body = strtr( $body, $replacements );
wp_mail( $to, $subject, $body );
}
/**
* @param object $registration Registration row.
* @param int $user_id User ID.
*/
public static function send_user_confirmation( $registration, $user_id ) {
$to = $registration->email;
$subject = get_option( 'ton_reg_email_user_subject', '' );
$body = get_option( 'ton_reg_email_user_body', '' );
$replacements = self::replacements( $registration, $user_id );
$subject = strtr( $subject, $replacements );
$body = strtr( $body, $replacements );
wp_mail( $to, $subject, $body );
// Standard WP new user notification with password reset link.
if ( function_exists( 'wp_send_new_user_notifications' ) ) {
wp_send_new_user_notifications( $user_id, 'user' );
}
}
/**
* @param object $registration Registration.
* @param int $user_id User ID.
* @return array<string,string>
*/
private static function replacements( $registration, $user_id ) {
$admin_url = admin_url( 'admin.php?page=ton-registrations&action=view&id=' . (int) $registration->id );
return array(
'{nome}' => $registration->nome,
'{cognome}' => $registration->cognome,
'{email}' => $registration->email,
'{codice_fiscale}' => $registration->codice_fiscale,
'{ip}' => $registration->registration_ip,
'{login_url}' => wp_lostpassword_url(),
'{gdpr_contact}' => get_option( 'ton_reg_gdpr_contact', '' ),
'{admin_url}' => $admin_url,
);
}
}