<?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;
	}
}
?>