HEX
Server: LiteSpeed
System: Linux atali.colombiahosting.com.co 5.14.0-570.12.1.el9_6.x86_64 #1 SMP PREEMPT_DYNAMIC Tue May 13 06:11:55 EDT 2025 x86_64
User: coopserp (1713)
PHP: 8.2.29
Disabled: dl,exec,passthru,proc_open,proc_close,shell_exec,memory_limit,system,popen,curl_multi_exec,show_source,symlink,link,leak,listen,diskfreespace,tmpfile,ignore_user_abord,highlight_file,source,show_source,fpaththru,virtual,posix_ctermid,posix_getcwd,posix_getegid,posix_geteuid,posix_getgid,posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid,posix,posix_getppid,posix_getpwnam,posix_getpwuid,posix_getrlimit,posix_getsid,posix_getuid,posix_isatty,posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid,posix_setpgid,posix_setsid,posix_setid,posix_times,posix_ttyname,posix_uname,proc_get_status,proc_nice,proc_terminate
Upload Files
File: /home/coopserp/www/wp-content/plugins/siteground-migrator/core/Email_Service/Email_Service.php
<?php

namespace SiteGround_Migrator\Email_Service;

/**
 * The email service class.
 */
class Email_Service {

	/**
	 * Send notification to the user.
	 *
	 * @since  1.0.0
	 *
	 * @param  string $recipient The email recipient.
	 * @param  string $subject   The email subject.
	 * @param  string $message   The email message.
	 *
	 * @return bool True on success, false on failure.
	 */
	private function send_email( $recipient, $subject, $message ) {
		return wp_mail(
			$recipient,
			$subject,
			$message,
			array(
				'Content-Type: text/html; charset=UTF-8',
			)
		);
	}

	/**
	 * Prepare and send notifcaiton to the site admin, when the transfer is completed.
	 *
	 * @since  1.0.0
	 *
	 * @param  array $data Array of data from the SiteGround api.
	 */
	public function prepare_and_send_notification( $data ) {

		// Prepare the options.
		$send_notification = get_option( 'siteground_migrator_send_email_notification' );
		$recipient         = get_option( 'siteground_migrator_email_recipient' );

		// Bail if the user has selected to not send notifications.
		if (
			'no' === $send_notification ||
			false === is_email( $recipient )
		) {
			return;
		}

		// We send notication on success/failure only.
		switch ( $data['status'] ) {
			case 0:
				// Send notification that transfer has failed.
				$subject = esc_html__( 'Migration to SiteGround Failed', 'siteground-migrator' );
				$file    = 'sg_migrator_failed.php';
				break;
			case 3:
				// Send notification that transfer is completed successfully.
				$subject = esc_html__( 'Migration to SiteGround Completed', 'siteground-migrator' );
				$file    = 'sg_migrator_successful.php';
				break;
			case 4:
				// Send notification that transfer is completed with errors.
				$subject = esc_html__( 'Migration to SiteGround completed, some files could not be transferred', 'siteground-migrator' );
				$file    = 'sg_migrator_successful_errors.php';
				break;
			// Do not send anything is the transfer is in progress.
			default:
				return;
		}

		// Turn on output buffering.
		ob_start();

		// Include the email template.
		include \SiteGround_Migrator\DIR . '/templates/email-templates/' . $file;

		// Get current buffer contents and delete current output buffer.
		$message = ob_get_clean();

		// Send the email.
		$this->send_email(
			$recipient,
			$subject,
			$message
		);
	}
}