<?php

defined('ABSPATH') || exit;
class WC_Geolite_Integration
{
    private $database = '';
    private $log = null;
    public function __construct($database)
    {
        $this->database = $database;
    }
    public function get_country_iso($ip_address)
    {
        wc_deprecated_function('get_country_iso', '3.9.0');
        $iso_code = '';
        try {
            $reader = new MaxMind\Db\Reader($this->database);
            $data = $reader->get($ip_address);
            if (isset($data['country']['iso_code'])) {
                $iso_code = $data['country']['iso_code'];
            }
            $reader->close();
        } catch (Exception $e) {
            $this->log($e->getMessage(), 'warning');
        }
        return sanitize_text_field(strtoupper($iso_code));
    }
    private function log($message, $level = 'info')
    {
        if (is_null($this->log)) {
            $this->log = wc_get_logger();
        }
        $this->log->log($level, $message, array('source' => 'geoip'));
    }
}