public function LanguageSelectionPageSubscriber::redirectToLanguageSelectionPage in Language Selection Page 8.2
Event callback.
Parameters
\Symfony\Component\HttpKernel\Event\FilterResponseEvent $event: The event object.
Return value
bool Returns FALSE.
File
- src/
EventSubscriber/ LanguageSelectionPageSubscriber.php, line 111
Class
- LanguageSelectionPageSubscriber
- Provides a LanguageSelectionPageSubscriber.
Namespace
Drupal\language_selection_page\EventSubscriberCode
public function redirectToLanguageSelectionPage(FilterResponseEvent $event) {
$this->event = $event;
$config = $this->configFactory
->get('language_selection_page.negotiation');
$manager = $this->languageSelectionPageConditionManager;
foreach ($manager
->getDefinitions() as $def) {
/** @var ExecutableInterface $condition_plugin */
$condition_plugin = $manager
->createInstance($def['id'], $config
->get());
if (!$manager
->execute($condition_plugin)) {
return FALSE;
}
}
if (!$this
->getLanguage()) {
$request = $this->event
->getRequest();
$url = sprintf('%s?destination=%s', $request
->getBasePath() . $config
->get('path'), $this->currentPath
->getPath($request));
$response = new RedirectResponse($url);
$event
->setResponse($response);
}
return FALSE;
}