В этот раз парни забабахали полноценный мини-чат через простой модуль Гостевая книга!
В общем, нет слов - просто замечательно!
Описание от авторов скрипта:
Данный скрипт чата сделан из модуля Гостевая книга. Реализованы некоторые полезные функции, которые делают его очень удобным. Реализованы опции, которые каждый пользователь может легко и быстро настроить:
Фишки
Авто открытие списка смайлов (onfocus textarea)
Авто обновление сообщений через указанный интервал
Отправка сообщений комбинацией клавиш Ctrl+Enter
Выбор цвета сообщений, которые адресованы Вам
Красивая панель основных ББ-кодов (разработанная специально для чата)
Возможность скрыть панель ББ-кодов (если мешает)
Уведомление о обновлении сообщений в чате, а также возможность отключить уведомление
Панель с аватаркой и ссылкой на профиль и ЛС возле каждого пользователя
Возможность обновить чат в любой момент
У администрации есть возможность удалять любые сообщения
Поддержка капчи. Простые пользователи не могут удалять свои сообщения (не предусмотрено системой uCoz).
Возможно, в следующих версиях скрипта это будет. Чат сделает ваш сайт не таким скучным, как он был. Пользователям будет интересно общаться в этом удобном чате.
Установка:
1#: В то место, где будет сам чат, вставляйте:
Код
<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>
<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#: В Виде материалов гостевой книги замените весь код на:
Код
<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>
<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
P.S. Исправления от IMAPO:
1. Исправлена проблема с появлением и отправкой смайлов
2. В описании добавлен пункт 5, который исправляет проблему с отправкой сообщений для группы "Пользователи". Отправка не работала, так как uCoz привязали к форме гостевой книги капчу от Гугл
3. Добавлена поддержка PDA версии. Возвращены функции удаления и редактирования сообщений
4. Добавлена функция редактирования сообщений
5. Переписан метод получения SSID и оптимизирован код удаления сообщений