=== ebrao_globe_statistics ===
Contributors: moqiangshou
Tags: visitors, statistics, globe, analytics, visualization
Requires at least: 6.2
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 3.0.2
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Display privacy-friendly country visit statistics on an interactive, customizable globe.

== Description ==

ebrao_globe_statistics records anonymous daily visit counts by country and displays the results on an interactive globe.

Features include:

* Interactive rotating globe with drag controls.
* Configurable colors, grid density, rotation speed, focus country, and flight paths.
* Adjustable reporting period through shortcode attributes.
* Standalone aggregate statistics with no dependency on another analytics plugin.
* Locally bundled visualization libraries and map data.

The plugin stores only the date, a two-letter country code, and an aggregate counter. It does not store IP addresses. Country detection requires one of these server request headers:

* `CF-IPCountry` (Cloudflare)
* `X-Country-Code`
* `GEOIP_COUNTRY_CODE`

Use `[visitor_globe]` to display the globe.

Optional shortcode attributes:

* `height`: Globe height in pixels. The default is `540`.
* `days`: Number of recent calendar days to include. The default is `30`.

Example:

`[visitor_globe height="540" days="30"]`

The plugin bundles D3, TopoJSON Client, and World Atlas data locally. It does not contact a third-party CDN when rendering the globe.

Third-party source code:

* D3: https://github.com/d3/d3
* TopoJSON Client: https://github.com/topojson/topojson-client
* World Atlas: https://github.com/topojson/world-atlas

== Privacy ==

The plugin does not send visitor data to the plugin author or any external service. It does not store IP addresses, user agents, URLs, or user identifiers. A request to the site's own WordPress REST API increments an aggregate counter containing only the WordPress-site date and the country code supplied by the host. Logged-in users are excluded. Browser session storage is used to avoid duplicate counts during the same browser session.

== Installation ==

1. Upload the `ebrao_globe_statistics` folder to `/wp-content/plugins/` or install the ZIP in Plugins > Add New.
2. Activate ebrao_globe_statistics.
3. Confirm that Cloudflare or your web server supplies one of the supported country-code headers.
4. Add `[visitor_globe]` to a page or post.
5. Customize the display under Statistics Visualization > Global Globe.

== Screenshots ==

1. Interactive globe displayed on a public page with anonymous country visit markers and flight paths.
2. Visitor Globe settings page for customizing map colors, rotation, visitor dots, and the focus country.

== Frequently Asked Questions ==

= Does the plugin store IP addresses? =

No. It stores only daily aggregate counts by country code.

= Why is no visit data appearing? =

Your server must supply a supported two-letter country-code request header. Logged-in users and wp-admin requests are not counted. A browser session is counted once until its session storage is cleared.

= Does it require another statistics plugin? =

No. It is fully standalone and does not read another plugin's tables or functions.

== Changelog ==

= 3.0.2 =

* Added the plugin owner, moqiangshou, to the contributors list.
* Loaded all JavaScript and CSS through the WordPress enqueue APIs.

= 3.0.1 =

* Fixed WordPress content filtering encoding JavaScript logical operators, which prevented the globe from rendering.

= 3.0.0 =

* Removed the Ultimate Behavior Tracker data-source integration and selector.
* Removed the China heatmap menu, shortcode, scripts, and dashboard widget.
* Kept only standalone anonymous country-level visit statistics.
* Bundled visualization libraries and map data locally instead of loading runtime CDN assets.
* Aligned stored visit dates with the WordPress site timezone.
* Added complete uninstall cleanup.
