Skip to content
Extraits de code Groupes Projets
Valider afb5c3fd rédigé par Matthieu Aubry's avatar Matthieu Aubry
Parcourir les fichiers

Do not store Accept-language full string, only store one detected language fixes #5365

parent 9694cee0
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
*/ */
namespace Piwik\Plugins\UserSettings\Columns; namespace Piwik\Plugins\UserSettings\Columns;
use Piwik\Common;
use Piwik\Piwik; use Piwik\Piwik;
use Piwik\Plugin\Dimension\VisitDimension; use Piwik\Plugin\Dimension\VisitDimension;
use Piwik\Tracker\Action; use Piwik\Tracker\Action;
...@@ -32,12 +33,23 @@ class Language extends VisitDimension ...@@ -32,12 +33,23 @@ class Language extends VisitDimension
*/ */
public function onNewVisit(Request $request, Visitor $visitor, $action) public function onNewVisit(Request $request, Visitor $visitor, $action)
{ {
$language = $request->getBrowserLanguage(); return $this->getSingleLanguageFromAcceptedLanguages($request->getBrowserLanguage());
}
if (empty($language)) { /**
* For better privacy we store only the main language code, instead of the whole browser language string.
*
* @param $acceptLanguagesString
* @return string
*/
protected function getSingleLanguageFromAcceptedLanguages($acceptLanguagesString)
{
if (empty($acceptLanguagesString)) {
return ''; return '';
} }
return substr($language, 0, 20); $allLanguageCodes = array_keys(Common::getLanguagesList());
$languageCode = Common::extractLanguageCodeFromBrowserLanguage($acceptLanguagesString, $allLanguageCodes);
return $languageCode;
} }
} }
\ No newline at end of file
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter