/**
* Set the location provider
*
* @param string $providerId The ID of the provider to use eg 'default', 'geoip_php', ...
* @throws Exception if ID is invalid
*/
public function setLocationProvider($providerId)
{
Piwik::checkUserHasSuperUserAccess();
if (!UserCountry::isGeoLocationAdminEnabled()) {
throw new \Exception('Setting geo location has been disabled in config.');
}
$provider = LocationProvider::setCurrentProvider($providerId);
if ($provider === false) {
throw new Exception("Invalid provider ID: '{$providerId}'.");
}
}