- Модуль: voximplant
- Путь к файлу: ~/bitrix/modules/voximplant/lib/integration/report/eventhandler.php
- Класс: BitrixVoximplantIntegrationReportEventHandler
- Вызов: EventHandler::onAnalyticPageCollect
static function onAnalyticPageCollect(): array
{
$boards = [];
$callDynamics = new AnalyticBoard(CallDynamicsBoard::BOARD_KEY);
$callDynamics->setBatchKey(self::BATCH_GENERAL_ANALYSIS);
$callDynamics->setGroup(self::BATCH_GROUP_TELEPHONY_GENERAL);
$callDynamics->setTitle(Loc::getMessage('TELEPHONY_REPORT_CALL_DYNAMICS_TITLE'));
$callDynamics->setFilter(new CallDynamicsFilter(CallDynamicsBoard::BOARD_KEY));
$callDynamics->addFeedbackButton();
$boards[] = $callDynamics;
$periodCompare = new AnalyticBoard(PeriodCompareBoard::BOARD_KEY);
$periodCompare->setBatchKey(self::BATCH_GENERAL_ANALYSIS);
$periodCompare->setGroup(self::BATCH_GROUP_TELEPHONY_GENERAL);
$periodCompare->setTitle(Loc::getMessage('TELEPHONY_REPORT_PERIOD_COMPARE_TITLE'));
$periodCompare->setFilter(new PeriodCompareFilter(PeriodCompareBoard::BOARD_KEY));
$periodCompare->addFeedbackButton();
$boards[] = $periodCompare;
$lostCalls = new AnalyticBoard(LostCallsBoard::BOARD_KEY);
$lostCalls->setBatchKey(self::BATCH_GENERAL_ANALYSIS);
$lostCalls->setGroup(self::BATCH_GROUP_TELEPHONY_GENERAL);
$lostCalls->setTitle(Loc::getMessage('TELEPHONY_REPORT_LOST_CALLS_TITLE_2'));
$lostCalls->setFilter(new LostCallsFilter(LostCallsBoard::BOARD_KEY));
$lostCalls->addFeedbackButton();
$boards[] = $lostCalls;
$callActivity = new AnalyticBoard(CallActivityBoard::BOARD_KEY);
$callActivity->setBatchKey(self::BATCH_GENERAL_ANALYSIS);
$callActivity->setGroup(self::BATCH_GROUP_TELEPHONY_GENERAL);
$callActivity->setTitle(Loc::getMessage('TELEPHONY_REPORT_LOST_CALL_ACTIVITY'));
$callActivity->setFilter(new CallActivityFilter(CallActivityBoard::BOARD_KEY));
$callActivity->addFeedbackButton();
$boards[] = $callActivity;
$employeesWorkload = new AnalyticBoard(EmployeesWorkloadBoard::BOARD_KEY);
$employeesWorkload->setBatchKey(self::BATCH_MANAGERS_EFFICIENCY);
$employeesWorkload->setGroup(self::BATCH_GROUP_TELEPHONY_GENERAL);
$employeesWorkload->setTitle(Loc::getMessage('TELEPHONY_REPORT_EMPLOYEES_WORKLOAD_TITLE'));
$employeesWorkload->setFilter(new EmployeesWorkloadFilter(EmployeesWorkloadBoard::BOARD_KEY));
$employeesWorkload->addFeedbackButton();
$boards[] = $employeesWorkload;
$callDuration = new AnalyticBoard(CallDurationBoard::BOARD_KEY);
$callDuration->setBatchKey(self::BATCH_MANAGERS_EFFICIENCY);
$callDuration->setGroup(self::BATCH_GROUP_TELEPHONY_GENERAL);
$callDuration->setTitle(Loc::getMessage('TELEPHONY_REPORT_CALL_DURATION_TITLE'));
$callDuration->setFilter(new CallDurationFilter(EmployeesWorkloadBoard::BOARD_KEY));
$callDuration->addFeedbackButton();
$boards[] = $callDuration;
$missedReaction = new AnalyticBoard(MissedReactionBoard::BOARD_KEY);
$missedReaction->setBatchKey(self::BATCH_MANAGERS_EFFICIENCY);
$missedReaction->setGroup(self::BATCH_GROUP_TELEPHONY_GENERAL);
$missedReaction->setTitle(Loc::getMessage('TELEPHONY_REPORT_MISSED_REACTION_TITLE'));
$missedReaction->setFilter(new MissedReactionFilter(MissedReactionBoard::BOARD_KEY));
$missedReaction->addFeedbackButton();
$boards[] = $missedReaction;
$averageCallTime = new AnalyticBoard(AverageCallTimeBoard::BOARD_KEY);
$averageCallTime->setBatchKey(self::BATCH_MANAGERS_EFFICIENCY);
$averageCallTime->setGroup(self::BATCH_GROUP_TELEPHONY_GENERAL);
$averageCallTime->setTitle(Loc::getMessage('TELEPHONY_REPORT_AVERAGE_CALL_TIME_TITLE'));
$averageCallTime->setFilter(new AverageCallTimeFilter(AverageCallTimeBoard::BOARD_KEY));
$averageCallTime->addFeedbackButton();
$boards[] = $averageCallTime;
$restApps = AppPlacementManager::getHandlerInfos(AppPlacement::ANALYTICS_MENU);
foreach ($restApps as $categoryName => $apps)
{
foreach ($apps as $appInfo)
{
$boardKey = str_replace(['#APP_ID#', '#HANDLER_ID#'],[$appInfo['APP_ID'], $appInfo['ID']], static::REST_BOARD_KEY_TEMPLATE) ;
$batchKey = static::REST_BOARD_BATCH_KEY_TEMPLATE . $categoryName;
$board = new RestAppBoard();
$board->setTitle($appInfo['TITLE']);
$board->setBoardKey($boardKey);
$board->setBatchKey($batchKey);
$board->setGroup(self::BATCH_GROUP_TELEPHONY_GENERAL);
$board->setPlacement(AppPlacement::ANALYTICS_MENU);
$board->setRestAppId($appInfo['APP_ID']);
$board->setPlacementHandlerId($appInfo['ID']);
$boards[] = $board;
}
}
return $boards;
}