uawdijnntqw1x1x1
IP : 18.119.102.106
Hostname : axolotl
Kernel : Linux axolotl 4.9.0-13-amd64 #1 SMP Debian 4.9.228-1 (2020-07-05) x86_64
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,
OS : Linux
PATH:
/
var
/
www
/
axolotl
/
data
/
www
/
yar.axolotls.ru
/
1c9cb
/
..
/
bitrix
/
modules
/
imopenlines
/
lib
/
log
/
eventlog.php
/
/
<?php namespace Bitrix\ImOpenLines\Log; use \Bitrix\ImOpenLines\Error; use \Bitrix\Imopenlines\Model\EventLogTable; use \Bitrix\Main\Result; use \Bitrix\Main\Localization\Loc; use \Bitrix\Main\ArgumentException; use \Bitrix\Main\Type\DateTime; Loc::loadMessages(__FILE__); class EventLog { private static $eventMap = array( Library::EVENT_SESSION_START => 'onSessionStart', Library::EVENT_SESSION_LOAD => 'onSessionLoad', Library::EVENT_SESSION_PAUSE => 'onSessionPause', Library::EVENT_SESSION_SPAM => 'onSessionSpam', Library::EVENT_SESSION_CLOSE => 'onSessionClose', Library::EVENT_SESSION_QUEUE_NEXT => 'onSessionQueueNext', Library::EVENT_SESSION_DISMISSED_OPERATOR_FINISH => 'onSessionDismissedOperatorFinish', Library::EVENT_SESSION_VOTE_USER => 'onSessionVoteUser', Library::EVENT_SESSION_VOTE_HEAD => 'onSessionVoteHead' ); /** * Add all events elements to EventLog table * * @param Result|array $fieldsResult * @param string $event * @param int $lineId * @param int $sessionId * @param int $messageId * * @return \Bitrix\Main\ORM\Data\AddResult|Result|mixed * @throws \Exception */ public 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); } /** * Prepare event Result item data and errors as array * * @param Result $fieldsResult * @param bool $setErrorEventMessage * * @return mixed * @throws \Bitrix\Main\ObjectException */ protected static function getEventFieldsData(Result $fieldsResult, $setErrorEventMessage = true) { $result['ADDITIONAL_DATA'] = $fieldsResult->getData(); $result['EVENT_FIELDS_DATA'] = array( 'DATE_TIME' => new DateTime(), 'ADDITIONAL_FIELDS' => $result['ADDITIONAL_DATA'] ); if (!$fieldsResult->isSuccess()) { $result['EVENT_FIELDS_DATA']['IS_ERROR'] = 'Y'; if ($setErrorEventMessage) { $result['EVENT_FIELDS_DATA']['EVENT_MESSAGE'] = implode(PHP_EOL, $fieldsResult->getErrorMessages()); } } return $result; } /** * Event handler base for common event cases * * @param $eventType * @param $lineId * @param $sessionId * @param $messageId * @param Result $fieldsResult * * @return Result * @throws \Bitrix\Main\ObjectException */ protected static function baseEventHandler($eventType, $lineId, $sessionId, $messageId, Result $fieldsResult) { $result = new Result(); $resultData = array( 'EVENT_TYPE' => $eventType, 'LINE_ID' => $lineId, 'SESSION_ID' => $sessionId, 'MESSAGE_ID' => $messageId, ); $eventData = self::getEventFieldsData($fieldsResult); $resultData = array_merge($resultData, $eventData['EVENT_FIELDS_DATA']); $result->setData($resultData); return $result; } /** * Prepare element in case of addEvent error * * @param $event * @param Result $fieldsResult * @param int $lineId * @param int $sessionId * @param int $messageId * * @return mixed * @throws \Bitrix\Main\ObjectException */ protected static function getErrorEventData($event, Result $fieldsResult, $lineId = 0, $sessionId = 0, $messageId = 0) { $eventFieldsData = self::getEventFieldsData($fieldsResult); $result = $eventFieldsData['EVENT_FIELDS_DATA']; $result['LINE_ID'] = $lineId; $result['SESSION_ID'] = $sessionId; $result['MESSAGE_ID'] = $messageId; $result['EVENT_TYPE'] = $event; return $result; } /*Session events handlers start*/ /** * @param $lineId * @param $sessionId * @param $messageId * @param Result $fieldsResult * * @return Result * @throws \Bitrix\Main\ObjectException */ protected static function onSessionStart($lineId, $sessionId, $messageId, Result $fieldsResult) { $result = self::baseEventHandler(Library::EVENT_SESSION_START, $lineId, $sessionId, $messageId, $fieldsResult); return $result; } /** * @param $lineId * @param $sessionId * @param $messageId * @param Result $fieldsResult * * @return Result * @throws \Bitrix\Main\ObjectException */ protected static function onSessionLoad($lineId, $sessionId, $messageId, Result $fieldsResult) { $result = self::baseEventHandler(Library::EVENT_SESSION_LOAD, $lineId, $sessionId, $messageId, $fieldsResult); return $result; } /** * @param $lineId * @param $sessionId * @param $messageId * @param Result $fieldsResult * * @return Result * @throws \Bitrix\Main\ObjectException */ protected static function onSessionPause($lineId, $sessionId, $messageId, Result $fieldsResult) { $result = self::baseEventHandler(Library::EVENT_SESSION_PAUSE, $lineId, $sessionId, $messageId, $fieldsResult); return $result; } /** * @param $lineId * @param $sessionId * @param $messageId * @param Result $fieldsResult * * @return Result * @throws \Bitrix\Main\ObjectException */ protected static function onSessionSpam($lineId, $sessionId, $messageId, Result $fieldsResult) { $result = self::baseEventHandler(Library::EVENT_SESSION_SPAM, $lineId, $sessionId, $messageId, $fieldsResult); return $result; } /** * @param $lineId * @param $sessionId * @param $messageId * @param Result $fieldsResult * * @return Result * @throws \Bitrix\Main\ObjectException */ protected static function onSessionClose($lineId, $sessionId, $messageId, Result $fieldsResult) { $result = self::baseEventHandler(Library::EVENT_SESSION_CLOSE, $lineId, $sessionId, $messageId, $fieldsResult); return $result; } /** * @param $lineId * @param $sessionId * @param $messageId * @param Result $fieldsResult * * @return Result * @throws \Bitrix\Main\ObjectException */ protected static function onSessionQueueNext($lineId, $sessionId, $messageId, Result $fieldsResult) { $result = self::baseEventHandler(Library::EVENT_SESSION_QUEUE_NEXT, $lineId, $sessionId, $messageId, $fieldsResult); return $result; } /** * @param $lineId * @param $sessionId * @param $messageId * @param Result $fieldsResult * * @return Result * @throws \Bitrix\Main\ObjectException */ protected static function onSessionDismissedOperatorFinish($lineId, $sessionId, $messageId, Result $fieldsResult) { $result = self::baseEventHandler(Library::EVENT_SESSION_DISMISSED_OPERATOR_FINISH, $lineId, $sessionId, $messageId, $fieldsResult); return $result; } /** * @param $lineId * @param $sessionId * @param $messageId * @param Result $fieldsResult * * @return Result * @throws \Bitrix\Main\ObjectException */ protected static function onSessionVoteUser($lineId, $sessionId, $messageId, Result $fieldsResult) { $result = self::baseEventHandler(Library::EVENT_SESSION_VOTE_USER, $lineId, $sessionId, $messageId, $fieldsResult); return $result; } /** * @param $lineId * @param $sessionId * @param $messageId * @param Result $fieldsResult * * @return Result * @throws \Bitrix\Main\ObjectException */ protected static function onSessionVoteHead($lineId, $sessionId, $messageId, Result $fieldsResult) { $result = self::baseEventHandler(Library::EVENT_SESSION_VOTE_HEAD, $lineId, $sessionId, $messageId, $fieldsResult); return $result; } /*Session events handlers end*/ }
/var/www/axolotl/data/www/yar.axolotls.ru/1c9cb/../bitrix/modules/imopenlines/lib/log/eventlog.php