форум vBSupport.ru > vBulletin > vBulletin 3.8.x > Хаки, моды и скрипты 3.8
Register Меню vBsupport Изображения Files Manager О рекламе Today's Posts Search
  • Родная гавань
  • Блок РКН снят
  • Premoderation
  • For English speaking users
  • Каталог Фрилансеров
  • If you want to buy some product or script
  • Администраторам
VBsupport перешел с домена .ORG на родной .RU Ура! Пожалуйста, обновите свои закладки - VBsupport.ru
Блок РКН снят, форум доступен на всей территории России, включая новые терртории, без VPN
На форуме введена премодерация ВСЕХ новых пользователей

Почта с временных сервисов, типа mailinator.com, gawab.com и/или прочих, которые предоставляют временный почтовый ящик без регистрации и/или почтовый ящик для рассылки спама, отслеживается и блокируется, а так же заносится в спам-блок форума, аккаунты удаляются
for English speaking users:
You may be surprised with restriction of access to the attachments of the forum. The reason is the recent change in vbsupport.org strategy:

- users with reputation < 10 belong to "simple_users" users' group
- if your reputation > 10 then administrator (kerk, Luvilla) can decide to move you into an "improved" group, but only manually

Main idea is to increase motivation of community members to share their ideas and willingness to support to each other. You may write an article for the subject where you are good enough, you may answer questions, you may share vbulletin.com/org content with vbsupport.org users, receiving "thanks" equal your reputation points. We should not only consume, we should produce something.

- you may:
* increase your reputation (doing something useful for another members of community) and being improved
* purchase temporary access to the improved category:
10 $ for 3 months. - this group can download attachments, reputation/posts do not matter.
20 $ for 3 months. - this group can download attachments, reputation/posts do not matter + adds eliminated + Inbox capacity increased + files manager increased permissions.

Please contact kerk or Luvilla regarding payments.

Important!:
- if your reputation will become less then 0, you will be moved into "simple_users" users' group automatically.*
*for temporary groups (pre-paid for 3 months) reputation/posts do not matter.
Уважаемые пользователи!

На форуме открыт новый раздел "Каталог фрилансеров"

и отдельный раздел для платных заказов "Куплю/Закажу"

Если вы хотите приобрести какой то скрипт/продукт/хак из каталогов перечисленных ниже:
Каталог модулей/хаков
Ещё раз обращаем Ваше внимание: всё, что Вы скачиваете и устанавливаете на свой форум, Вы устанавливаете исключительно на свой страх и риск.
Сообщество vBSupport'а физически не в состоянии проверять все стили, хаки и нули, выкладываемые пользователями.
Помните: безопасность Вашего проекта - Ваша забота.
Убедительная просьба: при обнаружении уязвимостей или сомнительных кодов обязательно отписывайтесь в теме хака/стиля
Спасибо за понимание
 
 
 
 
busyava
Продвинутый
 
busyava's Avatar
Default AJAX Web Chat
3

перепечатка отсюда, но теперь и с поддержкой 3.8.*

If you are looking for a nice chat, try out the AJAX Web Chat". There is also a VBulletin Integration, which works fine.

у кого проблемы с кодировкой

PHP Code:
DROP TABLE IF EXISTS ajax_chat_online;
CREATE TABLE ajax_chat_online (
    
userID INT(11NOT NULL,
    
userName VARCHAR(64NOT NULL,
    
userRole INT(1NOT NULL,
    
channel INT(11NOT NULL,
    
dateTime DATETIME NOT NULL,
    
ip VARBINARY(16NOT NULL
ENGINE=MyISAM DEFAULT CHARSET=utf8;

DROP TABLE IF EXISTS ajax_chat_messages;
CREATE TABLE ajax_chat_messages (
    
id INT(11NOT NULL AUTO_INCREMENT,
    
userID INT(11NOT NULL,
    
userName VARCHAR(64NOT NULL,
    
userRole INT(1NOT NULL,
    
channel INT(11NOT NULL,
    
dateTime DATETIME NOT NULL,
    
ip VARBINARY(16NOT NULL,
    
text TEXT,
    
PRIMARY KEY (id)
ENGINE=MyISAM DEFAULT CHARSET=utf8;

DROP TABLE IF EXISTS ajax_chat_bans;
CREATE TABLE ajax_chat_bans (
    
userID INT(11NOT NULL,
    
userName VARCHAR(64NOT NULL,
    
dateTime DATETIME NOT NULL,
    
ip VARBINARY(16NOT NULL
ENGINE=MyISAM DEFAULT CHARSET=utf8
и в конфиге

PHP Code:
// The encoding used for the XHTML content:
$config['contentEncoding'] = 'cp1251';
// The encoding of the data source, like userNames and channelNames:
$config['sourceEncoding'] = 'cp1251';
// The content-type of the XHTML page (e.g. "text/html", will be set dependent on browser capabilities if set to null):
$config['contentType'] = null
для того чтобы сделать только избранные разделы форума в качестче каналов чата

PHP Code:
// Default channelName used together with the defaultChannelID if no channel with this ID exists:
$config['defaultChannelName'] = 'название раздела который будет дефолтным';
// ChannelID used when no channel is given:
$config['defaultChannelID'] = id раздела который будет дефолтным;
// Defines an array of channelIDs (e.g. array(0, 1)) to limit the number of available channels, will be ignored if set to null:
$config['limitChannelList'] = array(id разделов которые хотите сделать каналами чата через запятую);] 
права доступа к каналам будут такимиже как у разделов форума. (тоесть если у вас есть раздел тока админы и вы сделаете такойже канал то и в канал войдут тока админы. ну или например есть раздел тока для женщин, сделав его каналом получим канал тока для женщин)

ну и для завершения делаем вывод Кто в чате на главную форума (оформлять модулем лениво поэтому кодом)
в меню Добавить новый модуль
Продукт - vbulletin
Местоположение модуля - forumhome_complete
Заголовок - spitajax_chat_online
Код PHP модуля

PHP Code:
$latestajax_chat_online $db->query(
SELECT userID, userName, dateTime
   FROM ajax_chat_online


   ORDER BY dateTime DESC 
   LIMIT 50

"
); 
while (
$showajax_chat_online=$db->fetch_array($latestajax_chat_online)) 

    
$counter++; 

    
$userID $showajax_chat_online['userID'];
    
$ajax_chat_online_userName $showajax_chat_online['userName'];
   
    
$ajax_chat_online_dateTime vbdate($vbulletin->options['dateformat'], $showajax_chat_online['dateTime']);
   

    
$ajax_chat_online_userName=iconv('UTF-8','Windows-1251',$ajax_chat_online_userName);
    
$spitajax_chat_online .= "<a href=\"chat/\">$ajax_chat_online_userName</a>";

    if (
$counter 50
    { 
        
        
$spitajax_chat_online .= " "
    } 

для UTF-8 (во избежание кракозябр на главной странице):

PHP Code:
$latestajax_chat_online $db->query(
SELECT userID, userName, dateTime
   FROM ajax_chat_online


   ORDER BY dateTime DESC 
   LIMIT 50

"
); 
while (
$showajax_chat_online=$db->fetch_array($latestajax_chat_online)) 

    
$counter++; 

    
$userID $showajax_chat_online['userID'];
    
$ajax_chat_online_userName $showajax_chat_online['userName'];
   
    
$ajax_chat_online_dateTime vbdate($vbulletin->options['dateformat'], $showajax_chat_online['dateTime']);
   

    
$ajax_chat_online_userName=iconv('UTF-8','UTF-8',$ajax_chat_online_userName);
    
$spitajax_chat_online .= "<a href=\"chat/\">$ajax_chat_online_userName</a>";

    if (
$counter 50
    { 
        
        
$spitajax_chat_online .= " "
    } 

включаем модуль и сохраняем.
редактируем шаблон forumhome
найти

PHP Code:
<!-- end logged-in users --> 
выше добавить

PHP Code:
<tbody>
    <
tr>
        <
td class="thead" colspan="2">
            <
a style="float:$stylevar[right]href="#top" onclick="return toggle_collapse('forumhome_stats')"><img id="collapseimg_forumhome_stats" src="$stylevar[imgdir_button]/collapse_thead$vbcollapse[collapseimg_forumhome_stats].gif" alt="" border="0" /></a>
            <
phrase 1="$vboptions[bbtitle]">Сейчас в чате</phrase>
        </
td>
    </
tr>
</
tbody>
<
tbody id="collapseobj_forumhome_activeusers" style="$vbcollapse[collapseobj_forumhome_activeusers]">
    <
tr>
        <
td class="alt2"><a href="chat/"><img src="$stylevar[imgdir_misc]/whos_online.gif" alt="$vbphrase[view_whos_online]border="0" /></a></td>
        <
td class="alt1" width="100%">
            <
div class="smallfont">
                <
div style="white-space: nowrap">$spitajax_chat_online</div>
                
            </
div>
        </
td>
    </
tr>
</
tbody

в опере 9.60 съезжает вправо чат. причем только под админом (возможно под модератором)

в файле chat/js/chat.js

PHP Code:
');"> </a>' // Adding a space - without any content Opera messes up the chatlist display 
и межу > < заменить пробел на что-нибудь другое, например на "_"


Настройка и установка:

1) Заливаешь начинку в папку forum/chat
дальше настраиваешь конфиг. точнее хватает только указать тип базы.('mysql' например)
все остальное он берет из настроек форума.

PHP Code:
// Database connection values:
$config['dbConnection'] = array();
// Database hostname:
$config['dbConnection']['host'] = null;
// Database username:
$config['dbConnection']['user'] = null;
// Database password:
$config['dbConnection']['pass'] = null;
// Database name:
$config['dbConnection']['name'] = null;
// Database type:
$config['dbConnection']['type'] = 'mysql';
// Database link:
$config['dbConnection']['link'] = null
2) дальше заливаешь в булковсую бд файл chat.sql

3) заходишь в www.mysite.ru/forum/chat
и все работает. если появляются косяки с кодировкой то заходите в файл конфигурации

у меня все корректно отображается при вот таких настройках:

// The encoding used for the XHTML content:
$config['contentEncoding'] = 'ISO-8859-1';
// The encoding of the data source, like userNames and channelNames:
//$config['sourceEncoding'] = 'ISO-8859-1';
$config['sourceEncoding'] = 'cp1251';

больше для дефолтовой работы ничего не надо.
все остальное это макияж.

скрины:

https://blueimp.net/ajax/img/screens...line-users.png
https://blueimp.net/ajax/img/screens...line-users.png
https://blueimp.net/ajax/img/screens...y-settings.png


DEMO
Attached Files
File Type: zip ajax_chat-0.8.5a_vBulletin.zip (483.5 KB, 14 views)

Last edited by busyava : 06-14-2012 at 05:26 PM.
Bot
Yandex Bot Yandex Bot is online now
 
Join Date: 05.05.2005
Реклама на форуме А что у нас тут интересного? =)
 
 
busyava
Продвинутый
 
busyava's Avatar
Default
0

а как бы сделать чтоб в навбаре наряду с пунктом чат было количество юзеров в чате?
вот так: чат(кол-во_юзеров) = чат(15)

Last edited by busyava : 06-14-2012 at 05:51 PM. Reason: Добавлено сообщение
 
 
alexboss
Простоузер
Default
0

Quote:
Originally Posted by busyava View Post
а как бы сделать чтоб в навбаре наряду с пунктом чат было количество юзеров в чате?
вот так: чат(кол-во_юзеров) = чат(15)
Актуально, тоже хотелось бы знать.. Подскажет кто?
 

Tags
chat, чат для vb


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off




All times are GMT +4. The time now is 05:58 PM.


Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.