Перейти к контенту
  • 0

Чат для 1.3


PALADIN+

Вопрос

А какой есть реально нормальный чат для 1.3?

 

Такой чтобы юзеры брались прямо из ibf_members, а не конвертировались отдельно, чтобы была общая комната для чата, и была возможность создавать отдельные. Чтобы приваты работали.

Чтобы обновлялось нормально?

Ссылка на комментарий
Поделиться на других сайтах

Рекомендуемые сообщения

  • 0

Пользую x7chat.

Если не поленишься зарегистрироваться, можно заглянуть на vesvalo.net/chat

Многокомнатный, пустые комнаты самоликвидируются через заданный интервал времени; через админку можно сделать комнату постоянной, пользователи берутся из ibf_members и автоматически копируются в таблицу x7chat2_users при первом заходе в чат; есть возможность регистрации в чате без регистрации на форуме.

Приваты корректно работают в ИЕ; в Опере есть конфликт с давилкой всплывающих окон: сообщение отдается методом innerHTML, и после вытаскивания окна из корзины окно пустое. Проблема решается включением логов - всю приватную переписку можно посмотреть в логе, а потом по желанию пользователь сам может очистить логи.

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

Плюс, у меня сделаны:

- Полная руссификация на метасимволах, работает во всех браузерах, включая КПК и мобильники;

- Автосохранение логов при очистке и возможность просмотра сохраненных логов администраторами или теми, кто знает пароль (на .htaccess).

- При входе в чат нового пользователя, ему на экран выводится последние 15 минут беседы;

- Шапка чата вынесена в отдельный html-блок, отредактировав который можно согласовать дизайн и шапку чата чата с форумными. Функциональные кнопки чата уже вынесены в шапку.

 

Если интересует, могу поделиться модифицированными файлами.

 

Чего у меня НЕ сделано - перевод на русский ниже канализации. Если возьмешься помочь с переводом ленг-файла, буду признателен.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Я что-то не понял. А как он обновляется? Каждые 4-5 секунд полностью рефрешит? Траффика и запросов к серверу при этом интересно много происходит? В комбочате я такого позорного с виду рефреша не припоминаю.

Какая у тебя версия стоит?

 

Если вот эта X7 Chat 2.0.4.4 9-01-2006 то модифицированные файлы интересуют :D Зашли на realmail@bk.ru plz

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Я что-то не понял. А как он обновляется? Каждые 4-5 секунд полностью рефрешит?

Пользователи могут сами регулировать время рефреша. По умолчанию 5 секунд.

Админ может задавать допустимые минимумы и максимумы.

 

 

Траффика и запросов к серверу при этом интересно много происходит?

Только текст новых сообщений.

С моей модернизацией трафик увеличился - все символы приводятся к формату { - зато ни у кого нет проблем с кодировками.

По наблюдениям, за час очень активного общения трафик до полумегабайта.

 

 

Какая у тебя версия стоит?

2.0.4.1

Остановился на нем, решил, что лучше сам буду доводить его до ума, чем ждать обновлений от разработчика.

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Ясно. Можно попробовать, для начала. Зашли на realmail@bk.ru
Ссылка на комментарий
Поделиться на других сайтах

  • 0

Отправил.

 

Забыл назвать еще две моих доделки:

- Вставка имени в поле ввода по клику на имени в окне беседы (как на "народе");

- особый звук входящего сообщения, содержащего твое имя (как в "капелане").

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Спасибо.

А в каком именно месте идёт

>>руссификация на метасимволах

?

И где смотреть реализацию

>>Вставка имени в поле ввода по клику на имени в окне беседы (как на "народе");

>>особый звук входящего сообщения, содержащего твое имя (как в "капелане").

 

Какие файлы модифицированы?

Ссылка на комментарий
Поделиться на других сайтах

  • 0
А в каком именно месте идёт

>>руссификация на метасимволах

?

chat/sources/frame.php

"Функция руссификации":

function c2m($str){
$cyr='А,Б,В,Г,Д,Е,Ж,З,И,Й,К,Л,М,Н,О,П,Р,С,Т,У,Ф,Х,Ц,Ч,Ш,Щ,Ъ,Ы,Ь,Э,Ю,Я,а,б,в,г,д,е,
ж,з,и,й,к,л,м,н,о,п,р,с,т,у,ф,х,ц,ч,ш,щ,ъ,ы,ь,э,ю,я,аб,ё';
$str=str_replace("Ё","Ё",$str);
$num=1040;
$cyrarr=split(",",$cyr);
foreach($cyrarr as $key => $value) 
{
$str=str_replace($value,"$num;",$str);
$num++;
}
return $str;
}

 

Ищи 7 вызовов этой функции.

 

 

 

И где смотреть реализацию

>>Вставка имени в поле ввода по клику на имени в окне беседы (как на "народе");

/*Прием чужого сообщения*/ $script .= "window.parent.document.getElementById('message_window').innerHTML += '<span class=\"other_persons\"><span style=\"cursor:hand\" class=\"other_persons\" onClick=\"java script:chatIn.msgi.value = \' $row[0] >>> \'+chatIn.msgi.value;\">$row[0]</span>$timestamp:</span> $row[2]<br>';\r\n";

 

 

 

>>особый звук входящего сообщения, содержащего твое имя (как в "капелане").

Подгрузка нового звука:

echo "<embed src='./sounds/you.mid' autostart='false' enablejavascript='true' width='0' height='0' controls='false' volume='100' name='snd_you'></embed>";

 

Определяем, есть ли обращение по нику:

$msg4you = 0;
		while($row = $db->Do_Fetch_Row($query)){
			if(!in_array($row[0],$x7c->profile['ignored'])){
				$row[2] = eregi_replace("'","\\'",$row[2]);

				if($row[1] == 1){
					//$row[2] = parse_message($row[2]);

					// See if they want a timestamp
					if($x7c->settings['disble_timestamp'] != 1)
						$timestamp = format_timestamp($row[3]);
					else
						$timestamp = "";
if( !stristr($row[2], $x7s->username) )$msg4you = 1;

$msg4you - в качестве ключа.

 

 

Воспроизводим звуки:

				if($msg4you == 1)$script .= "try { window.parent.document.snd_msg.Play(); } catch(e) {}";
			else $script .= "try { window.parent.document.snd_you.Play(); } catch(e) {}";

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Поставил себе вот этот чат. http://mods.invisionize.com/db/index.php/f/7603 вот сюда rpg-zone.ru/index.php?act=xChat

Ставится как модуль 1.3 Не нужно региться, вводить пассов. Всё с форума.

Подгружется на AJAXе. Думаю немного его поковырять (чтоб не сильно кушал траф, и был список онлайн на видном месте) и будет совсем конфетка.

 

Если кому нужно, могу написать, что делать, чтоб работала русская кодировка)

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Если кому нужно, могу написать, что делать, чтоб работала русская кодировка)

Мне понравилось, как у тебя работает.

Напиши плз, может тоже себе поставлю.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Не удивляйтесь загадочным путям папок... Я использовал куски из другого мода.

 

xChat.php, чтоб работал русский xChat.php

 

Создаём папку sources/charset

И аплоудим туда файлфайл class_convert_charset.php class_convert_charset.php

 

 

Создаём папку sources/charset/i18n/convertcharset

Аплоудим туда файлик ConvertCharset.class.php

 

Создаём папку sources/charset/i18n/convertcharset/ConvertTables

Аплоудим туда файлик windows_1251.zip (Разархивируйте его. Должен называться windows-1251)

 

Скины, ланги, админку закидываем согласно инструкции..

xchat.js заливаем вот этот xchat.zip

По идее должно работать.

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Ссылка на комментарий
Поделиться на других сайтах

  • 0

:D

 

 

в общем а потом, мы правим скины и ланг-файлы, как обычно.

Надо доделать из первостепенного - онлайн-лист, и сделать так, чтобы старые сообщения нормально исчезали, а не стирались все, через какой-то временной промежуток.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Здравствуйте уважаемые,

 

Помогите в беде! ;)

 

Маюсь садомазохизмом привинчивая последнюю версию x7chat 2.0.5.1 к форуму версии IPB 1.3 final.

Скачал все с сайта создателей чата, залил на фтп, а дальше - тупик. Потому что к пакету с чатом прилагается инструкция для установки его на версию ИПБ 2.х.х, и я утонул в поисках путей модификации скинов/шаблонов в версии 1.3.

Дополнительную радость жизни мне дает то, что инструкции - на английском, а версия ИПБ у нас - русская. Так что надо методом научного тыка сводить инструкции авторов чата с фантазиями переводчиков ИПБ.

 

Есть ли у кого-нибудь нормальная инструкция на каком-нибудь языке (по возможности, не на китайском и не на японском), с помощью которой, - а также какой-то матери, - полный даун вроде меня может установить это чудо человеческой мысли на форум ИПБ версии 1.3?

 

И еще один вопрос (теоретический) по кодировке x7chat.

В пакете установки вроде предусмотрен русский язык для пользователей (по крайней мере там стоит нечто под названием russian.php). Значит ли это то, что после установки у меня не будет проблем с нечитаемыми иероглифами на экране, или нужно еще что-то перелопачивать, чтобы устанавливать кириллицу? Может у кого есть опыт по этой части, чтоб поделиться?

 

Заранее спасибо, причем в самой резкой и категорической форме :D

Ссылка на комментарий
Поделиться на других сайтах

  • 0

2.0.5 мне так и не удалось приучить к русскому языку. У себя довел до ума 2.0.4.

Могу, если нужно, скинуть мой набор файлов и сделать инсталер БД в формате phpMyAdmin или в сипекс-дампере.

Ссылка на комментарий
Поделиться на других сайтах

  • 0
2.0.5 мне так и не удалось приучить к русскому языку. У себя довел до ума 2.0.4.

Могу, если нужно, скинуть мой набор файлов и сделать инсталер БД в формате phpMyAdmin или в сипекс-дампере.

Не, ну так быстро отвечать, это - непорядок. Надо было отписаться типа там "Ваша заявка принята на рассмотрение в 9 квартале 2032 года". :D

В любом случае спасибо за столь быструю реакцию!

 

А нужен ли инсталлер для БД? Я ведь так понял, что первоначальный install.php сам конвертирует чат под найденную БД при установки скина? Или я неправ?

В любом случае, если есть возможность чего-то сделать, чтобы я просто вместо ковыряния в SQL понаставил крестиков-ноликов в админке, то это было бы очень здорово! С учетом того, что я умею делать только 2 вещи: копать и не копать.

 

Файлы, конечно, нужны. С описанием для глухонемых чего и куда ставить, если они отличаются от стандартного пакета x7chat.

 

Мыло для получения файлов: johnanisimov@gmail.com

Ссылка на комментарий
Поделиться на других сайтах

  • 0
А нужен ли инсталлер для БД?

[8<===]

Файлы, конечно, нужны. С описанием для глухонемых чего и куда ставить, если они отличаются от стандартного пакета x7chat.

ОК, забирайте файлы. Там в двух файлах прорисована шапка от vesvalo.net - удалите или перерисуйте на свою.

Если базу поставите инсталлером, то вообще прекрасно.

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Спасибо большое! Скачал, буду разбираться.
Ссылка на комментарий
Поделиться на других сайтах

  • 0

собственно на сайте демиарт стоит чатик

 

https://blueimp.net/ajax/

 

довольно не плохой :D

мож адаптируете его к ипб ;)

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Чем он неплох?

Обычно проблемы чата начинаешь узнавать, когда наберешь в нем за 1000 пользователей.

С тем же x7-чатом: проблемы при входе с мобильника (не рефрешится), проблемы у тех, у кого пинг больше 120 - не видят своих сообщений; проблема с приватами во всех браузерах кроме ИЕ - если поздно открываешь окно привата, может потеряться первое входящее сообщение.

Зато неоспоримые плюсы: мало грузит сервер, реально тянет сотни одновременных; нормальная многокомнатность; разветвленная функциональность модераторов; возможность создания собственных групп с разными правами; возможность делегации части модераторских функций другому пользователю не из модераторской группы; удобная система звуков в чате с возможностью создания своих звуков на события...

Ссылка на комментарий
Поделиться на других сайтах

  • 0
А нужен ли инсталлер для БД?

[8<===]

Файлы, конечно, нужны. С описанием для глухонемых чего и куда ставить, если они отличаются от стандартного пакета x7chat.

ОК, забирайте файлы. Там в двух файлах прорисована шапка от vesvalo.net - удалите или перерисуйте на свою.

Если базу поставите инсталлером, то вообще прекрасно.

Я Вас приветствую. Не могли бы вы скинуть еще раз файлы Вашей версии чата с доработками? Я просто поставил у себя 2.0.5.1 и русскую кодировку я поборол, а вот с такими доработками как у Вас чат намного удобнее. Особенно обращение по нику! У меня интеграция с PhpBB 2.x.x Заранее спасибо!

ПРосто я почему не захотел более старую версию ставить - чтото много статей по интернету про SQL инъекции и прочие дыры в чате понаходил... :D

Ссылка на комментарий
Поделиться на других сайтах

  • 0
FatCat спасибо огромное! К этому моменту в версии 2.0.5.1 уже решили проблему с фичей обращения по нику так что скорей всего откатт делатся уже не будет но в перспективе пригодится!!!! Еще раз спасибо! Мне просто в версии 2.0.4 рефреш постоянный не нравится - страница моргает постоянно :D
Ссылка на комментарий
Поделиться на других сайтах

  • 0

Проблему с приватеми решили?

Если пришел вызов в приват, а ты его не сразу заметил и кликнул минут через 20 - будет ли видно первое сообщение в самом окне, или надо в логи залезать?

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Проблему с приватеми решили?

Если пришел вызов в приват, а ты его не сразу заметил и кликнул минут через 20 - будет ли видно первое сообщение в самом окне, или надо в логи залезать?

Так приват автоматом в новом окне открывается - как его можно не заметить? Хотя разве что при отсутствии у компа... Но пока не довелось так проверить.. Кстати за файл loger.php отдельное спасибо - очень полезная вещь!!!! Еще очень хочу прикрутить к новой версии фичу последних сообщений за 15 минут для вновь входящего но не вкурю как, версии файлов кардинально отличаются.

Ссылка на комментарий
Поделиться на других сайтах

  • 0
приват автоматом в новом окне открывается

Если в браузере включена давилка всплывающих окон - не открывается.

 

 

Кстати за файл loger.php отдельное спасибо - очень полезная вещь!!!!

Полезна в сочетании с функцией входа в чат первого посетителя, когда старый лог копируется в архив, и создается новый лог. Таким образом автоматически на каждую полную беседу создается свой лог.

 

 

Еще очень хочу прикрутить к новой версии фичу последних сообщений за 15 минут для вновь входящего но не вкурю как, версии файлов кардинально отличаются.

Модифицировать код генерации приветствия входящему. Если перед этим есть запрос к таблице сообщений чата - модифицировать запрос, чтобы забирать из него соощения последних 15 минут. Если нет такого запроса, то самому написать и добавить.

 

Посмотрел как у меня сделан вывод прошлых сообщений при входе.

Был код:

				$script .= "window.parent.document.getElementById('message_window').innerHTML += '<b><font color=\"$sysmsg_color\">{$x7c->room_data['greeting']}</font></b><br>';\n";

Это вывод строки приветствия.

Я сделал вывод прошлых сообщений перед приветствием, значит и код пишем перед этим кодом.

Запрос к БД: сообщения в этой комнате:

			$query = $db->DoQuery("SELECT user,type,body_parsed,time,id FROM {$prefix}messages WHERE 
								room='$_GET[room]' AND time>1 AND type='1' 
								ORDER BY time ASC");

Запускаю счетчик числа сообщений:

$counter_rows = 0;

Запускаю цикл, в цикле считаю строки

while($row = $db->Do_Fetch_Row($query)){
$counter_rows++;

перевожу ники и тексты в метасимволы, чтобы избежать проблем с кодировками

$row[0]=c2m($row[0]);$row[2]=c2m($row[2]);

перевожу время в читабельный формат

$timestamp = format_timestamp($row[3]);

и вывожу саму строку

$script .= "window.parent.document.getElementById('message_window').innerHTML += '<span class=\"other_persons\"><span style=\"cursor:hand\" class=\"other_persons\" onClick=\"java script:chatIn.msgi.value = \' $row[0] >>> \'+chatIn.msgi.value;\">$row[0]</span>$timestamp:</span> $row[2]<br>';\r\n";

закрываю цикл

}

 

Если ноль строк (не было начала беседы)

if($counter_rows == 0)

Запускаю ротатор логов:

{
include("./lib/logs.php");
$log = new logs(1,$_GET['room']);
$log->clear();
}

 

Перед тем как удалить старый лог-файл

unlink($logfile);

я добавил сохранение копии прошлого лога, если его длина не нулевая:

			if( file_exists( $logfile ) )
		{
			if( filesize( $logfile ) > 0 )
			{
				$testerd = str_replace('/logs/','_',$logfile);
				$testerd2 = str_replace('/','_',$testerd);
				if($testerd==$testerd2){
				$timercur=str_replace('/','_',$logfile)."_".date("Y_M_d_H_i").".log";
				$timercur=str_replace('._logs_','logs/',$timercur);
				copy($logfile, $timercur);
			}
		}

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Ответить на вопрос...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.