Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordiosmosis <diosmosis@users.noreply.github.com>2020-01-08 05:28:48 +0300
committerThomas Steur <tsteur@users.noreply.github.com>2020-01-08 05:28:48 +0300
commit4ad9f4ac89e6cbdb7b7c50bed4155193eb762dcc (patch)
tree693f09b52652174d1cadafc0d4c605e50818f878 /plugins/UserCountry
parent0d2f4e2aaac43817b37f52789bc3c98e07540cfb (diff)
Allow using and auto-updating dbip databases and default to db-ip.com lite in the UI (#15319)
Diffstat (limited to 'plugins/UserCountry')
-rw-r--r--plugins/UserCountry/Controller.php36
-rw-r--r--plugins/UserCountry/lang/en.json48
-rw-r--r--plugins/UserCountry/templates/_updaterManage.twig5
-rw-r--r--plugins/UserCountry/templates/adminIndex.twig8
4 files changed, 48 insertions, 49 deletions
diff --git a/plugins/UserCountry/Controller.php b/plugins/UserCountry/Controller.php
index fb6693c96b..84e7fd2376 100644
--- a/plugins/UserCountry/Controller.php
+++ b/plugins/UserCountry/Controller.php
@@ -12,6 +12,7 @@ use Exception;
use Piwik\Common;
use Piwik\DataTable\Renderer\Json;
use Piwik\Http;
+use Piwik\Date;
use Piwik\IP;
use Piwik\Piwik;
use Piwik\Plugin\Manager;
@@ -112,7 +113,7 @@ class Controller extends \Piwik\Plugin\ControllerAdmin
Piwik::checkUserHasSuperUserAccess();
if ($this->isGeoIp2Enabled()) {
- return $this->downloadFreeGeoIP2DB();
+ return $this->downloadFreeDBIPLiteDB();
}
if ($_SERVER["REQUEST_METHOD"] == "POST") {
@@ -148,7 +149,7 @@ class Controller extends \Piwik\Plugin\ControllerAdmin
}
/**
- * Starts or continues download of GeoLite2-City.mmdb.
+ * Starts or continues download of DBIP-City.mmdb.
*
* To avoid a server/PHP timeout & to show progress of the download to the user, we
* use the HTTP Range header to download one chunk of the file at a time. After each
@@ -164,17 +165,17 @@ class Controller extends \Piwik\Plugin\ControllerAdmin
* 'next_screen' - When the download finishes, this is the next screen that should be shown.
* 'error' - When an error occurs, the message is returned in this property.
*/
- public function downloadFreeGeoIP2DB()
+ public function downloadFreeDBIPLiteDB()
{
$this->dieIfGeolocationAdminIsDisabled();
Piwik::checkUserHasSuperUserAccess();
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$this->checkTokenInUrl();
Json::sendHeaderJSON();
- $outputPath = GeoIp2::getPathForGeoIpDatabase('GeoLite2-City.tar') . '.gz';
+ $outputPath = GeoIp2::getPathForGeoIpDatabase('DBIP-City.mmdb') . '.gz';
try {
$result = Http::downloadChunk(
- $url = GeoIp2::GEO_LITE_URL,
+ $url = GeoIp2::getDbIpLiteUrl(),
$outputPath,
$continue = Common::getRequestVar('continue', true, 'int')
);
@@ -182,7 +183,7 @@ class Controller extends \Piwik\Plugin\ControllerAdmin
// if the file is done
if ($result['current_size'] >= $result['expected_file_size']) {
try {
- GeoIP2AutoUpdater::unzipDownloadedFile($outputPath, 'loc', $unlink = true);
+ GeoIP2AutoUpdater::unzipDownloadedFile($outputPath, 'loc', $url, $unlink = true);
} catch (\Exception $e) {
// remove downloaded file on error
unlink($outputPath);
@@ -191,9 +192,9 @@ class Controller extends \Piwik\Plugin\ControllerAdmin
// setup the auto updater
GeoIP2AutoUpdater::setUpdaterOptions(array(
- 'loc' => GeoIp2::GEO_LITE_URL,
- 'period' => GeoIP2AutoUpdater::SCHEDULE_PERIOD_MONTHLY,
- ));
+ 'loc' => GeoIp2::getDbIpLiteUrl(),
+ 'period' => GeoIP2AutoUpdater::SCHEDULE_PERIOD_MONTHLY,
+ ));
$result['settings'] = GeoIP2AutoUpdater::getConfiguredUrls();
}
@@ -225,6 +226,7 @@ class Controller extends \Piwik\Plugin\ControllerAdmin
if ($this->isGeoIp2Enabled()) {
// Get GeoIPLegacy Update information to show them
$urls = GeoIPAutoUpdater::getConfiguredUrls();
+ $today = Date::today();
$view->geoIPLegacyLocUrl = $urls['loc'];
$view->geoIPLegacyIspUrl = $urls['isp'];
@@ -237,8 +239,9 @@ class Controller extends \Piwik\Plugin\ControllerAdmin
$view->geoIPIspUrl = $urls['isp'];
$view->geoIPUpdatePeriod = GeoIP2AutoUpdater::getSchedulePeriod();
- $view->geoLiteUrl = GeoIp2::GEO_LITE_URL;
- $view->geoLiteFilename = 'GeoLite2-City.mmdb';
+ $view->dbipLiteUrl = GeoIp2::getDbIpLiteUrl();
+ $view->dbipLiteFilename = "dbip-city-lite-{$today->toString('Y-m')}.mmdb";
+ $view->dbipLiteDesiredFilename = "DBIP-City.mmdb";
$view->nextRunTime = GeoIP2AutoUpdater::getNextRunTime();
$lastRunTime = GeoIP2AutoUpdater::getLastRunTime();
@@ -344,8 +347,7 @@ class Controller extends \Piwik\Plugin\ControllerAdmin
if ($this->isGeoIp2Enabled()) {
$url = GeoIP2AutoUpdater::getConfiguredUrl($key);
- $ext = GeoIP2AutoUpdater::getGeoIPUrlExtension($url);
- $filename = GeoIp2::$dbNames[$key][0] . '.' . $ext;
+ $filename = GeoIP2AutoUpdater::getZippedFilenameToDownloadTo($url, $key, GeoIP2AutoUpdater::getGeoIPUrlExtension($url));
$outputPath = GeoIp2::getPathForGeoIpDatabase($filename);
} else {
$url = GeoIPAutoUpdater::getConfiguredUrl($key);
@@ -365,7 +367,7 @@ class Controller extends \Piwik\Plugin\ControllerAdmin
// if the file is done
if ($result['current_size'] >= $result['expected_file_size']) {
if ($this->isGeoIp2Enabled()) {
- GeoIP2AutoUpdater::unzipDownloadedFile($outputPath, $key, $unlink = true);
+ GeoIP2AutoUpdater::unzipDownloadedFile($outputPath, $key, $url, $unlink = true);
} else {
GeoIPAutoUpdater::unzipDownloadedFile($outputPath, $unlink = true);
}
@@ -435,10 +437,9 @@ class Controller extends \Piwik\Plugin\ControllerAdmin
$missingDbs = GeoIPAutoUpdater::getMissingDatabases();
if (!empty($missingDbs)) {
$missingDbKey = $missingDbs[0];
- $missingDbName = GeoIp::$dbNames[$missingDbKey][0];
$url = GeoIPAutoUpdater::getConfiguredUrl($missingDbKey);
- $link = '<a href="' . $url . '">' . $missingDbName . '</a>';
+ $link = '<a href="' . $url . '">' . $url . '</a>';
return array(
'to_download' => $missingDbKey,
@@ -458,10 +459,9 @@ class Controller extends \Piwik\Plugin\ControllerAdmin
$missingDbs = GeoIP2AutoUpdater::getMissingDatabases();
if (!empty($missingDbs)) {
$missingDbKey = $missingDbs[0];
- $missingDbName = GeoIp2::$dbNames[$missingDbKey][0];
$url = GeoIP2AutoUpdater::getConfiguredUrl($missingDbKey);
- $link = '<a href="' . $url . '">' . $missingDbName . '</a>';
+ $link = '<a href="' . $url . '">' . $url . '</a>';
return array(
'to_download' => $missingDbKey,
diff --git a/plugins/UserCountry/lang/en.json b/plugins/UserCountry/lang/en.json
index 1f2f375e7d..a707f363e8 100644
--- a/plugins/UserCountry/lang/en.json
+++ b/plugins/UserCountry/lang/en.json
@@ -3,10 +3,10 @@
"AssumingNonApache": "Cannot find apache_get_modules function, assuming non-Apache webserver.",
"CannotFindGeoIPDatabaseInArchive": "Cannot find %1$s file in tar archive %2$s!",
"CannotFindGeoIPServerVar": "The %s variable is not set. Your server may not be configured correctly.",
- "CannotFindPeclGeoIPDb": "Could not find a country, region or city database for the GeoIP PECL module. Make sure your GeoIP database is located in %1$s and is named %2$s or %3$s otherwise the PECL module will not notice it.",
+ "CannotFindPeclGeoIPDb": "Could not find a country, region or city database for the GeoIP PECL module. Make sure your geolocation database is located in %1$s and is named %2$s or %3$s otherwise the PECL module will not notice it.",
"CannotListContent": "Couldn't list content for %1$s: %2$s",
"CannotLocalizeLocalIP": "IP address %s is a local address and cannot be geolocated.",
- "CannotSetupGeoIPAutoUpdating": "It seems like you're storing your GeoIP databases outside of Matomo (we can tell since there are no databases in the misc subdirectory, but your GeoIP is working). Matomo cannot automatically update your GeoIP databases if they are located outside of the misc directory.",
+ "CannotSetupGeoIPAutoUpdating": "It seems like you're storing your geolocation databases outside of Matomo (we can tell since there are no databases in the misc subdirectory, but your GeoIP is working). Matomo cannot automatically update your geolocation databases if they are located outside of the misc directory.",
"CannotUnzipDatFile": "Could not unzip dat file in %1$s: %2$s",
"City": "City",
"CityAndCountry": "%1$s, %2$s",
@@ -21,12 +21,12 @@
"VisitLocation": "Visit Location",
"CurrentLocationIntro": "According to this provider, your current location is",
"DefaultLocationProviderDesc1": "The default location provider guesses a visitor's country based on the language they use.",
- "DefaultLocationProviderDesc2": "This is not very accurate, so %1$swe recommend installing and using %2$sGeoIP%3$s.%4$s",
+ "DefaultLocationProviderDesc2": "This is not very accurate, so %1$swe recommend installing and using %2$sa geolocation database%3$s.%4$s",
"DefaultLocationProviderExplanation": "You are using the default location provider, which means Matomo will guess the visitor's location based on the language they use. %1$sRead this%2$s to learn how to setup more accurate geolocation.",
"DistinctCountries": "%s distinct countries",
"DownloadingDb": "Downloading %s",
"DownloadNewDatabasesEvery": "Update databases every",
- "FatalErrorDuringDownload": "A fatal error occurred while downloading this file. There might be something wrong with your internet connection, with the GeoIP database you downloaded or Matomo. Try downloading and installing it manually.",
+ "FatalErrorDuringDownload": "A fatal error occurred while downloading this file. There might be something wrong with your internet connection, with the geolocation database you downloaded or Matomo. Try downloading and installing it manually.",
"FoundApacheModules": "Matomo found the following Apache modules",
"FromDifferentCities": "different cities",
"GeoIPCannotFindMbstringExtension": "Cannot find the %1$s function. Please make sure the %2$s extension is installed and loaded.",
@@ -34,10 +34,10 @@
"GeoIPDocumentationSuffix": "In order to see data for this report, you must setup GeoIP in the Geolocation admin tab. The commercial %1$sMaxmind%2$s GeoIP databases are more accurate than the free ones. To see how accurate they are, click %3$shere%4$s.",
"GeoIPNoDatabaseFound": "This GeoIP implementation was not able to find any database.",
"GeoIPImplHasAccessTo": "This GeoIP implementation has access to the following types of databases",
- "GeoIPIncorrectDatabaseFormat": "Your GeoIP database does not seem to have the correct format. It may be corrupt. Make sure you are using the binary version and try replacing it with another copy.",
- "GeoIpLocationProviderDesc_Pecl1": "This location provider uses a GeoIP database and a PECL module to accurately and efficiently determine the location of your visitors.",
+ "GeoIPIncorrectDatabaseFormat": "Your geolocation database does not seem to have the correct format. It may be corrupt. Make sure you are using the binary version and try replacing it with another copy.",
+ "GeoIpLocationProviderDesc_Pecl1": "This location provider uses a geolocation database and a PECL module to accurately and efficiently determine the location of your visitors.",
"GeoIpLocationProviderDesc_Pecl2": "There are no limitations with this provider, so it is the one we recommend using.",
- "GeoIpLocationProviderDesc_Php1": "This location provider is the simplest to install as it does not require server configuration (ideal for shared hosting!). It uses a GeoIP database and MaxMind's PHP API to accurately determine the location of your visitors.",
+ "GeoIpLocationProviderDesc_Php1": "This location provider is the simplest to install as it does not require server configuration (ideal for shared hosting!). It uses a geolocation database and MaxMind's PHP API to accurately determine the location of your visitors.",
"GeoIpLocationProviderDesc_Php2": "If your website gets a lot of traffic, you may find that this location provider is too slow. In this case, you should install the %1$sPECL extension%2$s or a %3$sserver module%4$s.",
"GeoIpLocationProviderDesc_ServerBased1": "This location provider uses the GeoIP module that has been installed in your HTTP server. This provider is fast and accurate, but %1$scan only be used with normal browser tracking.%2$s",
"GeoIpLocationProviderDesc_ServerBased2": "If you have to import log files or do something else that requires setting IP addresses, use the %1$sPECL GeoIP implementation (recommended)%2$s or the %3$sPHP GeoIP implementation%4$s.",
@@ -46,9 +46,9 @@
"GeoIPNoServerVars": "Matomo cannot find any GeoIP %s variables.",
"GeoIPPeclCustomDirNotSet": "The %s PHP ini option is not set.",
"GeoIPServerVarsFound": "Matomo detects the following GeoIP %s variables",
- "GeoIPUpdaterInstructions": "Enter the download links for your databases below. If you've purchased databases from %3$sMaxMind%4$s, you can find these links %1$shere%2$s. Please contact %3$sMaxMind%4$s if you have trouble accessing them.",
- "GeoIPUpdaterIntro": "Matomo is currently managing updates for the following GeoIP databases",
- "GeoLiteCityLink": "If you're using the GeoLite City database, use this link: %1$s%2$s%3$s",
+ "GeoIPUpdaterInstructions": "Enter the download links for your databases below. If you've purchased databases from %3$sdbip%4$s or %1$sMaxMind%2$s, you can find these links in your dbip or MaxMind account. Please contact your geolocation database provider if you have trouble accessing them.",
+ "GeoIPUpdaterIntro": "Matomo is currently managing updates for the following databases",
+ "GeoLiteCityLink": "If you're using the dbip city lite database, use this link: %1$s%2$s%3$s",
"Geolocation": "Geolocation",
"GeolocationPageDesc": "On this page you can change how Matomo determines visitor locations.",
"getCityDocumentation": "This report shows the cities your visitors were in when they accessed your website.",
@@ -56,20 +56,20 @@
"getCountryDocumentation": "This report shows which country your visitors were in when they accessed your website.",
"getRegionDocumentation": "This report shows which region your visitors were in when they accessed your website.",
"HowToInstallApacheModule": "How do I install the GeoIP module for Apache?",
- "HowToInstallGeoIPDatabases": "How do I get the GeoIP databases?",
+ "HowToInstallGeoIPDatabases": "How do I get geolocation databases?",
"HowToInstallGeoIpPecl": "How do I install the GeoIP PECL extension?",
"HowToInstallNginxModule": "How do I install the GeoIP module for Nginx?",
- "HowToSetupGeoIP": "How to setup accurate geolocation with GeoIP",
- "HowToSetupGeoIP_Step1": "%1$sDownload%2$s the GeoLite City database from %3$sMaxMind%4$s.",
- "HowToSetupGeoIP_Step2": "Extract this file and copy the result, %1$s into the %2$smisc%3$s Matomo subdirectory (you can do this either by FTP or SSH).",
- "HowToSetupGeoIP_Step3": "Reload this screen. The %1$sGeoIP (PHP)%2$s provider will now be %3$sInstalled%4$s. Select it.",
- "HowToSetupGeoIP_Step4": "And you're done! You've just setup Matomo to use GeoIP which means you'll be able to see the regions and cities of your visitors along with very accurate country information.",
+ "HowToSetupGeoIP": "How to setup accurate geolocation with dbip",
+ "HowToSetupGeoIP_Step1": "%1$sDownload%2$s the DBIP City Lite database from %3$sdbip%4$s.",
+ "HowToSetupGeoIP_Step2": "Extract this file and copy the result, %1$s into the %2$smisc%3$s Matomo subdirectory and rename it to %4$s (you can do this either by FTP or SSH).",
+ "HowToSetupGeoIP_Step3": "Reload this screen. The %1$sDBIP / GeoIP (PHP)%2$s provider will now be %3$sInstalled%4$s. Select it.",
+ "HowToSetupGeoIP_Step4": "And you're done! You've just setup Matomo to use DBIP which means you'll be able to see the regions and cities of your visitors along with very accurate country information.",
"HowToSetupGeoIPIntro": "You do not appear to have accurate Geolocation setup. This is a useful feature and without it you will not see accurate and complete location information for your visitors. Here's how you can quickly start using it:",
"HttpServerModule": "HTTP Server Module",
"InvalidGeoIPUpdatePeriod": "Invalid period for the GeoIP updater: %1$s. Valid values are %2$s.",
- "IPurchasedGeoIPDBs": "I purchased more %1$saccurate databases from MaxMind%2$s and want to setup automatic updates.",
+ "IPurchasedGeoIPDBs": "I purchased more accurate databases from %3$sdbip%4$s or %1$sMaxMind%2$s and want to setup automatic updates.",
"ISPDatabase": "ISP Database",
- "IWantToDownloadFreeGeoIP": "I want to download the free GeoIP database...",
+ "IWantToDownloadFreeGeoIP": "I want to download the free DBIP database...",
"Latitude": "Latitude",
"Latitudes": "Latitudes",
"Location": "Location",
@@ -82,15 +82,15 @@
"NoDataForGeoIPReport2": "To enable accurate geolocation, change the settings %1$shere%2$s and use a %3$scity level database%4$s.",
"Organization": "Organization",
"OrgDatabase": "Organization Database",
- "PeclGeoIPNoDBDir": "The PECL module is looking for databases in %1$s, but this directory does not exist. Please create it and add the GeoIP databases to it. Alternatively, you can set %2$s to the correct directory in your php.ini file.",
- "PeclGeoLiteError": "Your GeoIP database in %1$s is named %2$s. Unfortunately, the PECL module will not recognize it with this name. Please rename it to %3$s.",
- "PiwikNotManagingGeoIPDBs": "Matomo is not currently managing any GeoIP databases.",
+ "PeclGeoIPNoDBDir": "The PECL module is looking for databases in %1$s, but this directory does not exist. Please create it and add the geolocation databases to it. Alternatively, you can set %2$s to the correct directory in your php.ini file.",
+ "PeclGeoLiteError": "Your geolocation database in %1$s is named %2$s. Unfortunately, the PECL module will not recognize it with this name. Please rename it to %3$s.",
+ "PiwikNotManagingGeoIPDBs": "Matomo is not currently managing any DBIP or MaxMind databases.",
"PluginDescription": "Reports the location of your visitors: country, region, city and geographic coordinates (latitude\/longitude).",
"Region": "Region",
- "SetupAutomaticUpdatesOfGeoIP": "Setup automatic updates of GeoIP databases",
+ "SetupAutomaticUpdatesOfGeoIP": "Setup automatic updates of geolocation databases",
"SubmenuLocations": "Locations",
- "TestIPLocatorFailed": "Matomo tried checking the location of a known IP address (%1$s), but your server returned %2$s. If this provider were configured correctly, it would return %3$s.",
- "ThisUrlIsNotAValidGeoIPDB": "The downloaded file is not a valid GeoIP database. Please re-check the URL or download the file manually.",
+ "TestIPLocatorFailed": "Matomo tried checking the location of a known IP address (%1$s), but your server returned no information. This provider may not be configured correctly (the geolocation database may be named incorrectly or located in the wrong directory, for instance).",
+ "ThisUrlIsNotAValidGeoIPDB": "The downloaded file is not a valid geolocation database. Please re-check the URL or download the file manually.",
"ToGeolocateOldVisits": "To get location data for your old visits, use the script described %1$shere%2$s.",
"UnsupportedArchiveType": "Encountered unsupported archive type %1$s.",
"UpdaterHasNotBeenRun": "The updater has never been run.",
diff --git a/plugins/UserCountry/templates/_updaterManage.twig b/plugins/UserCountry/templates/_updaterManage.twig
index b5cab0aa11..be20ec9b41 100644
--- a/plugins/UserCountry/templates/_updaterManage.twig
+++ b/plugins/UserCountry/templates/_updaterManage.twig
@@ -1,9 +1,8 @@
<div ng-show="locationUpdater.geoipDatabaseInstalled" id="geoipdb-update-info">
<p>
- {{ 'UserCountry_GeoIPUpdaterInstructions'|translate('<a href="http://www.maxmind.com/en/download_files?rId=piwik" _target="blank">','</a>',
- '<a href="http://www.maxmind.com/?rId=piwik">','</a>')|raw }}
+ {{ 'UserCountry_GeoIPUpdaterInstructions'|translate('<a href="http://www.maxmind.com/?rId=piwik">','</a>','<a rel="noreferrer noopener" href="https://db-ip.com/?refid=mtm">','</a>')|raw }}
<br/><br/>
- {{ 'UserCountry_GeoLiteCityLink'|translate("<a href='"~geoLiteUrl~"'>",geoLiteUrl,'</a>')|raw }}
+ {{ 'UserCountry_GeoLiteCityLink'|translate("<a href='"~dbipLiteUrl~"'>",dbipLiteUrl,'</a>')|raw }}
<span ng-show="locationUpdater.geoipDatabaseInstalled">
<br/><br/>{{ 'UserCountry_GeoIPUpdaterIntro'|translate }}:
diff --git a/plugins/UserCountry/templates/adminIndex.twig b/plugins/UserCountry/templates/adminIndex.twig
index 1a093612b0..ac9e2c1f59 100644
--- a/plugins/UserCountry/templates/adminIndex.twig
+++ b/plugins/UserCountry/templates/adminIndex.twig
@@ -18,8 +18,8 @@
<h3 style="margin-top:0;">{{ 'UserCountry_HowToSetupGeoIP'|translate }}</h3>
<p>{{ 'UserCountry_HowToSetupGeoIPIntro'|translate }}</p>
<ul style="list-style:disc !important;margin-left:2em;">
- <li style="list-style-type: disc !important;">{{ 'UserCountry_HowToSetupGeoIP_Step1'|translate('<a rel="noreferrer noopener" href="'~geoLiteUrl~'">','</a>','<a rel="noreferrer noopener" target="_blank" href="http://www.maxmind.com/?rId=piwik">','</a>')|raw }}</li>
- <li style="list-style-type: disc !important;">{{ 'UserCountry_HowToSetupGeoIP_Step2'|translate("'"~geoLiteFilename~"'",'<strong>','</strong>')|raw }}</li>
+ <li style="list-style-type: disc !important;">{{ 'UserCountry_HowToSetupGeoIP_Step1'|translate('<a rel="noreferrer noopener" href="'~dbipLiteUrl~'">','</a>','<a rel="noreferrer noopener" target="_blank" href="http://db-ip.com/?refid=mtm">','</a>')|raw }}</li>
+ <li style="list-style-type: disc !important;">{{ 'UserCountry_HowToSetupGeoIP_Step2'|translate("'"~dbipLiteFilename~"'",'<strong>','</strong>','<strong>'~dbipLiteDesiredFilename~'</strong>')|raw }}</li>
<li style="list-style-type: disc !important;">{{ 'UserCountry_HowToSetupGeoIP_Step3'|translate('<strong>','</strong>','<span style="color:green"><strong>','</strong></span>')|raw }}</li>
<li style="list-style-type: disc !important;">{{ 'UserCountry_HowToSetupGeoIP_Step4'|translate }}</li>
</ul>
@@ -146,7 +146,7 @@
<p>{{ 'UserCountry_IWantToDownloadFreeGeoIP'|translate|raw }}</p>
</div>
<div class="geoipdb-column-2 col s6">
- <p>{{ 'UserCountry_IPurchasedGeoIPDBs'|translate('<a href="http://www.maxmind.com/en/geolocation_landing?rId=piwik">','</a>')|raw }}</p>
+ <p>{{ 'UserCountry_IPurchasedGeoIPDBs'|translate('<a rel="noreferrer noopener" href="http://www.maxmind.com/en/geolocation_landing?rId=piwik">','</a>','<a rel="noreferrer noopener" href="https://db-ip.com/db/?refid=mtm">','</a>')|raw }}</p>
</div>
<div class="geoipdb-column-1 col s6">
<input type="button" class="btn"
@@ -163,7 +163,7 @@
</div>
<div id="geoipdb-screen2-download" ng-show="locationUpdater.showFreeDownload">
<div piwik-progressbar
- label="{{ ('UserCountry_DownloadingDb'|translate('<a href="'~geoLiteUrl~'">'~geoLiteFilename~'</a>') ~ '...')|json_encode }}"
+ label="{{ ('UserCountry_DownloadingDb'|translate('<a href="'~dbipLiteUrl~'">'~dbipLiteFilename~'</a>') ~ '...')|json_encode }}"
progress="locationUpdater.progressFreeDownload">
</div>
</div>