<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>
<?php

namespace GOSMTP\Notifications;

class Manager{

	public $options = [];
	public $service = '';

	public function __construct(){

		//Load options
		$this->load_options();
	}

	public function load_options(){

		$options = get_option('gosmtp_options', []);
		$this->options = $options;
	}

	public function get_active_service(){

		if(!isset($this->options['notifications']['notification_service'])){
			return;
		}

		return $this->options['notifications']['notification_service'];
	}

	public function get_option($key, $service = '', $default = ''){

		$options = $this->options;

		if(!empty($service) && $service == $this->get_active_service()){
			$options = $this->options['notifications'];
		}

		return isset($options[$key]) ? $options[$key] : $default;
	}

	public function save_options($options){
		if(!method_exists($this, 'load_services_field')){
			return $options;
		}

		$fields = $this->load_services_field();

		foreach($fields as $key => $field){

			$val = '';

			if(!empty($_REQUEST[$this->service]) && isset($_REQUEST[$this->service][$key])){
				$val = sanitize_text_field(wp_unslash($_REQUEST[$this->service][$key]));
			}
			$options[$key] = $val;
		}
		
		return $options;
	}
}
?>