Интеграция MyChat с форумом phpBB3
Вы можете сделать так, чтобы уведомления о всех новых сообщениях на вашем форуме приходили в MyChat.
- Настройка соединения с сервером MyChat
- Редактирование function_posting.php
- Указать получателей уведомлений
- Отладка, или что делать, если сообщения не отправляются?
1. Настройка соединения с сервером MyChat
Возьмите шаблон файла MyChatSendMessage.php (C:\Program Files\MyChat Server\doc\IntegrationAPI\phpBB3\) и задайте в нём параметры подключения к вашему серверу MyChat:
Перейдите в директорию вашего форума и найдите папку "includes\". Скопируйте в папку изменённый файл MyChatSendMessage.php.
2. Редактирование function_posting.php
Найдите файл function_posting.php в папке "includes\" вашего форума. Сделайте резервную копию, перед тем, как изменять его!
Найдите в коде файла function_posting.php такую строчку:
function submit_post($mode, $subject, $username, $topic_type, &$poll, &$data, $update_message = true, $update_search_index = true
)
В конце функции, после строк:
$url = (!$params) ? "{$phpbb_root_path}viewforum.$phpEx" : "{$phpbb_root_path}viewtopic.$phpEx";
$url = append_sid($url, 'f=' . $data['forum_id'] . $params) . $add_anchor;
нужно добавить такой код:
if ($post_mode == 'reply' || $post_mode == 'post') {
include ('MyChatSendMessage.php');
MyChatSendMessage::Send($data['message'], $user->data['username'], $subject, $current_time,
generate_board_url(), $data['forum_id'], $data['topic_id'], $data['post_id'], $user->data['user_id']);
}
После всех изменений код function_posting.php должен выглядеть так:
3. Указать получателей уведомлений
В администрировании сервера, раздел "Инструменты", "Интеграция", необходимо включить инструмент "phpBB 3":
Здесь же настраивается, кому нужно отправлять уведомления о новых сообщениях на форуме.
Можно указать отдельных людей, группы пользователей и конференции.
4. Отладка, или что делать, если сообщения не отправляются?
Если по каким-то причинам сообщения в чат не уходят, нужно убедиться, что со стороны форума всё настроено правильно.
Есть режим отладки. Для него нужно взять файл MyChatSendMessage_test.php (C:\Program Files\MyChat Server\doc\IntegrationAPI\phpBB3\debug\) и записать в папку форума "includes\".
В файле function_posting.php замените строку include ('MyChatSendMessage.php'); на include ('MyChatSendMessage_test.php');
Все возникшие ошибки теперь можно будет увидеть в файле MyChat_errors_log.txt в корневой папке форума.
Важно! Не забудьте убрать отладку после того, как всё настроите. Режим отладки работает в синхронном режиме и "тормозит" выполнение скриптов форума.
Важно! В версии phpBB 3.2.2 и новее переменную $data нужно заменить на $data_ary. Подробнее о проблеме.