Skip to content

Technical Plugin User_Location

Daniel Neto edited this page Oct 29, 2026 · 1 revision

Technical: User_Location plugin

Resolves geographic information used by location-aware components.

Audience: developers, advanced administrators and AI-assisted diagnosis. Plugin catalog.

Source baseline

  • Review date: 2026-10-29. Method: static source analysis; runtime/provider behavior was not exercised.
  • Code ownership: AVideo Streamer repository.
  • Reported version: 1.0.
  • Source revision: 7d48f2dfc0289236718a3f9fba7c5ffecff4a37f.
  • Entry class file: User_Location.php.

Confirm the installed plugin version independently of the Streamer version. Configuration defaults below are not a dump of this installation's saved settings.

Dependencies

No literal dependency declaration was extracted. This does not prove the plugin is standalone.

Hook integration

Override Implementation
getTags() User_Location.php:9
getPluginMenu() User_Location.php:138

Configuration assignments

These are direct assignments inside getEmptyDataObject(), not evaluated effective defaults. Stored plugins.object_data, globals, structured values and conditional branches may alter runtime behavior. Private/default credential values are omitted.

Field Literal default or expression type Literal source label/help Evidence
autoChangeLanguage true — source
useLanguageFrom Computed/structured; inspect source — source

Files and request surface

This inventory distinguishes implementation files from an API specification. Includes, templates, callbacks and CLI workers are not interchangeable HTTP endpoints. Request-field names below are direct source references, not a complete schema or permission declaration.

File Source role Direct request fields observed
Objects/IP2Location.php class/helper implementation —
User_Location.php plugin entry class debug
cities.json.php JSON entry point; inspect caller and guard country, region
regions.json.php JSON entry point; inspect caller and guard country
testIP.php PHP page/include/worker; inspect caller ip

Data and migrations

No CREATE TABLE names were extracted from available plugin SQL. The plugin can still use core tables, PHP-created schema or another component's data. Apply installation/update behavior through the owning plugin; this reference is not a script for running historical migrations manually.

Main-file named symbols

Visibility and implementation semantics must be checked in source. Nonempty string defaults are represented as . This is a symbol reference, not a stable public API promise.

Function or method Source
getTags() 9
getDescription() 15
getName() 30
getUUID() 34
getPluginVersion() 38
getEmptyDataObject() 42
getSessionLocation() 52
setSessionLocation($value) 63
getThisUserLocation() 69
getLocationFromIP($ip) 90
changeLang($force = false) 94
getLanguage() 123
getPluginMenu() 138

Supporting PHP declarations

These symbols are grouped by source file; inspect the class declaration and visibility before calling them.

Objects/IP2Location.php

Declared classes: IP2Location.

Named symbol Source
getSearchFieldsNames() 11
getTableName() 16
getLocation($ip) 21
isPublicIP($ip) 75
normalizeLocation($row) 84
lookupIPv4($ip) 96
lookupIPv6($ip) 113
Dot2LongIPv6($IPaddr) 127
getCountries() 149
getRegions($country_name) 184
getCities($country_name, $region_name) 221
getNorthAmericaCountries() 256
getUSTerritories() 300
getEuropeanUnionCountries() 316
getASEANCountries() 349
getSouthAmericanCountries() 366
getMiddleEasternCountries() 384
getAfricanCountries() 406
getCaribbeanCountries() 466
getCentralAmericanCountries() 484

Diagnostics and validation

  1. Check the installed/enabled version and the dependencies/settings above.
  2. Identify the actual failing page, request, callback or worker and correlate its timestamp with the AVideo log.
  3. Follow the linked method and caller. Check business-state changes and output artifacts as well as HTTP status.
  4. Reproduce the relevant workflow in a test environment. External provider, Encoder, live-server, storage, payment and authenticated flows require their real integrations.

Shared diagnostic workflow. This page is not a security audit or a claim of end-to-end validation.

Clone this wiki locally