{eac}Doojigger Reference

security_ra_ipgeolocation extends security_ra_abstract

Extension: ipgeolocation - ipgeolocation API - {eac}Doojigger for WordPress

Tags
category

WordPress Plugin

author

Kevin Burkholder KBurkholder@EarthAsylum.com

copyright

Copyright (c) 2024 EarthAsylum Consulting <www.EarthAsylum.com>

Table of Contents

ACCOUNT_LIMITS  = [ // id name "developer" => ["Developer (free)", 'day' => 1000, 'month' => 30000], "bronze" => ["Bronze", 'day' => 0, 'month' => 150000], "silver" => ["Silver", 'day' => 0, 'month' => 1000000], "silver+" => ["Silver+", 'day' => 0, 'month' => 3000000], "gold" => ["Gold", 'day' => 0, 'month' => 6000000], "platinum" => ["Platinum", 'day' => 0, 'month' => 20000000], ]
ALIAS  = null
ALLOW_ADMIN  = 0b1
ALLOW_ALL  = self::ALLOW_ADMIN | self::ALLOW_NETWORK | self::ALLOW_CRON | self::ALLOW_CLI
ALLOW_CLI  = 0b10000
ALLOW_CRON  = 0b1000
ALLOW_NETWORK  = 0b100
ALLOW_NON_PHP  = 0b100000
DEFAULT_DISABLED  = 0b1000000
ENABLE_OPTION  = ['label' => "RA (<abbr title='IpGeoLocation provides geographical information about website visitors with any IPv4 or IPv6 address as well as a threat score with all paid plans. " . "This API utilizes the IpGeoLocation database to block access based on the <em>threat score</em>.'>IpGeoLocation</abbr>)", 'help' => "<small>Visit the <a href='https://www.ipgeolocation.io' target='_blank'>ipgeolocation</a> web site.</small>"]
ONLY_ADMIN  = 0b10
PROVIDER  = 'IpGeoLocation'
TAB_NAME  = null
VERSION  = '24.1107.1'
__call()  : mixed
magic method to call plugin or extension methods
__construct()  : bool
Extension constructor method
__destruct()  : void
Extension destructor
__get()  : mixed
magic method to call parent plugin __get()
addActionsAndFilters()  : void
Add extension actions and filter
addShortcodes()  : void
Add extension shortcodes
admin_options_help()  : void
Add help tab on admin page
admin_options_settings()  : void
register options on options_settings_page
check_for_risk()  : array<string|int, mixed>
Use the provider APIs to validate/block IP address
get_assessment_result()  : array<string|int, mixed>
Use the ipgeolocation API to validate/block IP address
getAlias()  : const
get the extension alias
getClassName()  : bool
getClassName - get the class/extension name without namespace
getVersion()  : const
get the extension version
initialize()  : void
initialize method - called from main plugin
is_network_enabled()  : bool
is_network_enabled - set or test extension enabled for use at the network level
is_network_option()  : bool|mixed
is this class network enabled and does option match a value
isEnabled()  : bool
isEnabled - set or test extension enabled for use

Constants

ACCOUNT_LIMITS

public array<string|int, mixed> ACCOUNT_LIMITS = [ // id name "developer" => ["Developer (free)", 'day' => 1000, 'month' => 30000], "bronze" => ["Bronze", 'day' => 0, 'month' => 150000], "silver" => ["Silver", 'day' => 0, 'month' => 1000000], "silver+" => ["Silver+", 'day' => 0, 'month' => 3000000], "gold" => ["Gold", 'day' => 0, 'month' => 6000000], "platinum" => ["Platinum", 'day' => 0, 'month' => 20000000], ]

account types and rate limits We rely on the api returning a 429 status if we hit the daily or monthly rate limit and pause until the following midnight (UTC). This allows for surcharged overages.

ALLOW_ALL

public mixed ALLOW_ALL = self::ALLOW_ADMIN | self::ALLOW_NETWORK | self::ALLOW_CRON | self::ALLOW_CLI

ENABLE_OPTION

public string|array<string|int, mixed>|bool ENABLE_OPTION = ['label' => "RA (<abbr title='IpGeoLocation provides geographical information about website visitors with any IPv4 or IPv6 address as well as a threat score with all paid plans. " . "This API utilizes the IpGeoLocation database to block access based on the <em>threat score</em>.'>IpGeoLocation</abbr>)", 'help' => "<small>Visit the <a href='https://www.ipgeolocation.io' target='_blank'>ipgeolocation</a> web site.</small>"]

to set (or disable) default group display/switch

Methods

__call()

magic method to call plugin or extension methods

public __call(mixed $method, mixed $arguments) : mixed
Parameters
$method : mixed

the method name or [extension,method]

$arguments : mixed

the arguments to method name

Return values
mixed

result of method called

__construct()

Extension constructor method

public __construct(object $plugin[, int $flags = null ]) : bool

Child class constructors MUST call parent::__construct($plugin,$flags);

Parameters
$plugin : object

parent/loader class object

$flags : int = null

see const values

Return values
bool

is enabled

__get()

magic method to call parent plugin __get()

public __get(string $property) : mixed
Parameters
$property : string

the property name or extension name

Return values
mixed

result of plugin __get()

addActionsAndFilters()

Add extension actions and filter

public addActionsAndFilters() : void

Called after loading, instantiating, and initializing all extensions

Return values
void

addShortcodes()

Add extension shortcodes

public addShortcodes() : void

Called after loading, instantiating, and initializing all extensions

Return values
void

check_for_risk()

Use the provider APIs to validate/block IP address

public check_for_risk(array<string|int, mixed> $data) : array<string|int, mixed>
Parameters
$data : array<string|int, mixed>

from security_ra 'risk_assessment'

Return values
array<string|int, mixed>

$data

get_assessment_result()

Use the ipgeolocation API to validate/block IP address

public get_assessment_result(array<string|int, mixed> $data) : array<string|int, mixed>
Parameters
$data : array<string|int, mixed>

initialized data array

Return values
array<string|int, mixed>

result data array

getClassName()

getClassName - get the class/extension name without namespace

public getClassName([object $class = null ]) : bool
Parameters
$class : object = null

optional class object

Return values
bool

getVersion()

get the extension version

public getVersion() : const
Return values
const

VERSION string

is_network_enabled()

is_network_enabled - set or test extension enabled for use at the network level

public is_network_enabled() : bool
Return values
bool

is_network_option()

is this class network enabled and does option match a value

public is_network_option(string $optionName[, mixed $value = null ]) : bool|mixed
Parameters
$optionName : string

option name

$value : mixed = null

check this value

Return values
bool|mixed

option is set and has value

isEnabled()

isEnabled - set or test extension enabled for use

public isEnabled([bool|string $enabled = null ][, bool $perm = null ]) : bool
Parameters
$enabled : bool|string = null

true|false or other extension name

$perm : bool = null

optional, to permanently set enabled option

Return values
bool

Search results