From f637dfc7f70e3dc04a2c96074758d89ccf00ac9f Mon Sep 17 00:00:00 2001 From: "deb.monish" Date: Thu, 17 May 2018 01:59:41 +0530 Subject: [PATCH] (dev/drupal/19) Drupal8: Implement set UF locale/language (affects mailing tokens) --- CRM/Utils/System/Drupal8.php | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/CRM/Utils/System/Drupal8.php b/CRM/Utils/System/Drupal8.php index e280a40ba7..7f951ad892 100644 --- a/CRM/Utils/System/Drupal8.php +++ b/CRM/Utils/System/Drupal8.php @@ -673,4 +673,26 @@ class CRM_Utils_System_Drupal8 extends CRM_Utils_System_DrupalBase { $e->list[] = 'js/crm.drupal8.js'; } + /** + * @inheritDoc + */ + public function setUFLocale($civicrm_language) { + $langcode = substr(str_replace('_', '', $civicrm_language), 0, 2); + $languageManager = \Drupal::languageManager(); + $languages = $languageManager->getLanguages(); + + if (isset($languages[$langcode])) { + $languageManager->setConfigOverrideLanguage($languages[$langcode]); + + // Config must be re-initialized to reset the base URL + // otherwise links will have the wrong language prefix/domain. + $config = CRM_Core_Config::singleton(); + $config->free(); + + return TRUE; + } + + return FALSE; + } + } -- 2.25.1