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

Плагин Private Message (PM)

ID: pm
Name: Личные сообщения
Version: 0.7
Acts: usermenu, ppages
Actions: rpc; pm_ajax.php
File: pm.php
Install: install.php
Deinstall: uninstall.php
Config: config.php
Type: plugin
Description: Обмен приватными сообщениями между пользователями
Author: Alexey N. Zhukov (Wolverine)
Author_URI: http://digitalplace.ru/
Title: Личные сообщения
Information: Плагин организует возможность обмена приватными сообщениями между зарегистрированными пользователями сайта

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

ПолеТипОписание
id
INTID сообщения
from_id
INTID отправителя
to_id
INTID получателя
subject
VARCHARТема сообщения
message
TEXTТекст сообщения
date
DATETIMEДата отправки
viewed
TINYINT(1)Прочитано (0/1)
folder
ENUMПапка (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

Русский English Deutsch Français Español Українська Қазақша
up