- Модуль: imopenlines
- Путь к файлу: ~/bitrix/modules/imopenlines/lib/chat.php
- Класс: BitrixImOpenLinesChat
- Вызов: Chat::getFieldData
public function getFieldData($field)
{
$data = [];
if (
$this->isDataLoaded()
&& in_array($field, [self::FIELD_CRM, self::FIELD_SESSION, self::FIELD_LIVECHAT])
)
{
if ($field == self::FIELD_SESSION)
{
$data = [
'ID' => time(),
'CRM' => 'N',
'CRM_ENTITY_TYPE' => 'NONE',
'CRM_ENTITY_ID' => '0',
'PAUSE' => 'N',
'WAIT_ACTION' => 'N',
'DATE_CREATE' => '0',
'LINE_ID' => 0,
'BLOCK_DATE' => 0,
'BLOCK_REASON' => 0
];
$fieldData = explode("|", $this->chat[self::getFieldName($field)]);
if (isset($fieldData[0]) && $fieldData[0] == 'Y')
{
$data['CRM'] = $fieldData[0];
}
if (isset($fieldData[1]))
{
$data['CRM_ENTITY_TYPE'] = $fieldData[1];
}
if (isset($fieldData[2]))
{
$data['CRM_ENTITY_ID'] = $fieldData[2];
}
if (isset($fieldData[3]) && $fieldData[3] == 'Y')
{
$data['PAUSE'] = $fieldData[3];
}
if (isset($fieldData[4]) && $fieldData[4] == 'Y')
{
$data['WAIT_ACTION'] = $fieldData[4];
}
if (isset($fieldData[5]))
{
$data['ID'] = intval($fieldData[5]);
}
if (isset($fieldData[6]))
{
$data['DATE_CREATE'] = intval($fieldData[6]);
}
if (isset($fieldData[7]) && $fieldData[7] > 0)
{
$data['LINE_ID'] = intval($fieldData[7]);
}
if (isset($fieldData[8]))
{
$data['BLOCK_DATE'] = (int)$fieldData[8];
}
if (isset($fieldData[9]))
{
$data['BLOCK_REASON'] = $fieldData[9];
}
}
else if ($field == self::FIELD_CRM)
{
$data = [
'LEAD' => 0,
'COMPANY' => 0,
'CONTACT' => 0,
'DEAL' => 0,
];
$fieldData = explode("|", $this->chat[self::getFieldName($field)]);
$countFields = count($fieldData);
for($i = 0; $countFields>$i; $i=$i+2)
{
if(isset($data[$fieldData[$i]]) && isset($fieldData[$i+1]))
{
$data[$fieldData[$i]] = $fieldData[$i+1];
}
}
}
else if ($field == self::FIELD_LIVECHAT)
{
$data = [
'READED' => 'N',
'READED_ID' => '0',
'READED_TIME' => 0,
'SESSION_ID' => '0',
'SHOW_FORM' => 'Y',
'WELCOME_FORM_NEEDED' => 'Y',
'WELCOME_TEXT_SENT' => 'N'
];
$fieldData = explode("|", $this->chat[self::getFieldName($field)]);
if (isset($fieldData[0]) && $fieldData[0] == 'Y')
{
$data['READED'] = $fieldData[0];
}
if (isset($fieldData[1]))
{
$data['READED_ID'] = intval($fieldData[1]);
}
if (isset($fieldData[2]))
{
$data['READED_TIME'] = $fieldData[2];
}
if (isset($fieldData[3]))
{
$data['SESSION_ID'] = intval($fieldData[3]);
}
if (isset($fieldData[4]))
{
$data['SHOW_FORM'] = $fieldData[4] == 'N'? 'N': 'Y';
}
if (isset($fieldData[5]))
{
$data['WELCOME_FORM_NEEDED'] = $fieldData[5] === 'N'? 'N': 'Y';
}
if (isset($fieldData[6]))
{
$data['WELCOME_TEXT_SENT'] = $fieldData[7] === 'N'? 'N': 'Y';
}
}
}
return $data;
}