Категория:
DataLife Engine, DLE модули
Добавил:
admin
Дата:
1-06-2015, 11:40
Предлагаю вашему вниманию модифицированный модуль для личных сообщений, позволяющий обмениваться сообщениями в реальном времени (на подобии чата).
Это окно расположено фиксированно в правом нижнем углу, отображается тогда, когда есть новые сообщения.
В нем выводится список пользователей, которые написали вам сообщение. В строке выводится его логин, в скобках количество новых сообщений и дата последнего сообщения. При клике на поле - сразу открывается диалог с выбранным пользователем. Окно-информатор скрывается.
Так же при клике на шапку окна - открывается окно диалогов.
В самом низу есть маленькая черная стрелка, при клике на нее список сворачивается и не занимает много места. Состояние панели запоминается в cookies.
Так же при получении новых сообщений воспроизводится звуковой сигнал.
JS
Частота обновления окна чата
Сколько раз будет обновляться окно чата с момента последнего бездействия
PHP
revers_userchat = 1 - Если 1, то в пользовательском чате последние сообщения будет сницу. Если 0, то новые будут сверху. (Так же нужно править значение в файле {THEME}/fpm/assets/script.js)
spam = 20 - Сколько пользователей должны быть пометить сообщения спамера как "спам", чтобы запретить писать сообщения
onpage = 10 - Количество сообщений выводимых на главной странице
online_time = 300 - Сколько секунд с момента последнего посещения пользователь считается online
max_message = 65000 - Максимальная длина сообщения, символов
email_notify = 1 - Если 1, то на email будет приходить уведомление о новых сообщениях. Если 0, то не будет.
1. Исправляем лаг, когда сообщения уходили в минуса:
Открываем файл engine/ajax/fpm/send.php и находим:$db->query( "UPDATE " . USERPREFIX . "_users set pm_unread=pm_unread-1 where user_id='{$member_id['user_id']}'" );
И удаляем или закомментируем данную строку. Вот и всё =)
2. Убираем отправку ЛС самому себе:
Открываем engine/moduls/pm.php и После:if (!$db->num_rows() ) $stop .= $lang['pm_err_4'];
Вставляем: if($name == $member_id['name'])
{
$stop .= $lang['pm_err_10'];
}
Открываем language/Russian/website.lng и После:'pm_err_9' => "Ваш ящик достиг максимального количества полученных сообщений. Вы не сможете больше получать персональные сообщения до тех пор, пока не удалите лишние сообщения.",
Вставляем:'pm_err_10' => "Вы пытаетесь отправить персональное сообщение самому себе!",
Открываем файл engine/ajax/fpm/send.php и находим:if($ignore['id']) die("Вы не можете отправлять сообщения выбранному пользователю");
Добавляем выше:if($name == $member_id['name']) die("Вы не можете отправлять сообщения самому себе!");
Также добавлен FIX для dle 10.3. (Скачиваем сам модуль, потом fix, заливаем по очереди, сначала модуль потом fix с подтверждением на замену и всё)
Вы не можете скачивать файлы с нашего сервера, чтоб скачать вам нужно зарегистрироватся на сайтеВы не можете скачивать файлы с нашего сервера, чтоб скачать вам нужно зарегистрироватся на сайтеВы не можете скачивать файлы с нашего сервера, чтоб скачать вам нужно зарегистрироватся на сайте