Search moodle.org's
Developer Documentation

See Release Notes

  • Bug fixes for general core bugs in 4.3.x will end 7 October 2024 (12 months).
  • Bug fixes for security issues in 4.3.x will end 21 April 2025 (18 months).
  • PHP version: minimum PHP 8.0.0 Note: minimum PHP version has increased since Moodle 4.1. PHP 8.2.x is supported too.
<?php

> declare(strict_types=1); namespace GeoIp2\Model; >
use GeoIp2\Util; /** * This class provides the GeoIP2 Anonymous IP model. * * @property-read bool $isAnonymous This is true if the IP address belongs to * any sort of anonymous network. * @property-read bool $isAnonymousVpn This is true if the IP address is * registered to an anonymous VPN provider. If a VPN provider does not * register subnets under names associated with them, we will likely only * flag their IP ranges using the isHostingProvider property. * @property-read bool $isHostingProvider This is true if the IP address belongs * to a hosting or VPN provider (see description of isAnonymousVpn property). * @property-read bool $isPublicProxy This is true if the IP address belongs to * a public proxy.
> * @property-read bool $isResidentialProxy This is true if the IP address is * @property-read bool $isTorExitNode This is true if the IP address is a Tor > * on a suspected anonymizing network and belongs to a residential ISP.
* exit node. * @property-read string $ipAddress The IP address that the data in the model is * for. * @property-read string $network The network in CIDR notation associated with * the record. In particular, this is the largest network where all of the * fields besides $ipAddress have the same value. */ class AnonymousIp extends AbstractModel {
> /** protected $isAnonymous; > * @var bool protected $isAnonymousVpn; > */
protected $isHostingProvider;
> protected $isPublicProxy; > /** protected $isTorExitNode; > * @var bool protected $ipAddress; > */
protected $network;
> > /** /** > * @var bool * @ignore > */
*
> * @param mixed $raw > /** */ > * @var bool public function __construct($raw) > */
{
> parent::__construct($raw); > /** > * @var bool $this->isAnonymous = $this->get('is_anonymous'); > */ $this->isAnonymousVpn = $this->get('is_anonymous_vpn'); > protected $isResidentialProxy; $this->isHostingProvider = $this->get('is_hosting_provider'); > $this->isPublicProxy = $this->get('is_public_proxy'); > /** $this->isTorExitNode = $this->get('is_tor_exit_node'); > * @var bool $ipAddress = $this->get('ip_address'); > */
$this->ipAddress = $ipAddress;
> $this->network = Util::cidr($ipAddress, $this->get('prefix_len')); > /** } > * @var string } > */
> > /** > * @var string > */
< * < * @param mixed $raw
< public function __construct($raw)
> public function __construct(array $raw)
> $this->isResidentialProxy = $this->get('is_residential_proxy');