ofaj
Julio 9 years ago
parent 637f01cd14
commit 1664abda96
  1. 3
      app/config/sonata/sonata_translation.yml
  2. 14
      src/Chamilo/CoreBundle/EventListener/LegacyLoginListener.php
  3. 1
      src/Chamilo/CoreBundle/EventListener/UserLocaleListener.php

@ -1,8 +1,9 @@
lunetics_locale:
guessing_order:
- session
- query
- router
- session
#- browser
allowed_locales: '%locales%'

@ -60,6 +60,20 @@ class LegacyLoginListener implements EventSubscriberInterface
$completeUser = $this->container->get('doctrine')->getRepository('ChamiloUserBundle:User')->findOneBy($criteria);
$user->setLanguage($completeUser->getLanguage());
$languages = ['german' => 'de', 'english' => 'en', 'spanish' => 'es', 'french' => 'fr'];
if ($user && isset($languages[$user->getLanguage()])) {
$locale = $languages[$user->getLanguage()];
$user->setLocale($locale);
$request->getSession()->set('_locale_user', $locale);
// if no explicit locale has been set on this request, use one from the session
$request->setLocale($locale);
$request->getSession()->set('_locale', $locale);
}
$token = new UsernamePasswordToken($user, null, "main", $user->getRoles());
$this->tokenStorage->setToken($token); //now the user is logged in

@ -51,6 +51,7 @@ class UserLocaleListener
if ($token) {
$user = $token->getUser();
if ($user && isset($languages[$user->getLanguage()])) {
$user->setLocale($languages[$user->getLanguage()]);
$this->session->set('_locale', $user->getLocale());

Loading…
Cancel
Save