Commit Graph

51 Commits

Author SHA1 Message Date
Claudio Sanches 7f6f4b848d Created WC_Geolite_Integration class to handle with GeoLite2 integration 2018-03-14 13:57:07 -03:00
Claudio Sanches 29b9e9c085 GeoLite2 Reader integration 2018-03-14 12:42:53 -03:00
Claudio Sanches 6fdc1a547d Download new GeoLite2 and deprecated legacy GeoLite 2018-03-13 15:57:32 -03:00
Pathurs 119d3485b1
Remove port from string before checking IP
Fix a bug where if `$_['HTTP_X_FORWARDED_FOR']` contains a port, an `rest_is_ip_address()` returns `bool(false)`.

WooCommerce Version: 3.1.2

Observed results of functions and variables:
```
WC_Geolocation::get_ip_address())	                                  string(0) ""
$_SERVER['X-Real-IP']	                                              string(7) "Not set"
$_SERVER['HTTP_X_FORWARDED_FOR']	                                  string(18) "203.41.99.98:50986"
trim( current( explode( ',', $_SERVER['HTTP_X_FORWARDED_FOR'] ) ) )	  string(18) "203.41.99.98:50986"
$_SERVER['REMOTE_ADDR']	                                              string(12) "203.41.99.98"
```

Old result of calling `WC_Geolocation::geolocate_ip()`:
```array(2) { ["country"]=> string(0) "" ["state"]=> string(0) "" }```

New result of calling `WC_Geolocation::geolocate_ip()`:
```array(2) { ["country"]=> string(2) "AU" ["state"]=> string(0) "" }```
2018-01-02 11:54:26 +11:00
Claudio Sanches 4fb3624604 Fixed coding standards 2017-11-22 14:13:59 -02:00
Claudio Sanches d39a034f14 Drop support for legacy WP versions 2017-11-22 13:55:48 -02:00
Gerhard Potgieter a3fd99ddd9 GeoDB empty file handling (#17541)
* Make sure we do not save empty geodb files, also add checks to ensure we do not read form an empty geodb file.

* Add logger message when deleting file on checking size
2017-11-08 14:28:03 +00:00
claudiulodro 48f03b15ed Use correct server variable 2017-08-04 14:27:22 -07:00
dixitadusara ebe831ccec Issue Missing $ip Variable #15213 2017-05-23 11:50:30 +05:30
Mike Jolley 3ca4ec7927 is_ip_address should be static
Fixes #14970
2017-05-10 18:43:34 +01:00
Claudio Sanches 08db8cebec Check if IP address is valid 2017-05-05 16:58:08 -03:00
Claudio Sanches 486a81bf12 Fixed coding standards 2017-02-17 16:10:15 -02:00
Mike Jolley bbf8e750ce Tidy up includes 2017-02-16 11:46:01 +00:00
Jon Surrell e4d5886427 Replace log `tag` with log `source` 2016-12-29 11:58:43 +01:00
Jon Surrell 691c35e97b Update logger calls 2016-12-29 11:58:42 +01:00
Mike Jolley d3709ce0ef HTTP_X_COUNTRY_CODE 2016-12-20 15:24:30 +00:00
Mike Jolley f67f013957 [2.6] VIP fallback 2016-12-20 11:37:36 +00:00
Mike Jolley c4cf6ba740 [2.6] Change API fallbacks 2016-12-20 11:37:36 +00:00
Aristeides Stathopoulos b063bcfe4c last item in a multiline-array should end in a comma 2016-08-27 04:46:45 +03:00
Mike Jolley cfe28c9b25 Made WC_Logger pluggable via wc_get_logger function.
Closes #11474
2016-08-08 13:59:23 +01:00
Mike Jolley 66c61eebc8 Define full path for includes
Closes #11087
2016-07-27 11:58:43 +01:00
Mike Jolley 56520cd8bc Allow geo ip to be filtered
Closes #11066
2016-06-08 12:18:09 +01:00
Mike Jolley cb27af14c4 Status page geoip database 2016-03-30 13:11:26 +01:00
Mike Jolley dbfba48411 Disable API fallback for geolocating customers
Causes server slowdown due to external calls. Should be off by default.
Closes #10615
2016-03-30 13:02:21 +01:00
Mike Jolley d18e1eb115 woocommerce_geolocation_local_database_path filter 2016-03-30 12:58:50 +01:00
Mike Jolley e09613d7da get_external_ip_address docblock 2016-02-26 13:34:51 +00:00
Shiva Poudel 70496e5864 Tweak missing fallback param in geolocate_ip 2015-11-11 06:19:01 +05:45
Claudio Sanches 5893875b0c Removed period for file headers 2015-11-03 11:53:50 -02:00
Claudio Sanches ee30b5b308 Fixed php docs standards 2015-11-03 11:31:20 -02:00
Mike Jolley afbfd2b913 Tweak gzread 2015-07-15 16:37:29 +01:00
Claudio Sanches 9eb3b6ddf9 Changed all requests with wp_remote_* to wp_safe_remote_* 2015-06-01 13:28:55 +01:00
Claudio Sanches 1caa5ebcee Improved WC_Geolocation support for IPv6 #8184 2015-05-26 17:32:47 -03:00
Claudio Sanches 44dba5036c Added geolocate IPv6 support, closes #8184 2015-05-26 14:41:13 -03:00
Mike Jolley 470b259a8a Don't download GeoIP Database until geolocation option is enabled in settings. 2015-02-18 12:53:24 +00:00
Mike Jolley 81b7ed934e Call Logger before logging errors 2015-02-17 16:20:26 +00:00
Mike Jolley d1c19d5782 Check for GZIP support 2015-02-17 16:19:33 +00:00
Mike Jolley e1cb2c454b Remove ip-api at their request Closes #7443 2015-02-16 10:25:13 +00:00
Claudio Sanches 3a9e459b2c Created WC_Geo_IP_Record class 2015-02-11 15:57:16 -02:00
Claudio Sanches 5389dc3812 Created WC_Geo_IP class 2015-02-11 15:51:50 -02:00
Mike Jolley c46f7f236d When the geolocation database cannot download, ensure the correct method is used to log the error. 2015-02-11 16:47:52 +00:00
Mike Jolley bc2af10cc6 Update languages and geolocation when installed 2015-02-11 14:38:55 +00:00
Gerhard 2339f5aee9 Better proxy server support for get_ip_address 2015-02-11 12:07:12 +02:00
James Collins 7e20fb9a3d Use wc_clean to trim and sanitize external IP
As per suggestion from @claudiosmweb, wc_clean() is more full featured than trim().

See #7335
2015-02-10 07:54:26 +08:00
James Collins b5cc22e8f5 Geolocation: strip whitespace when obtaining external IP
The "ip.appspot" service returns an IP address plus a  new line character in its response.

An example response from "ip.appspot" is:

```123.123.123.123\n```

This fix strip whitespace from the response before proceeding.
2015-02-09 14:00:05 +08:00
Mike Jolley 2809986fcf Dead var 2015-02-03 14:56:01 +00:00
Mike Jolley 9299f3e0b2 Check remote_addr is set 2015-01-05 10:57:21 +00:00
Mike Jolley 5ee068071f Support HTTP_CF_IPCOUNTRY 2015-01-01 12:43:49 +00:00
Mike Jolley 932263cf0a Check for geoiprecord class 2015-01-01 12:41:04 +00:00
Mike Jolley caac9768a7 Added more fallbacks for API geoIP 2014-12-30 11:11:17 +00:00
Mike Jolley 4e8e90a8de Support dev environment 2014-12-23 22:03:10 +00:00