Рейтинг@Mail.ru
загрузкаидет загрузка

Плагин «pm :: Личные сообщения» для NG CMS

Плагин «pm  Личные сообщения» для NG CMS


Доделал плагин личных сообщений для Next Generation CMS. Первый релиз.

Функции на сегодняшний день:
  • отправка сообщений
  • удаление сообщений
  • папки Входящие и Исходящие
  • уведомление о приходе нового сообщения
  • поддержка BB-кодов

UPD 18.04.2010 Обновил версию до 0.2

UPD 31.10.2010 Обновил версию до 0.3. Что нового?

UPD 29.03.2011 Обновил версию до 0.4. Что нового?

История версий
[0.4][2011-03-29] [скачать]
+ добавлены уведомления на email о приходе нового сообщения
(опционально, настраивается в профиле пользователя)
+ заложен фундамент API (ООП, отправка сообщений) для использования функциональности pm
другими плагинами (если вам это необходимо и есть предложения
по формату и функциональности, то пожалуйста)
* HTML код рисующий стрелочку для возврата в случае ошибки и
код, перезагружающий страницу, вынесены в языковой файл main.ini
html_back и html_reload соответственно.

[0.3][2010-10-31] [скачать]
+ добавлено разбиение списка сообщений на страницы (пагинация)
+ добавлена поддержка AJAX suggest для поля получателя сообщения
* исправлена работа кнопки "Удалить" в окне чтения сообщения из папки "Отправленные"
* запрет на чтение входящих сообщений другого пользователя, даже если сообщение отправляли вы
* оптимизировано удаление нескольких сообщений, выполняется одним SQL запросом
* оптимизирован вывод количества сообщений в usermenu.tpl, теперь без SQL запросов
* устранена ошибка формирования ссылки редиректа, если в "Управлении форматом ссылок"
формат "Страницы плагина" отличался от формата по умолчанию

[0.2][2010-04-18] [скачать]
+ В настройках добавлен выбор каталога, из которого плагин будет брать шаблоны для отображения
+ Добавлена кнопка удаления в окне чтения сообщения
+ Добавлена галочка "Сохранить в отправленных" в окне ответа на сообщение

[0.1][2010-04-09] [скачать]
+ Выпуск первой версии


"Личка" это одна из важнейших функций на многих сайтах, она дает людям возможность общаться именно через ваш ресурс. До этого момента в NG CMS такой функциональности не было. Почему? Думаю, как я уже писал, из-за бесплатности системы, народ думает, что если CMS распространяется как free, то все плагины тоже должны быть бесплатными, но расширения такого рода это не на полчаса работы и так сложилось, что те кто могут это сделать — им ЛС не нужны нафиг, а те кто не могут — уже два года просят их сделать.

Все решилось довольно просто. Со мной связался один юзер с форума — Женя и заказал написать такой плагин за деньги. Так он и родился. Это неплохая модель, когда оплачивается только написание плагина, а затем он идет в паблик. Продавать плагин за копейки, но много копий нереально из-за небольшого комьюнити.

До этого момента в системе уже были зачатки личных сообщений, но доступны они были почему-то исключительно в админке. Благо все у нас GPL'ное и все наработки можно было перенести в новый плагин.

Пару скриншотов (кликабельные):

Плагин «pm  Личные сообщения» для NG CMS. Входящие. (26.56 Kb)

Плагин «pm  Личные сообщения» для NG CMS. Новое сообщение. (19.24 Kb)


Шаблоны плагина


entries.tpl — строка входящего сообщения


plugin_private_messages_ngcms_0.3_5.png (3.06 Kb)


Доступные переменные:
  • pmdate - дата и время отправки сообщения
  • php_self - ссылка на страницу плагина вида site.ru/plugin/pm/
  • pmid - ID сообщения в БД
  • subject - тема письма
  • link - ссылка на отправителя письма
  • viewed - изображение статуса письма, viewed.yes.gif и viewed.no.gif

inbox.tpl — контейнер входящих сообщений


Доступные переменные:
  • php_self - ссылка на страницу плагина вида site.ru/plugin/pm/
  • entries - список писем, формируемый из entries.tpl
  • pagination - навигация по страницам, она же пагинация

outbox_entries.tpl — строка исходящего сообщения


Доступные переменные:
  • pmdate - дата и время отправки сообщения
  • php_self - ссылка на страницу плагина вида site.ru/plugin/pm/
  • pmid - ID сообщения в БД
  • subject - тема письма
  • link - ссылка на отправителя письма

outbox.tpl — контейнер исходящих сообщений


Доступные переменные:
  • php_self - ссылка на страницу плагина вида site.ru/plugin/pm/
  • entries - список писем, формируемый из entries.tpl
  • pagination - навигация по страницам, она же пагинация

read.tpl — форма чтения сообщения


Доступные переменные:
  • php_self - ссылка на страницу плагина вида site.ru/plugin/pm/
  • subject - тема письма
  • pmid - ID сообщения в БД
  • location - принимает значение inbox или outbox
  • pmdate - дата и время отправки сообщения
  • content - текст сообщения
  • author - ссылка на получателя/отправителя

Также в шаблоне доступны две условные конструкции if-inbox и if-outbox, текст между которыми доступен если сообщение входящее или исходящее.

reply.tpl — форма ответа на сообщение


Доступные переменные:
  • php_self - ссылка на страницу плагина вида site.ru/plugin/pm/
  • title - тема письма + Re
  • pmid - ID сообщения в БД
  • to_username - ID отправителя из таблицы users
  • quicktags - форма с BB-тегами
  • smiles - форма со смайлами

write.tpl — форма написания нового сообщения


Доступные переменные:
  • php_self - ссылка на страницу плагина вида site.ru/plugin/pm/
  • to_username - имя получателя
  • quicktags - форма с BB-тегами
  • smiles - форма со смайлами

Отблагодарить меня можно по старым реквизитам:

http//digitalplace.ru/images/static/webmoney.png WebMoney: Z185759217217 и R128203457262

http//digitalplace.ru/images/static/yandexmoney.png Яндекс.Деньги: 41001246158060
Похожие материалы:
Комментарии:
  • 17.04.2010 - 16:47 / rocketboy
  • Все супер работает.
    Wolverine а шаблон плагина, только в папке плагина или можно его в папку, основного шаблона запихнуть?

  • Wolverine
  • 17.04.2010 - 17:15 / Wolverine
  • rocketboy, только в папке плагина. Я про это забыл, добавлю возможность выбора в ближайшее время.

  • 17.04.2010 - 17:26 / rocketboy
  • Wolverine, заранее спасибо.
    [офф] Хорошо диз обновил, нравится

  • Wolverine
  • 18.04.2010 - 17:05 / Wolverine
  • rocketboy, обновил плагин. Качай, тестируй

  • 22.04.2010 - 22:04 / rocketboy
  • Wolverine, качнул, спасибо

  • 23.04.2010 - 13:29 / defis
  • Wolverine - а Вы не могли бы сказать под 2z реально ли подогнать плагин? я бы на ng уже давно переехал, но на 2z много чего поменял в коде. Не поможете с адаптацией плагина под 2z?

  • Wolverine
  • 23.04.2010 - 15:41 / Wolverine
  • defis, переезжайте на NG. 2z фактически протянул ноги, за полтора года никаких изменений. А NG активно развивается.

    По поводу адаптации:

    Минимум это надо поменять в файлах pm.php, install.php, uninstall.php и config.php
    if (!defined('NGCMS')) die ('Galaxy in danger');
    на
    if (!defined('2z')) die ('Galaxy in danger');

    Но в NG управление пользователями уже вынесено в отдельный модуль uprofile, соответственно при генерации ссылки на профиль юзера будут ошибки..

    Надо конкретно с каждым багом разбираться, так как я не знаю точное количество изменения в ядре NG по сравнению с последней версией 2z

  • 23.04.2010 - 23:52 / defis
  • Wolverine, ну то что указал я сделал, более того даже перебрал каждый файл, подогнал все под 2з, типа дректорию plugin исправил на extras и т.д.
    По поводу изменений - твой плагин работает на версии ng 0.9.7.1? если да, то там отличия с 2з по-моему минимальны.

  • Wolverine
  • 24.04.2010 - 00:37 / Wolverine
  • Я тестировал его исключительно на 0.9.2, в которой произошли уже довольно существенные изменения.

  • 24.04.2010 - 06:10 / defis
  • Жаль, плохо что поисковик привел меня первым на 2z а не ngcsm, переезжать будет слишком сложный процесс, придется обойтись без личных сообщений.
    Спасибо за консультацию.

  • 25.04.2010 - 18:36 / defis
  • Wolverine, а можешь переписать плагин для 2z версии 0.9.7.1? Скинь на e-mail мне сколько хочешь за работу?

  • Wolverine
  • 25.04.2010 - 21:08 / Wolverine
  • defis, эх. Если время будет, скачаю 2z и посмотрю что можно сделать.

  • 6.09.2017 - 17:21 / RobertFap
  • гостиная Роза
    http://bigwork.info/

    ----------

  • 12.09.2017 - 22:08 / RobertFap
  • гостиная Роза
    http://pronews24.ru/

    ----------


последние комментарии

Ooooops

Looks like Twitter's feed isn't working at the moment.