public function getInfo()
{
$desc = Piwik::translate('UserCountry_GeoIpLocationProviderDesc_Pecl1') . '<br/><br/>' . Piwik::translate('UserCountry_GeoIpLocationProviderDesc_Pecl2');
$installDocs = '<a rel="noreferrer" target="_blank" href="http://piwik.org/faq/how-to/#faq_164">' . Piwik::translate('UserCountry_HowToInstallGeoIpPecl') . '</a>';
$extraMessage = false;
if ($this->isAvailable()) {
$peclDir = ini_get('geoip.custom_directory');
if ($peclDir === false) {
$extraMessage = Piwik::translate('UserCountry_GeoIPPeclCustomDirNotSet', "'geoip.custom_directory'");
} else {
$extraMessage = 'The \'geoip.custom_directory\' PHP ini option is set to \'' . $peclDir . '\'.';
}
$availableDatabaseTypes = array();
if (self::isCityDatabaseAvailable()) {
$availableDatabaseTypes[] = Piwik::translate('UserCountry_City');
}
if (self::isRegionDatabaseAvailable()) {
$availableDatabaseTypes[] = Piwik::translate('UserCountry_Region');
}
if (self::isCountryDatabaseAvailable()) {
$availableDatabaseTypes[] = Piwik::translate('UserCountry_Country');
}
if (self::isISPDatabaseAvailable()) {
$availableDatabaseTypes[] = 'ISP';
}
if (self::isOrgDatabaseAvailable()) {
$availableDatabaseTypes[] = Piwik::translate('UserCountry_Organization');
}
$extraMessage .= '<br/><br/>' . Piwik::translate('UserCountry_GeoIPImplHasAccessTo') . ': <strong>' . implode(', ', $availableDatabaseTypes) . '</strong>.';
$extraMessage = '<strong>' . Piwik::translate('General_Note') . ': </strong>' . $extraMessage;
}
return array('id' => self::ID, 'title' => self::TITLE, 'description' => $desc, 'install_docs' => $installDocs, 'extra_message' => $extraMessage, 'order' => 3);
}