From a023ab8f09cd2b37c34730965193cc1837e63342 Mon Sep 17 00:00:00 2001 From: Remigijus Kiminas Date: Wed, 31 Jul 2024 07:01:49 -0400 Subject: [PATCH] Do not use default translation if text is not translated --- .../erlhabstractmodelwidgettheme.php | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/lhc_web/lib/models/lhabstract/erlhabstractmodelwidgettheme.php b/lhc_web/lib/models/lhabstract/erlhabstractmodelwidgettheme.php index fb3ef03d59..ccabc32808 100644 --- a/lhc_web/lib/models/lhabstract/erlhabstractmodelwidgettheme.php +++ b/lhc_web/lib/models/lhabstract/erlhabstractmodelwidgettheme.php @@ -440,8 +440,11 @@ public function customForm() public function translate() { - $chatLocaleFallback = erConfigClassLhConfig::getInstance()->getDirLanguage('content_language'); + $config = erConfigClassLhConfig::getInstance(); + $chatLocaleFallback = $config->getDirLanguage('content_language'); + $defaultSiteAccess = $config->getSetting( 'site', 'default_site_access',false); $chatLocale = erLhcoreClassChatValidator::getVisitorLocale(); + $siteAccess = erLhcoreClassSystem::instance()->SiteAccess; $attributesDirect = array( 'pending_join_queue', @@ -502,10 +505,9 @@ public function translate() { $attributes = $this->bot_configuration_array; foreach ($translatableAttributes as $attr) { - if (isset($attributes[$attr . '_lang'])) { - - $translated = false; + $translated = false; + if (isset($attributes[$attr . '_lang'])) { if ($chatLocale !== null) { foreach ($attributes[$attr . '_lang'] as $attrTrans) { if (in_array($chatLocale, $attrTrans['languages']) && $attrTrans['content'] != '') { @@ -530,6 +532,14 @@ public function translate() { $this->$attr = $attributes[$attr]; } } + + if ($translated === false && !empty($defaultSiteAccess) && $siteAccess !== $defaultSiteAccess) { + if (in_array($attr,$attributesDirect)) { + $this->$attr = ''; + } elseif (isset($attributes[$attr])) { + unset($attributes[$attr]); + } + } } $this->bot_configuration_array = $attributes;