Next Generation CMS - Управляйте контентом без границ!
Создавай
Развивай
Управляй
Актуальная v.0.9.7
Плагин Private Message (PM)
Главная страница / Плагины / Общение / Плагин Private Message (PM)

Плагин Private Message (PM)

1. Общая информация

Плагин Private Message (PM) предназначен для обмена личными сообщениями между пользователями на сайте, работающем на NextGeneration CMS (NGCMS).


Основные возможности:

  • Отправка и получение личных сообщений
  • Хранение входящих и исходящих сообщений
  • Настройки уведомлений
  • Поддержка BBCode и смайлов
  • Пагинация сообщений

2. Установка и настройка


2.1. Установка плагина

  1. Загрузите файлы плагина в папку /engine/plugins/pm/
  2. Активируйте плагин через админ-панель NGCMS
  3. Настройте необходимые параметры

2.2. Настройки плагина

Доступные параметры (настраиваются через админку):

ПараметрОписаниеЗначение по умолчанию
msg_per_pageКоличество сообщений на странице10
title_lengthМаксимальная длина заголовка100
message_lengthМаксимальная длина сообщения5000
localsourceИспользование локальных шаблонов0

3. Структура базы данных

Плагин использует следующие таблицы:


3.1. Таблица prefix_pm

ПолеТипОписание
idINTID сообщения
from_idINTID отправителя
to_idINTID получателя
subjectVARCHARТема сообщения
messageTEXTТекст сообщения
dateDATETIMEДата отправки
viewedTINYINT(1)Прочитано (0/1)
folderENUMПапка (inbox/outbox)

3.2. Изменения в таблице uprefix_users

Добавляются следующие поля:

  • pm_all - общее количество входящих сообщений
  • pm_unread - количество непрочитанных сообщений
  • pm_sync - флаг синхронизации счетчиков
  • pm_email - настройка email-уведомлений

4. Функционал плагина


4.1. Входящие сообщения (Inbox)

  • Отображение списка полученных сообщений
  • Подсчет непрочитанных сообщений
  • Пагинация (разбивка на страницы)
  • Возможность удаления сообщений
  • Маркировка прочитанных сообщений

4.2. Исходящие сообщения (Outbox)

  • Просмотр отправленных сообщений
  • Удаление сообщений из исходящих

4.3. Чтение сообщений

  • Отображение полного текста сообщения
  • Поддержка форматирования (BBCode, смайлы)
  • Кнопка ответа (для входящих сообщений)

4.4. Написание сообщений

  • Форма отправки новых сообщений
  • Автодополнение имени получателя
  • Возможность сохранения копии в исходящих
  • Поддержка BBCode и смайлов

4.5. Настройки

  • Включение/отключение email-уведомлений

5. Шаблоны и интерфейс


5.1. Основные шаблоны

ШаблонОписание
inbox.tplСписок входящих сообщений
outbox.tplСписок исходящих сообщений
read.tplПросмотр сообщения
write.tplФорма отправки
reply.tplФорма ответа
set.tplНастройки уведомлений

5.2. Основные переменные в шаблонах

ПеременнаяОписание
{{ pm_inbox_link }}Ссылка на входящие
{{ pm_outbox_link }}Ссылка на исходящие
{{ pm_set_link }}Ссылка на настройки
{{ pm_read_link }}Ссылка на чтение сообщения
{{ pm_del_link }}Ссылка на удаление
{{ pm_write_link }}Ссылка на написание сообщения
{{ pm_reply_link }}Ссылка на ответ
{{ pm_send_link }}Ссылка на отправку сообщения
{{ entries }}Список сообщений
{{ pagination }}Пагинация

6. API и интеграция


6.1. Основные функции

  • pm::sendMsg() - отправка сообщения
  • PMCoreFilter::showUserMenu() - отображение счетчика сообщений в меню пользователя

6.2. Хуки (hooks)

  • usermenu - добавление счетчика сообщений в профиль
  • core.userMenu - фильтр для меню пользователя

Важно: В текущей реализации отсутствует защита от CSRF-атак. Рекомендуется добавить токены в формы.

7. Возможные улучшения

  • Добавление групповых сообщений
  • Вложения к сообщениям
  • Черновики сообщений
  • Поиск по сообщениям
  • Улучшенная пагинация и фильтрация
  • Поддержка markdown вместо BBCode
  • Push-уведомления
  • Добавление CSRF-защиты

8. Заключение

Плагин Private Message предоставляет базовый функционал личных сообщений для NGCMS. Он хорошо интегрируется в систему, но требует доработок для современных стандартов (безопасность, UX).


Скачать:pm.zip
22 мая 2025 / Плагины, Общение

Добавить комментарий

  • captcha

up