NexusLeads Webshell
NexusLeads


Server : LiteSpeed
System : Linux server 3.10.0-1160.90.1.el7.x86_64 #1 SMP Thu May 4 15:21:22 UTC 2023 x86_64
User : alsaif ( 1057)
PHP Version : 7.4.33
Disable Function : show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Directory :  /home/alsaif/public_html/libraries/regularlabs/helpers/assignments/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/alsaif/public_html/libraries/regularlabs/helpers/assignments/geo.php
<?php
/**
 * @package         Regular Labs Library
 * @version         23.9.3039
 * 
 * @author          Peter van Westen <info@regularlabs.com>
 * @link            https://regularlabs.com
 * @copyright       Copyright © 2023 Regular Labs All Rights Reserved
 * @license         GNU General Public License version 2 or later
 */

/* @DEPRECATED */

defined('_JEXEC') or die;

use Joomla\CMS\Factory as JFactory;
use Joomla\CMS\Log\Log as JLog;

if (is_file(JPATH_LIBRARIES . '/regularlabs/autoload.php'))
{
    require_once JPATH_LIBRARIES . '/regularlabs/autoload.php';
}

require_once dirname(__FILE__, 2) . '/assignment.php';

class RLAssignmentsGeo extends RLAssignment
{
    var $geo = null;

    public function getGeo($ip = '')
    {
        if ($this->geo !== null)
        {
            return $this->geo;
        }

        $geo = $this->getGeoObject($ip);

        if (empty($geo))
        {
            return false;
        }

        $this->geo = $geo->get();

        if (JFactory::getApplication()->get('debug'))
        {
            JLog::addLogger(['text_file' => 'regularlabs_geoip.log.php'], JLog::ALL, ['regularlabs_geoip']);
            JLog::add(json_encode($this->geo), JLog::DEBUG, 'regularlabs_geoip');
        }

        return $this->geo;
    }

    /**
     * passContinents
     */
    public function passContinents()
    {
        if ( ! $this->getGeo() || empty($this->geo->continentCode))
        {
            return $this->pass(false);
        }

        return $this->passSimple([$this->geo->continent, $this->geo->continentCode]);
    }

    /**
     * passCountries
     */
    public function passCountries()
    {
        $this->getGeo();

        if ( ! $this->getGeo() || empty($this->geo->countryCode))
        {
            return $this->pass(false);
        }

        return $this->passSimple([$this->geo->country, $this->geo->countryCode]);
    }

    /**
     * passPostalcodes
     */
    public function passPostalcodes()
    {
        if ( ! $this->getGeo() || empty($this->geo->postalCode))
        {
            return $this->pass(false);
        }

        // replace dashes with dots: 730-0011 => 730.0011
        $postalcode = str_replace('-', '.', $this->geo->postalCode);

        return $this->passInRange($postalcode);
    }

    /**
     * passRegions
     */
    public function passRegions()
    {
        if ( ! $this->getGeo() || empty($this->geo->countryCode) || empty($this->geo->regionCodes))
        {
            return $this->pass(false);
        }

        $regions = $this->geo->regionCodes;
        array_walk($regions, function (&$value) {
            $value = $this->geo->countryCode . '-' . $value;
        });

        return $this->passSimple($regions);
    }

    private function getGeoObject($ip)
    {
        if ( ! file_exists(JPATH_LIBRARIES . '/geoip/geoip.php'))
        {
            return false;
        }

        require_once JPATH_LIBRARIES . '/geoip/geoip.php';

        if ( ! class_exists('RegularLabs_GeoIp'))
        {
            return new GeoIp($ip);
        }

        return new RegularLabs_GeoIp($ip);
    }
}

NexusLeads