@@ -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