Skip to content

Commit 83ba3f1

Browse files
committed
fix
1 parent 9245e58 commit 83ba3f1

1 file changed

Lines changed: 24 additions & 0 deletions

File tree

lhc_web/lib/core/lhchat/lhchatvalidator.php

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -706,6 +706,8 @@ public static function validateStartChat(& $inputForm, & $start_data_fields, & $
706706
}
707707
}
708708

709+
$unsetAdminCustomFields = array();
710+
709711
if (isset($start_data_fields['custom_fields']) && $start_data_fields['custom_fields'] != '') {
710712
$customAdminfields = json_decode($start_data_fields['custom_fields'],true);
711713

@@ -743,6 +745,13 @@ public static function validateStartChat(& $inputForm, & $start_data_fields, & $
743745

744746
$fieldName = self::extractFieldName($adminField);
745747

748+
if (isset($adminField['showcondition']) && $adminField['showcondition'] === 'uempty') {
749+
$unsetAdminCustomFields[] = array(
750+
'identifier' => isset($adminField['fieldidentifier']) ? $adminField['fieldidentifier'] : null,
751+
'key' => $fieldName
752+
);
753+
}
754+
746755
if (
747756
(
748757
isset($adminField['isrequired']) && ($adminField['isrequired'] == 'true' || $adminField['isrequired'] == 1) && !isset($inputForm->value_items_admin[$key]) && ($adminField['visibility'] == 'all' || $adminField['visibility'] == (isset($additionalParams['offline']) ? 'off' : 'on'))
@@ -943,6 +952,21 @@ public static function validateStartChat(& $inputForm, & $start_data_fields, & $
943952
}
944953
}
945954

955+
if (!empty($unsetAdminCustomFields) && $chat->nick !== 'Visitor' && !empty($chat->nick)) {
956+
$stringParts = array_filter($stringParts, function($item) use ($unsetAdminCustomFields) {
957+
foreach ($unsetAdminCustomFields as $adminField) {
958+
if (
959+
(isset($item['identifier']) ? $item['identifier'] : null) === $adminField['identifier'] &&
960+
(isset($item['key']) ? $item['key'] : null) === $adminField['key']
961+
) {
962+
return false;
963+
}
964+
}
965+
966+
return true;
967+
});
968+
}
969+
946970
if ($department !== false) {
947971
$botData = $department->bot_configuration_array;
948972
if (isset($botData['bot_debug']) && $botData['bot_debug'] == true) {

0 commit comments

Comments
 (0)