HEX
Server: Apache
System: Linux WWW 6.1.0-40-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.153-1 (2025-09-20) x86_64
User: web11 (1011)
PHP: 8.2.29
Disabled: NONE
Upload Files
File: /var/www/studis.kauko.lt/wp-content/plugins/wp-statistics/src/Decorators/LocationDecorator.php
<?php

namespace WP_Statistics\Decorators;

use WP_STATISTICS\Country;

class LocationDecorator
{
    private $visitor;

    public function __construct($visitor)
    {
        $this->visitor = $visitor;
    }

    /**
     * Get the country icon URL based on the visitor's location.
     *
     * @return string
     */
    public function getCountryFlag()
    {
        return Country::flag($this->visitor->location);
    }

    /**
     * Get the country name based on the visitor's location.
     *
     * @return string
     */
    public function getCountryName()
    {
        return Country::getName($this->visitor->location);
    }

    /**
     * Retrieves the country code of the visitor.
     *
     * @return string|null The country code, or null if not available.
     */
    public function getCountryCode()
    {
        return $this->visitor->location ?? null;
    }

    /**
     * Retrieves the region of the visitor.
     *
     * @return string|null The region of the visitor, or null if not available.
     */
    public function getRegion()
    {
        return $this->visitor->region ?? null;
    }

    /**
     * Retrieves the city associated with the visitor's location.
     *
     * @return string|null The city name, or null if not available.
     */
    public function getCity()
    {
        return $this->visitor->city ?? null;
    }

    /**
     * Retrieves the continent associated with the visitor's location.
     *
     * @return string|null The continent name, or null if not available.
     */
    public function getContinent()
    {
        return $this->visitor->continent ?? null;
    }
}