X-Git-Url: https://git.rapsys.eu/airbundle/blobdiff_plain/98712a3906dc1845c209112d0f0cb3303d1a4353..c435a53cb44704beddd9d5dbb668b0e2781cf91c:/Repository/EntityRepository.php diff --git a/Repository/EntityRepository.php b/Repository/EntityRepository.php index fb07c0b..3843649 100644 --- a/Repository/EntityRepository.php +++ b/Repository/EntityRepository.php @@ -67,6 +67,13 @@ class EntityRepository extends BaseEntityRepository { */ protected array $languages = []; + /** + * The current locale + * + * @var string + */ + protected string $locale; + /** * Initializes a new LocationRepository instance * @@ -76,14 +83,18 @@ class EntityRepository extends BaseEntityRepository { * @param SluggerUtil $slugger The SluggerUtil instance * @param TranslatorInterface $translator The TranslatorInterface instance * @param array $languages The languages list + * @param string $locale The current locale */ - public function __construct(EntityManagerInterface $manager, ClassMetadata $class, RouterInterface $router, SluggerUtil $slugger, TranslatorInterface $translator, array $languages) { + public function __construct(EntityManagerInterface $manager, ClassMetadata $class, RouterInterface $router, SluggerUtil $slugger, TranslatorInterface $translator, array $languages, string $locale) { //Call parent constructor parent::__construct($manager, $class); //Set languages $this->languages = $languages; + //Set locale + $this->locale = $locale; + //Set router $this->router = $router; @@ -101,6 +112,7 @@ class EntityRepository extends BaseEntityRepository { //XXX: this allow to make this code table name independent //XXX: remember to place longer prefix before shorter to avoid strange replacings $tables = [ + 'RapsysAirBundle:UserDance' => $qs->getJoinTableName($manager->getClassMetadata('RapsysAirBundle:User')->getAssociationMapping('dances'), $manager->getClassMetadata('RapsysAirBundle:User'), $dp), 'RapsysAirBundle:UserGroup' => $qs->getJoinTableName($manager->getClassMetadata('RapsysAirBundle:User')->getAssociationMapping('groups'), $manager->getClassMetadata('RapsysAirBundle:User'), $dp), 'RapsysAirBundle:UserLocation' => $qs->getJoinTableName($manager->getClassMetadata('RapsysAirBundle:User')->getAssociationMapping('locations'), $manager->getClassMetadata('RapsysAirBundle:User'), $dp), 'RapsysAirBundle:Application' => $qs->getTableName($manager->getClassMetadata('RapsysAirBundle:Application'), $dp), @@ -143,6 +155,9 @@ class EntityRepository extends BaseEntityRepository { ':pnratio' => 1, //XXX: tr_ratio diff over which considered at regular delay ':trdiff' => 5, + //Set locale + //XXX: or $manager->getConnection()->quote($this->locale) ??? + ':locale' => $dp->quoteStringLiteral($this->locale), //XXX: Set limit used to workaround mariadb subselect optimization ':limit' => PHP_INT_MAX, "\t" => '',