Перейти к контенту
  • 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);
			}
		}

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

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

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить на вопрос...

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

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

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

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

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

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

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

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