Мы в твиттере Мы в телеграме!

DialogPM by Sander

Данный материал предоставлен сайтом ProWebber.cc исключительно в ознакомительных целях. Администрация не несет ответственности за его содержимое.
Скачать бесплатно DialogPM by Sander.

DialogPM by Sander

Продвинутая система общения между пользователями.
Модуль реализован по принципу чата, где сообщения обновляются в режиме реального времени.
За основу внешнего вида взят интерфейс телеграма и адаптирован в рамках web интерфейса и возможностей DLE.

Данный модуль я делал очень продолжительное время. Постоянно что-то переделывал или добавлял. Вот буквально на днях перед релизом добавил еще один достаточно интересный функционал для использования ЛС в качестве обратной связи с администрацией сайта. Но лучше распишу все по порядку.
Большая просьба полностью ознакомиться с описанием модуля. Практически на все вопросы вы сможете найти ответы в этой статье.


Особенности
[*] Модуль доступен только по реальному адресу example.com/pm/
[*] У каждой беседы свой URL: example.com/pm/Логин_Пользователя/
[*] Адаптивная верстка
[*] Совместимость со стандартными ЛС. Достаточно установить модуль и все старые сообщения будут отображаться в чате
[*] Очень простая установка
[*] Все действия выполняются на AJAX (за исключением перехода по страницам)
[*] Можно запретить пользователям общаться друг с другом и использовать модуль только как обратную связь с заданным списком пользователей.
[*] На 98% открытый исходный код.
[*] Никакого html в php файлах. Все в шаблонах.
[*] Русская и Английская локализация. Можно легко добавить свой языковый файл. Но в шаблонах нужно будет вручную менять тексты.


Главная страница
DialogPM by Sander

На главной странице всегда отображается сайдбар и пустой "контент". Если у группы пользователей есть ограничение на количество сообщений, то в верхней части будет отображаться прогресс бар. Если ограничений нет, то и прогресс бара соответственно тоже не будет:
DialogPM by Sander

В сайдбаре есть кнопка меню, поиск и список пользователей.
Еще важный момент. Верстка модуля сделана с поддержкой адаптивности, на мобильных устройствах главная страница будет принимать следующий вид:
DialogPM by Sander

Меню и поиск опишу отдельно. Список пользователей формируется и сортируется по дате последнего сообщения, входящего или исходящего. При этом новые не прочитанные сообщения будут всегда в начале списка.
В строке пользователя указывается: полное имя (или логин), дата последнего сообщения, логин и группа пользователя.
Так же на аватарке в виде кружочка показывается статус пользователя.
Список собеседников обновляется на AJAX с заданным интервалом. При получении нового сообщения в заголовок страницы будет дописано количество новых сообщений.
DialogPM by Sander



Меню пользователя
DialogPM by Sander

При клике на иконку меню на AJAX поверх окна подгружается меню. В нем можно очистить всю историю переписок, перейти на страницу игнорируемых пользователей (в скобочках указано их количество) и посмотреть статистику сообщений.
Если у группы пользователя есть ограничение на количество сообщений, то это будет так же отображено в статистике.
DialogPM by Sander

Думаю вы обратили внимание, что исходящих сообщений 8, а из них не прочитанных 13. Такое возможно когда пользователь написал сообщение и удалил его. А принимающая сторона еще не прочитала. Поэтому получается, что фактически в исходящих сообщения нет, но в реальности оно есть у принимающей стороны и оно еще не прочитано.


Игнорируемые пользователи
DialogPM by Sander

При клике на крестик выскочит стандартное окно подтверждения действия. При клике на сам блок профиля будет выполнен переход на страницу диалога с пользователем. При клике на иконку пользователей в левой колонке будет показан текущий список собеседников для быстрого перехода к диалогу.
DialogPM by Sander



Поиск пользователей
Я очень старался сделать его удобным и наглядным, надеюсь у меня получилось.
DialogPM by Sander

[*] Поиск выполняется на AJAX.
[*] В качестве даты отображается дата последнего посещения.
[*] В списке выполняется подсветка искомого слова.
[*] Поиск и подсветка выполнятся сразу и в полном имени и в логине.
[*] Приоритет поиска идет по логину. У кого ближе к началу искомая фраза тот выше в выдаче, затем сортировка по алфавиту
DialogPM by Sander

[*] Поиск выполняется автоматически при вводе текста, с задержкой 600мс. Но можно нажать Enter, тогда поиск будет выполнен мгновенно.


Окно чата
DialogPM by Sander

[*] В верхней части указан профиль собеседника, справа в кружочке количество сообщений в беседе (скриншот сделан из профиля test).
[*] В основном окне чата полагаю все и так понятно, последнее сообщение еще не прочитано собеседником, поэтому помечено красной полоской.
[*] Между списком сообщений и формой ввода видна красная полоска, это визуализация обратного отсчета до следующего обновления чата. Полоску при желании можно легко убрать в шаблоне.
[*] Редактор можно использовать любой стандартный: BB, FroalaEditor или TinyMCE.
[*] Если пользователь отсутствовал некоторое продолжительное время, обновление чата будет приостановлено для предотвращения выполнения ненужных запросов, время можно поменять в настройках
DialogPM by Sander

[*] Меню своего сообщения
DialogPM by Sander

[*] Меню сообщения собеседника, отличие - отсутствие возможности редактирования и есть возможность пожаловаться. При удалении сообщения будет выскакивать окно подтверждения действия
DialogPM by Sander

[*] При редактировании сообщения редакторы не отображаются, но используется обработчик BB редактора.
DialogPM by Sander

[*] При получении нового сообщения от другого (не текущего) пользователя, в левой колонке будет показано число новых сообщений
DialogPM by Sander

[*] Развернутый список пользователей, текущий пользователь выделен.
DialogPM by Sander

Поиск работает так же как на главной.
[*] Архив сообщений отображается на отдельной странице, в нем ограниченный функционал, отображаются сразу все сообщения от новых к старым.
DialogPM by Sander

[*] Можно массово удалить выбранные сообщения
DialogPM by Sander

[*] Иконка стирательной резинки позволяет полностью удалить все сообщения в текущем диалоге.
[*] При клике на кнопку игнора редактор прячется
DialogPM by Sander

[*] Если же сам пользователь находится в игноре у получателя будет следующее сообщение:
DialogPM by Sander

[*] При желании можно приостановить автообновление чата или обновить чат вручную с помощью иконок
DialogPM by Sander

[*] В зависимости от настроек можно выключить или наоборот включить звук новых сообщений
DialogPM by Sander

[*] Иконка ниже позволяет в 2 раза увеличить высоту чата для удобства чтения длинных сообщений.
[*] Запоминается состояние кнопок сайдбара: "Список пользователей", "Приостановить обновление", "Без звука" и "Развернуть".


Настройки
'limit' => 100, - максимальное видимое количество сообщений в текущем диалоге
'search_limit' => 20, - максимальное количество отображаемых пользователей при поиске
'online_time' => 10, - сколько минут бездействия считать пользователя онлайн
'interval' => 7, - интервал между обновлениями чата
'offline' => 1, - через сколько минут бездействия переводить чат в оффлайн режим
'main_interval' => 10, - интервал обновления списка пользователей на главной странице модуля
'allow_ignore' => true, - разрешить использовать игнорирование (в случае запрета, кнопки и тексты в шаблоне нужно будет убрать вручную)
'soundoff' => 0, - выключить звук. Т.е. по умолчанию изначально кнопка отключения звука будет активной
'stopupdate' => 0, - выключить автообновление чата.
'allow_search' => true, - разрешить использовать поиск пользователей на сайте
'send_email' => true, - отправлять на почту уведомление о новом сообщении.
'email_subj' => 'Новое персональное сообщение', - заголовок/тема письма
'pm_subj' => 'Новое ЛС', - модулем не используется, но т.к. используется стандартная таблица для хранения писем - необходимо указывать заголовок письма. Да и в шаблоне email сообщения используется тема.
'feedback_only' => false, - запретить пользователям общаться между собой, только с заданными списком контактов
'feedback_users' => [], - через запятую логины пользователей которым можно писать сообщения, если включен параметр выше


Шаблоны
404.tpl - страница ошибки, если указан не существующий URL или пользователь
dialog.tpl - страница диалога
dialog_item.tpl - шаблон сообщений (включая разделитель-дату)
editor.tpl - форма редактора
ignore.tpl - страница игнорируемых пользователей
index.tpl - индексная страница, основная оболочка
main.tpl - главная страница
menu.tpl - меню профиля пользователя
userlist.tpl - шаблон пользователя в списке


Демо
Адрес: d130.sandev.pro
Логины: test, crazybird, greenrabbit, angryapple
У всех пользователей из групп "Журналист" и "Главный редактор" - пароль test



Информация
Стоимость модуля 8wmz
Количество лицензий в комплекте: 2шт
Стоимость дополнительной лицензии: 3wmz
Для работы модуля требуется ionCube Loader v.6.x и старше (для PHP 7.x версия куба должна быть 10.x)
Версия DLE: 10.1 и старше (На старых версиях DLE рекомендуется использовать только BB редактор)
Версия PHP: 5.4 и старше

Купить модуль: Sander-Development Shop

Техподдержка и ответы на вопросы: DialogPM by Sander



Контакты
Skype: sander8804
Telegram: @Sandev
ICQ: 404-037-556
E-Mail: [email protected]


С уважением,
Олег Александрович a.k.a. Sander

Missing update?
Checkout our NULLED Web Community


Дополнительные ссылки на скачивание ТОЛЬКО для зарегистрированных


+2
Просмотры: 4 324 :: Комментарии (0) :: :: Нужна помощь? Задайте вопрос на форуме ::
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.

Архив новостей
Апрель 2024 (21)
Март 2024 (18)
Февраль 2024 (27)
Январь 2024 (11)
Декабрь 2023 (12)
Ноябрь 2023 (43)
Друзья сайта

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