71 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			71 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
/**
 | 
						|
 * File: class-mailsettingscontroller.php
 | 
						|
 *
 | 
						|
 *
 | 
						|
 * @since 2024-07-31
 | 
						|
 * @license GPL-3.0-or-later
 | 
						|
 *
 | 
						|
 * @package mareike/
 | 
						|
 */
 | 
						|
 | 
						|
namespace Bdp\Modules\Mail\Controllers;
 | 
						|
 | 
						|
class MailSettingsController {
 | 
						|
	public static function set_smtp_if_required() {
 | 
						|
 | 
						|
 | 
						|
		$smtp_host = get_option('kompass_smtp_host', null); // SMTP-Host
 | 
						|
		$smtp_port = get_option('kompass_smtp_port', null); // SMTP-Port
 | 
						|
		$smtp_username = get_option('kompass_smtp_user', null); // SMTP-Benutzername
 | 
						|
		$smtp_password = get_option('kompass_smtp_pass', null); // SMTP-Passwort
 | 
						|
		$smtp_secure = 'tls'; // Verschlüsselung (tls oder ssl)
 | 
						|
 | 
						|
 | 
						|
		if (false !== (bool)get_option('kompass_use_smtp', false) &&
 | 
						|
		null !== $smtp_host &&
 | 
						|
		null !== $smtp_port &&
 | 
						|
		null !== $smtp_username &&
 | 
						|
		null !== $smtp_password) {
 | 
						|
 | 
						|
			add_action( 'phpmailer_init', function ( $phpmailer ) use ( $smtp_host, $smtp_port, $smtp_username, $smtp_password, $smtp_secure ) {
 | 
						|
				$phpmailer->isSMTP();
 | 
						|
				$phpmailer->Host     = $smtp_host;
 | 
						|
				$phpmailer->Port     = $smtp_port;
 | 
						|
				$phpmailer->SMTPAuth = true;
 | 
						|
				$phpmailer->Username = $smtp_username;
 | 
						|
				$phpmailer->Password = $smtp_password;
 | 
						|
 | 
						|
				$sender = get_option('kompass_smtp_sender', null);
 | 
						|
				$sender_name = get_option('kompass_smtp_sender-name', null);
 | 
						|
 | 
						|
				if (null !== $sender && null !== $sender_name)
 | 
						|
					$phpmailer->setFrom( $sender, $sender_name );
 | 
						|
				#$phpmailer->SMTPSecure = $smtp_secure;
 | 
						|
			} );
 | 
						|
		}
 | 
						|
 | 
						|
	}
 | 
						|
 | 
						|
	public static function settings_form() {
 | 
						|
		if (isset($_POST['save'])) {
 | 
						|
			update_option('kompass_use_smtp', false);
 | 
						|
 | 
						|
			if (isset($_POST['use_smtp'])) update_option('kompass_use_smtp', true);
 | 
						|
			update_option('kompass_smtp_host', sanitize_text_field(wp_unslash($_POST['smtp-host'])));
 | 
						|
			update_option('kompass_smtp_port', sanitize_text_field(wp_unslash($_POST['smtp-port'])));
 | 
						|
			update_option('kompass_smtp_user', sanitize_text_field(wp_unslash($_POST['smtp-user'])));
 | 
						|
			update_option('kompass_smtp_pass', sanitize_text_field(wp_unslash($_POST['smtp-pass'])));
 | 
						|
			update_option('kompass_smtp_sender', sanitize_text_field(wp_unslash($_POST['smtp-sender'])));
 | 
						|
			update_option('kompass_smtp_sender-name', sanitize_text_field(wp_unslash($_POST['smtp-sender-name'])));
 | 
						|
 | 
						|
			kompass_print_message_box('Die Einstellungen wurden gespeichert.');
 | 
						|
		}
 | 
						|
 | 
						|
 | 
						|
		require BDP_LV_PLUGIN_DIR . '/settings/views/mail-settings.php';
 | 
						|
 | 
						|
 | 
						|
	}
 | 
						|
 | 
						|
} |