X-Git-Url: https://git.rapsys.eu/userbundle/blobdiff_plain/36ebf250be87fc879c8718a4f37a1a57e82121d8..23944f72bf54cef447e2034434e1c5df303f3083:/Controller/AbstractController.php

diff --git a/Controller/AbstractController.php b/Controller/AbstractController.php
index 8750a20..77cf860 100644
--- a/Controller/AbstractController.php
+++ b/Controller/AbstractController.php
@@ -14,6 +14,10 @@ namespace Rapsys\UserBundle\Controller;
 use Doctrine\ORM\EntityManagerInterface;
 use Doctrine\Persistence\ManagerRegistry;
 
+use Rapsys\PackBundle\Util\SluggerUtil;
+
+use Rapsys\UserBundle\RapsysUserBundle;
+
 use Psr\Container\ContainerInterface;
 use Psr\Log\LoggerInterface;
 
@@ -36,16 +40,17 @@ use Symfony\Contracts\Translation\TranslatorInterface;
 
 use Twig\Environment;
 
-use Rapsys\PackBundle\Util\SluggerUtil;
-
-use Rapsys\UserBundle\RapsysUserBundle;
-
 /**
- * Provides common features needed in controllers.
- *
  * {@inheritdoc}
+ *
+ * Provides common features needed in controllers.
  */
 abstract class AbstractController extends BaseAbstractController implements ServiceSubscriberInterface {
+	/**
+	 * Alias string
+	 */
+	protected string $alias;
+
 	/**
 	 * Config array
 	 */
@@ -93,7 +98,7 @@ abstract class AbstractController extends BaseAbstractController implements Serv
 	 */
 	public function __construct(protected CacheInterface $cache, protected AuthorizationCheckerInterface $checker, protected ContainerInterface $container, protected ManagerRegistry $doctrine, protected FormFactoryInterface $factory, protected UserPasswordHasherInterface $hasher, protected LoggerInterface $logger, protected MailerInterface $mailer, protected EntityManagerInterface $manager, protected RouterInterface $router, protected Security $security, protected SluggerUtil $slugger, protected RequestStack $stack, protected TranslatorInterface $translator, protected Environment $twig, protected int $limit = 5) {
 		//Retrieve config
-		$this->config = $container->getParameter(RapsysUserBundle::getAlias());
+		$this->config = $container->getParameter($this->alias = RapsysUserBundle::getAlias());
 
 		//Get current request
 		$this->request = $stack->getCurrentRequest();
@@ -198,7 +203,7 @@ abstract class AbstractController extends BaseAbstractController implements Serv
 								}
 
 								//Translate tmp value
-								$tmp = $this->translator->trans($tmp);
+								$tmp = $this->translator->trans($tmp, [], $this->alias);
 
 								//Iterate on keys
 								foreach(array_reverse($keys) as $curkey) {
@@ -223,7 +228,7 @@ abstract class AbstractController extends BaseAbstractController implements Serv
 
 								//Iterate on other locales
 								foreach(array_diff($locales, [$locale]) as $other) {
-									$titles[$other] = $this->translator->trans($this->config['default']['languages'][$locale], [], null, $other);
+									$titles[$other] = $this->translator->trans($this->config['default']['languages'][$locale], [], $this->alias, $other);
 								}
 
 								//Retrieve route matching path
@@ -239,13 +244,14 @@ abstract class AbstractController extends BaseAbstractController implements Serv
 								if ($locale == $this->locale) {
 									//Set locale locales context
 									$this->config[$tag][$view]['context']['canonical'] = $this->router->generate($name, ['_locale' => $locale]+$route, UrlGeneratorInterface::ABSOLUTE_URL);
+									$this->config[$tag][$view]['context']['self_url'] = $this->router->generate($name, ['_locale' => $locale]+$route);
 								} else {
 									//Set locale locales context
 									$this->config[$tag][$view]['context']['alternates'][$locale] = [
 										'absolute' => $this->router->generate($name, ['_locale' => $locale]+$route, UrlGeneratorInterface::ABSOLUTE_URL),
 										'relative' => $this->router->generate($name, ['_locale' => $locale]+$route),
 										'title' => implode('/', $titles),
-										'translated' => $this->translator->trans($this->config['default']['languages'][$locale], [], null, $locale)
+										'translated' => $this->translator->trans($this->config['default']['languages'][$locale], [], $this->alias, $locale)
 									];
 								}
 
@@ -256,7 +262,7 @@ abstract class AbstractController extends BaseAbstractController implements Serv
 										'absolute' => $this->router->generate($name, ['_locale' => $locale]+$route, UrlGeneratorInterface::ABSOLUTE_URL),
 										'relative' => $this->router->generate($name, ['_locale' => $locale]+$route),
 										'title' => implode('/', $titles),
-										'translated' => $this->translator->trans($this->config['default']['languages'][$locale], [], null, $locale)
+										'translated' => $this->translator->trans($this->config['default']['languages'][$locale], [], $this->alias, $locale)
 									];
 								}
 							}
@@ -268,9 +274,9 @@ abstract class AbstractController extends BaseAbstractController implements Serv
 	}
 
 	/**
-	 * Renders a view
-	 *
 	 * {@inheritdoc}
+	 *
+	 * Renders a view
 	 */
 	protected function render(string $view, array $parameters = [], Response $response = null): Response {
 		//Create response when null
@@ -282,17 +288,6 @@ abstract class AbstractController extends BaseAbstractController implements Serv
 			$parameters['locale'] = $this->locale;
 		}
 
-		/*TODO: XXX: to drop, we have title => [ 'page' => XXX, section => XXX, site => XXX ]
-		//With empty head title and section
-		if (empty($parameters['head']['title']) && !empty($parameters['section'])) {
-			//Set head title
-			$parameters['title'] = implode(' - ', [$parameters['title'], $parameters['section'], $parameters['head']['site']]);
-		//With empty head title
-		} elseif (empty($parameters['head']['title'])) {
-			//Set head title
-			$parameters['head']['title'] = implode(' - ', [$parameters['title'], $parameters['head']['site']]);
-		}*/
-
 		//Call twig render method
 		$content = $this->twig->render($view, $parameters);