From 6ac91ec0d6f61e2e1f261a6ca5a3cc0258d9489b Mon Sep 17 00:00:00 2001 From: boffart <5922739+boffart@users.noreply.github.com> Date: Mon, 8 Jun 2026 11:59:41 +0300 Subject: [PATCH] =?UTF-8?q?fix:=20=D0=B7=D0=B0=D1=89=D0=B8=D1=82=D0=B0=20?= =?UTF-8?q?=D0=BE=D1=82=20Undefined=20array=20key=20NAME/LAST=5FNAME=20?= =?UTF-8?q?=D0=B2=20b24GetPhones?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit AMI-воркер падал краш-лупом (Undefined array key "NAME") при сотруднике B24 без заполненного NAME/LAST_NAME в ответе user.get — error-handler эскалирует warning в исключение, safe.php рестартит по кругу, core отключает модуль. Добавлен ?? '' как у соседних полей. Тот же дефект превентивно закрыт в ConnectorDb::action... для контактов CRM (LAST_NAME/NAME/SECOND_NAME). --- Lib/Bitrix24Integration.php | 2 +- bin/ConnectorDb.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Lib/Bitrix24Integration.php b/Lib/Bitrix24Integration.php index 4d956a5..7e941a6 100644 --- a/Lib/Bitrix24Integration.php +++ b/Lib/Bitrix24Integration.php @@ -929,7 +929,7 @@ public function b24GetPhones($user_id = null): array $this->b24Users = []; foreach ($users_list['result'] as $value) { $user = []; - $user['NAME'] = '' . $value['NAME'] . ' ' . $value['LAST_NAME']; + $user['NAME'] = '' . ($value['NAME'] ?? '') . ' ' . ($value['LAST_NAME'] ?? ''); $user['ID'] = $value['ID']; $user['PERSONAL_MOBILE'] = preg_replace('/(\D)/', '', $value['PERSONAL_MOBILE']??''); $user['WORK_PHONE'] = preg_replace('/(\D)/', '', $value['WORK_PHONE']??''); diff --git a/bin/ConnectorDb.php b/bin/ConnectorDb.php index b262164..182fa55 100644 --- a/bin/ConnectorDb.php +++ b/bin/ConnectorDb.php @@ -938,7 +938,7 @@ public function updateEntContact($action, $data):array $dateModify = $entData['DATE_MODIFY']; $statusLeadId= $entData['STATUS_SEMANTIC_ID']??''; if(Bitrix24Integration::API_CRM_LIST_CONTACT === $action){ - $name = $entData['LAST_NAME'] ." " . $entData['NAME']. " " . $entData['SECOND_NAME']; + $name = ($entData['LAST_NAME'] ?? '') ." " . ($entData['NAME'] ?? ''). " " . ($entData['SECOND_NAME'] ?? ''); }else{ $name = $entData['TITLE']; }