Онлайн чат через модуль «Гостевая книга» by uCodes для сайтов на uCoz [Исправления от IMAPO в 2023 году]
Очередное супер-пупер навороченное творение от uCodes!
В этот раз парни забабахали полноценный мини-чат через простой модуль Гостевая книга!
В общем, нет слов - просто замечательно!
Описание от авторов скрипта: Данный скрипт чата сделан из модуля Гостевая книга. Реализованы некоторые полезные функции, которые делают его очень удобным. Реализованы опции, которые каждый пользователь может легко и быстро настроить:
— Авто открытие списка смайлов (onfocus textarea)
— Авто обновление сообщений через указанный интервал
— Отправка сообщений комбинацией клавиш Ctrl+Enter
— Выбор цвета сообщений, которые адресованы Вам (скриншот)
— Красивая панелька основных ББ-кодов (разработанная специально для чата)
— Возможность скрыть панель ББ-кодов (если мешает)
— Уведомление о обновлении сообщений в чате, а также возможность отключить уведомление
— Панель с аватаркой и ссылкой на профиль и ЛС возле каждого пользователя
— Возможность обновить чат в любой момент
— У администрации есть возможность удалять любые сообщения
— Поддержка капчи. Простые пользователи не могут удалять свои сообщения (не предусмотрено системой uCoz).
Возможно, в следующих версиях скрипта это будет. Чат сделает ваш сайт не таким скучным, как он был. Пользователям будет интересно общаться в этом удобном чате.
Установка:
1#: В то место, где будет сам чат, вставляйте:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
<link type="text/css" rel="StyleSheet" href="/css/chat-styles.css"> <div id="gbchat"> <div id="gbcb1"> <div style="text-align: center; padding-top: 50px"> Загрузка… </div> </div> <div id="bbcodesInChat" style="padding: 3px;"> <img align="absmiddle" alt="" class="bbcodeImgChat" onclick="bbcodeChat('b');" src="/images/format-text-bold.png" title="Жирный"> <img align="absmiddle" alt="" class="bbcodeImgChat" onclick="bbcodeChat('i');" src="/images/format-text-italic.png" title="Курсив"> <img align="absmiddle" alt="" class="bbcodeImgChat" onclick="bbcodeChat('u');" src="/images/format-text-underline.png" title="Подчеркнутый"> <img align="absmiddle" alt="" class="bbcodeImgChat" onclick="bbcodeChat('code');" src="/images/script_code.png" title="Вставить код"> <img align="absmiddle" alt="" class="bbcodeImgChat" onclick="bbcodeChat('spoiler');" src="/images/miscellaneous2.png" title="Спойлер"> <img align="absmiddle" alt="" class="bbcodeImgChat" onclick="bbcodeChat('quote');" src="/images/user_comment.png" title="Вставить цитату"> </div> <textarea id="txtchatGB" onfocus="ifchatautosmiles();" onkeypress="ctrlpost(event, gbch.post);"></textarea> <div class="postbuttons-chat"> <div class="pstt-chat"> <img align="absmiddle" alt="" id="statimg-chat" src="/images/load.gif" style="border: 0;padding:3px 0px 0px 2px; display: none"> </div> <input class="ch-b-send" onclick="gbch.post();" title="Ctrl + Enter" type="button" value="Отправить"> <input class="ch-b-sml" onclick="smilesToggleChat();" title="Список смайлов" type="button" value=":)"> <input class="ch-b-opt" onclick="optionschat();" title="Опции" type="button" value="~"> <input class="ch-b-opt" id="reloadchatbutton" onclick="myreloadchat();" title="Обновить" type="button" value="R"> <span id="reNewPostsChat" style="color: green; font-size: 10px; padding-left: 10px; display: none;">Обновлено</span> </div> </div> <script type="text/javascript"> var ucodes = {ru:{logged: "$USER_LOGGED_IN$", login: "$USERNAME$"}}; includeJSfile("/js/ucodes.ru.chat.js", "uchat"); </script> |
2#: В Виде материалов гостевой книги замените весь код на:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
<div class="blockGbChat $CLASS$"> <div style="float: left"> <span onclick="toUmane('<?if $USERNAME$?>$USERNAME$<?else?>Гость<?endif?>');" class="gbchatnick"> <?if $USERNAME$?>$USERNAME$<?else?>Гость<?endif?></span> </div> <div style="text-align: right"> <span title="$DATE$" class="gbct-nav" style="color: grey; font-size: 9px;">$TIME$</span> <?if $MODER_PANEL_RIGHT$ ?><span title="Редактировать" class="gbct-nav" onclick="pda_edit($(this));"><img src="/images/board.png" align="absmiddle" border="0"></span> <span title="Удалить" class="gbct-nav" onclick="pda_del($(this));"><img src="/images/error.png" align="absmiddle" border="0"></span><?endif?> <span title="$USERNAME$" class="gbct-nav" onclick="<?if substr($PROFILE_URL$, strpos($PROFILE_URL$,"/index/8-")+9,strpos(substr($PROFILE_URL$,strpos($PROFILE_URL$,'/index/8-')+9),"'")) != $CUR_USER_ID$?>userChatNav({num: '$NUMBER$'},this);<?else?>_uWnd.alert('Это сообщение написали Вы.', 'Капитан Очевидность', {w: 200, h: 70, tm: 5000});<?endif?>"><img src="http://ucodes.ru/upload/icons/user_gray.png" align="absmiddle" border="0"></span> </div> <div class="hrchat"></div> <span class="messageChatMess">$MESSAGE$</span> <?if substr($PROFILE_URL$, strpos($PROFILE_URL$,"/index/8-")+9, strpos(substr($PROFILE_URL$,strpos($PROFILE_URL$,'/index/8-')+9),"'")) != $CUR_USER_ID$?> <div id="chb$NUMBER$" class="chat-block-div" onmouseover="menuJJ(this, 1);" onmouseout="menuJJ(this, 0);"> <div class="cbgbH"> <div style="text-align: center; margin-bottom: 10px;"> <?if $USER_AVATAR_URL$?> <img src="$USER_AVATAR_URL$" onerror="this.src='/images/noava.png'" style="border: 0px; max-height: 150px; max-width: 150px;"> <?else?> <img src="/images/noava.png" style="border: 0px; max-height: 150px; max-width: 150px;"> <?endif?> </div> <div class="menu-chat-link prfl-mcg" onmouseover="$(this).toggleClass('gvr-chgbl');" onmouseout="$(this).toggleClass('gvr-chgbl');" onclick="menuNavChat('<?substr($PROFILE_URL$, strpos($PROFILE_URL$,"/index/8-")+9,strpos(substr($PROFILE_URL$,strpos($PROFILE_URL$,'/index/8-')+9),"'"))?>', 0);">Профиль</div> <?if $USER_LOGGED_IN$?> <div class="menu-chat-link prfl-pm" onmouseover="$(this).toggleClass('gvr-chgbl');" onmouseout="$(this).toggleClass('gvr-chgbl');" onclick="menuNavChat('<?substr($PROFILE_URL$, strpos($PROFILE_URL$,"/index/8-")+9, strpos(substr($PROFILE_URL$, strpos($PROFILE_URL$,'/index/8-')+9),"'"))?>', 1);">Отправить ЛС</div> <?endif?> </div> </div> <?endif?> </div> |
3#: Идите в ПУ - Настройки модуля Гостевая книга и настройте параметры этого модуля под себя
4#: Теперь там же, в ПУ, настройте права групп пользователей для Гостевой книги (Желательно разрешить всем пользователям добавлять сообщения и отключить премодерацию)
#5: В настройках группы "Пользователи" поставьте галочку напротив пункта "Не показывать код безопасности":
Осталось лишь залить JS файл из прикреплённого архива в папку js, CSS файл в папку css и все картинки в папку images
Источник скрипта: ucodes.ru
P.S. Исправления от IMAPO:
1. Исправлена проблема с появлением и отправкой смайлов
2. В описании добавлен пункт 5, который исправляет проблему с отправкой сообщений для группы "Пользователи". Отправка не работала, так как uCoz привязали к форме гостевой книги капчу от Гугл
3. Добавлена поддержка PDA версии. Возвращены функции удаления и редактирования сообщений
4. Добавлена функция редактирования сообщений
5. Переписан метод получения SSID и оптимизирован код удаления сообщений
Рабочее ДЕМО можете посмотреть на apo.ucoz.com
Что-то он постоянно думает и ничего не происходит. Точнее сообщения не добавляются. К сожалению не доработан данный скрипт
Со времени разработки данного скрипта было очень много обновлений uCoz. Возможно, часть кода уже неактуальна
Внёс изменения в скрипт. Теперь сообщения добавляются от группы "Пользователи". Чтобы отправка заработала, изучи новый пункт 5 в описании к материалу. Прикреплённый архив также был перезалит
http://gde31.ru/gb/
Почините данный скрипт, открытие смайлов, удаление комм не работает
Не уверен, что сейчас актуально дорабабтывать данный скрипт
Даже очень актуально)) вам же не трудно а другим будет приятно 😅
Гляну на досуге. Года два уже ничего не делал для uCoz
И ещё одна большая просьба, сделайте кнопки удаление и редактирование комментарий в пда версии "гостевой книги"
Кому только не обращался насчёт этого, клянусь 7-9 чел не смогли с этим справиться 😁
Все говорили что в пда версии нет модер панель и поэтому надо писать через скрипт "но так и не смогли" 🫣
Я щас немного поломал голову с PDA версией. Там хоть и есть оператор, отвечающий за модер панель, но он не работает. Хотел использовать родной скрипт удаления материалов от uCoz, так он работает через ID материала, а в PDA версии даже нет нужного оператора 😐
Переписал часть скрипта и смог победить. Теперь работает как редактирование, так и удаление материалов как в обычной, так и в PDA версии
Скрипт доработан. Архив перезалит. В описание внесён новый 5-й пункт, исправляющий проблему с отправкой у группы "Пользователи"
Ещё заметил что что там кнопка смайлики не реагирует, не открывается модаль окно.😀
Спасибо за исправления.
Пожалуйста!
Работает) еще раз спасибо вам =)
А можно ли как-то сделать так чтобы каждый автор своего материала смог удалить свои комментарии или редактировать, а то только админ или модер может) это очень большой минус
К сожалению, такие права не позволяет выдать система uCoz... Для Гостевой книги нет возможности редактирования и удаления сообщений для обычных пользователей. На то она и Гостевая книга