- Модуль: imopenlines
- Путь к файлу: ~/bitrix/modules/imopenlines/lib/log/eventlog.php
- Класс: BitrixImOpenLinesLogEventLog
- Вызов: EventLog::addEvent
static function addEvent($event, $fieldsResult, $lineId = 0, $sessionId = 0, $messageId = 0)
{
$result = new Result();
$lineId = intval($lineId);
$data = array();
if (is_array($fieldsResult))
{
$resultData = $fieldsResult;
$fieldsResult = new Result();
$fieldsResult->setData($resultData);
}
if (!($fieldsResult instanceof Result))
throw new ArgumentException(Loc::getMessage('IMOL_EVENTLOG_WRONG_FIELD_RESULT_TYPE_EXCEPTION'));
if (empty(self::$eventMap[$event]) || !method_exists(__CLASS__, self::$eventMap[$event]))
$result->addError(new Error(Loc::getMessage('IMOL_EVENTLOG_NOT_ACTUAL_EVENT_ERROR', array('#EVENT#' => $event)), Library::EVENTS_ERROR_NOT_ACTUAL_EVENT_ERROR_CODE, __METHOD__));
if ($lineId <= 0)
$result->addError(new Error(Loc::getMessage('IMOL_EVENTLOG_EMPTY_LINE_ID_ERROR'), Library::EVENTS_ERROR_EMPTY_LINE_ID_ERROR_CODE, __METHOD__));
if ($result->isSuccess())
{
$result = call_user_func_array([__CLASS__, self::$eventMap[$event]], [$lineId, $sessionId, $messageId, $fieldsResult]);
if ($result->isSuccess())
{
$data = $result->getData();
}
}
if (empty($data))
{
$data = self::getErrorEventData($event, $result, $lineId, $sessionId, $messageId);
}
return EventLogTable::add($data);
}