**''Документация по модулю Events перенесена в Confluence''** [[http://abills.net.ua:8090/display/AB/Events]] ===== Events ===== ==== Реализация ==== === Клиентская часть === В клиентской части, приёмом сообщений занимается AMessageChecker, в скрипте ''messageChecker.js''\\ Этот объект через заданый интервал (по умолчанию, 30 секунд) отправляет запрос на функцию ''form_events''\\ Результат запроса - JSON масив объектов При возврате масива ненулевой длины, происходит обработка уведомлений.\\ На даный момент, поддерживаются типы: - Сообщение (''"TYPE" : "MESSAGE"'') - Уведомление (''"TYPE" : "EVENT"'') - Обьект карты (''"TYPE" : "MAP_EVENT"'') ( включается только на вкладке с картой ). [[abills:docs:development:modules:maps#otobrazhenie_sobytij_na_karte|Формат события]] === Формат уведомлений === В зависимости от типа, уведомление имеет следующий вид: **== Message ==** { "TYPE" : "MESSAGE", "TITLE" : "Message Title", "TEXT" : "This is sample message text", "MESSAGE_ID" : 23, "EXTRA" : "https://demo.abills.net.ua:9443/admin/index.cgi", "SENDER" : { "UID" : 2, "LOGIN" : "testuser" } } Все параметры, кроме ''TYPE'', ''TITLE'' и ''TEXT'' являются опциональными. \\ Значение поля ''TEXT'' обрезается до 30 символов.\\ Параметр ''MESSAGE_ID'' служит для создания ссылки для быстрого перехода к сообщению в ''Msgs''\\ Параметр ''EXTRA'' - ссылка, которая будет отображена с тестом "TITLE".\\ Объект ''CLIENT'' отвечает за дополнительную отображаемую информацию о клиенте, к которому относится сообщение.\\ === Серверная часть === Функция ''form_events'' через функцию ''cross_modules_call'', вызывает в каждом модуле функцию с именем ''$Module_events'', и возвращает хеш результатов. При вызове из портала абонента, одним из аргументов передаётся ''CLIENT_INTERFACE => 1''. Функция ''$Module_events'' должна передавать JSON строку вида: { "TYPE" : "MESSAGE", "TITLE" : "Message Title", "TEXT" : "This is sample message text", "MESSAGE_ID" : 23, "EXTRA" : "https://demo.abills.net.ua:9443/admin/index.cgi", "CLIENT" : { "UID" : 2, "LOGIN" : "testuser" } }, { "TYPE" : "MESSAGE", "TITLE" : "Message Title", "TEXT" : "This is sample message text for another message", "MESSAGE_ID" : 25, "EXTRA" : "https://demo.abills.net.ua:9443/admin/index.cgi", "CLIENT" : { "UID" : 8, "LOGIN" : "client" } } ==== Групировка уведомлений ==== События групируются по модулям.\\ [[abills:docs:manual:admin:events:events_group_main|Управление групами]].\\ Администратор может подписаться на групы событий в меню ''Профиль''.\\ Отписаться от групы можно или в меню, или нажав на иконку перечеркнутого глаза в заголовке уведомления.\\ Для некоторых модулей, можно поменять статус уведомления на "Прочитано", кликнув на иконку галочки в заголовке уведомления. \\