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

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

Ваяю web-chat. Знаю, технология устаревшая, сервер загружает и т.п. Но очень хотелось что-нить в этом роде :D.

 

В общем что пока умеет:

- Основан на ядре форума

- Смайлы и BBCode с форума

- Цвет сообщения

- Приваты

- Текущее настроение (на основе смайлов)

- Миничат на главной форума

- Скинозависимый, с шаблонной системой форума

 

Будет уметь:

- Собственные аватары

- Комнаты

- Кики/Баны

- Поддержка команд вида /me и т.п.

 

Текущая версия - ранняя альфа ;) (пре-альфа так сказать)

Желающим могу дать потестить, но никакой поддержки с моей стороны :).

 

Большое спасибо urisoft за советы и помощь в с js и div :). Разработка продолжается :).

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

  • Ответы 60
  • Создана
  • Последний ответ

Лучшие авторы в этой теме

Лучшие авторы в этой теме

d1pro

1. Как работают frame и iframe в Mozilla? Чат под ним не пашет по причине разности в работе.

Так же как и в остальных браузерах... :D

Не пашет потому, что window.document.all в мозиле работать и не должен. Юзай window.document.getElementById все будет работать. Соответственно добавь id c тем же значением, что и name. (Либо name убей).

2. Как правильно реализовать очистку формы? . Сейчас у меня скрытый фрэйм хватает ввод и очищает с помощью js в нем. Однако в случае с iframe, у некоторых пользователей (сам такое у себя наблюдал) в независимостри от браузера вылезает js-ошибка - доступ запрещен???

Вылезает ошибка window.parent.chatwindow.document.all(...) - есть null или не является объектом.

Ты об этой ? ;)

 

З.Ы.: Кинь мне мылом код если не жалко. :)

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

d1pro

присоединюсь к тестерам :D хотя жаль flashchat купленный ...

Добавлено в [mergetime]1102504603[/mergetime]

support [at] abc [dot] crimea [dot] ua

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

Dekker

А у тебя версия ядра какая? У просто текущий экземпляр под 2.0.x, хотя там зависимость не шибко большая от ядра (да и кода пока мало), так что очень небольшая переделка под другие версии потребуется...

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

d1pro

1.2 версия.

 

Скинозависимый, с шаблонной системой форума

вот это интересует больше всего :D а то вот кроме платного flashchat который инегриться с форумом, больше симпатичного ничего нет, да и технология флеша в этой стране пока что не сильно ... у некоторых компы не тянут ... пни первые.

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

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

 

а дело нужное, по своим наблюдаю, думал вообще пустовать будет, ан нет, ходят, общаються.

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

Dekker

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

Если я скину тебе под 2.0 версию, сможешь сам переделать? Или подождешь?

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

Грызун

Предупреждения:

(60%)

 

хочешь больше ? спроси меня как. предупреждение за флуд.

 

 

d1pro

Если я скину тебе под 2.0 версию, сможешь сам переделать? Или подождешь?

бросай, хотелось бы вообще в самом коде определиться. а там посмотрим :D

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

WaRLoCK

Смотри мои посты после строчки --------------------

BTW, подскажите плз знатоки, как два div встрочку расположить? В столбец-то оно автоматом встает :D. И как узнать размер окна?

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

d1pro

как два div встрочку расположить?

<div style='float:right;'>

<div style='float:left;'>

Правый первым !

 

И как узнать размер окна?

document.body.clientWidth

document.body.clientHeight

Если я правильно понял...

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

d1pro

т.е. смогу ли я потом оставить только

эту часть чата а тот который на главной странице отображается убрать ?

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

Salavat

Конечно :D. Просто не нужно выполнять инструкции по добавлению этой части...

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

Для того, чтобы установить.

 

Инструкция для 2.0 по установке:

 

Чтобы поставить в index.php

После

      'findpost'   => array( 'findpost'           , 'findpost'      ),

Добавить

                 'simplechat' => array( 'simplechat'         , 'simplechat'   ,"'bbcode','emoticons','badwords'," ),

После

 

$ibforums->js_base_url = $ibforums->vars['board_url'].'/index.'.$ibforums->vars['php_ext'].'?s='.$ibforums->session_id.'&';

Добавить

 

$tmp_url    = explode ("/", $ibforums->vars['board_url']);
$tmp_url[2] = $_SERVER['HTTP_HOST'];

$ibforums->vars['real_url'] = implode( "/", $tmp_url ).'/index.'.$ibforums->vars['php_ext'].'?s='.$ibforums->session_id.'&';

 

В class_display.php

                $ibforums->skin['_wrapper'] = str_replace( "<% LOFIVERSION %>"    , $this->_get_lofi_link()  ,
$ibforums->skin['_wrapper']);

 

Добавить

 

              if ( $ibforums->input['act'] == 'idx' )
             {
                  $ibforums->skin['_wrapper'] = str_replace( "<% SIMPLECHAT %>",
                                                             $ibforums->skin_global->simplechat_main( array( 'mid'   =>
$ibforums->member['id'],
                                                                                                             'room'  => 1,
                                                                                                             'color' =>
htmlspecialchars( substr( $std->my_getcookie('chat_msg_color'), 0, 7 ) ) ) ),
                                                             $ibforums->skin['_wrapper']);
             }
             else
             {
                     $ibforums->skin['_wrapper'] = str_replace( "<% SIMPLECHAT %>", "", $ibforums->skin['_wrapper'] );
             }

Еще таблицу нужно добавить.

CREATE TABLE `ibf_chat_messages` (
 `id` int(11) NOT NULL auto_increment,
 `name` varchar(32) NOT NULL default '',
 `mid` mediumint(8) NOT NULL default '0',
 `mgroup` smallint(3) NOT NULL default '0',
 `to_mid` mediumint(8) NOT NULL default '0',
 `message` text,
 `color` varchar(32) NOT NULL default '',
 `room` smallint(5) NOT NULL default '0',
 `time` int(10) NOT NULL default '0',
 `ip_address` varchar(16) NOT NULL default '',
 `to_mid_name` varchar(32) default NULL,
 `to_mid_mgroup` mediumint(8) default NULL,
 PRIMARY KEY  (`id`),
 KEY `time` (`time`),
 KEY `ip_address` (`ip_address`),
 KEY `room` (`room`)
)

 

И в ibf_member_extra еще поле добавилось chat_mood varchar(128)

default NULL

 

И в global html нужно еще добавить simplechat_main ( $data )

 

<div style='display:none' id='fc_simplechat'>
 <div class='borderwrap'>
   <div class='maintitlecollapse' align='center'>
     <div style='float:right;width:auto'><a href="javascript:togglecategory('simplechat', 0)"><{E_PLUS}></a></div>
     Simple Chat | <a href='{ipb.script_url}act=simplechat'>Full version</a>    </div>
 </div>
</div>
<div style='display:' id='fo_simplechat'>
 <div class='borderwrap'>
   <div class='maintitle' align='center'>
     <div style='float:right;width:auto'><a href="javascript:togglecategory('simplechat', 1)"><{E_MINUS}></a></div>
     Simple Chat | <a href='{ipb.script_url}act=simplechat'>Full version</a>
   </div>
   <table align='center' width='100%' class='row2' cellspacing='1' cellpadding='3'>
     <tr>
       <td class='row2' width='100%' align='left' valign='top'>
        <iframe name='serv1' src='{ipb.vars['real_url']}act=simplechat&CODE=msgserv_small&reset=1' width='0' height='0' scrolling='auto' frameborder='0'>
</iframe>
        <iframe name='serv2' width='0' height='0' scrolling='auto' frameborder='0'>
</iframe>
<div style='height:120px;overflow:auto' id='chatwindow'>
Wait a sec till we got this working :)
</div>
       </td>
     </tr>
     <tr>
       <td align='left' class='row2'>
	 <form name='REPLIER' method='post' action="{ipb.vars['real_url']}" target='serv2' autocomplete='off' onsubmit='return ValidateInput()' enctype='multipart/form-data'>
   <input type='hidden' name='act' value="simplechat" />
   <input type='hidden' name='CODE' value="add" />
   <input type='hidden' name='mid' value="{$data['mid']}" />
   <input type='hidden' name='room' value="{$data['room']}" />
   <input type='hidden' name='to_mid_work' value="" />
   <input type='hidden' name='to_mid' value="" />
   <input type='hidden' name='Post_post' value="" />
   <input type='hidden' name='type' value="small" />
   <input type='hidden' name='color' value="{$data['color']}" />
   <input type='text' size=50 name='Post' class="form" value="" />
   <input type='submit' value="Send" class="form" />
   <input type='button' value='Smilies' class='forminput' onclick='emo_pop();' />
   <input type='button' value='Colors' class='forminput' onclick='color_pop();' />
   <script type="text/javascript">
  	 <!--

function ValidateInput()
{
 MessageLength  = document.REPLIER.Post.value.length;
 
	 if (MessageLength < 2)
	 {
   return false;
	 }  
	 else
	 {
   document.REPLIER.Post_post.value = document.REPLIER.Post.value;
   document.REPLIER.Post.value = "";
   document.REPLIER.to_mid.value = document.REPLIER.to_mid_work.value;
   document.REPLIER.to_mid_work.value = "";
   return true;
	 }
}

   function ins_code(text)
   {
         parent.document.REPLIER.Post.value += text;
         parent.document.REPLIER.Post.focus();
   }

   function toggle_pm(mid, imgid)
   {
               oldimg = my_getcookie('chat_selpmimgs');
               my_setcookie('chat_selpmimgs', imgid, 0);

               parent.document.REPLIER.to_mid_work.value = mid;

               eval(" document.img"+oldimg+".src='style_images/1/private_off.gif'");
               eval(" document.img"+imgid+".src='style_images/1/private_on.gif'");
   }
  	 function emo_pop(){
     window.open("{ipb.script_url}act=legends&CODE=emoticons","Legends","width=250,height=500,resizable=yes,scrollbars=yes"); 
  	 }
	 
  	 function color_pop(){
     window.open("{ipb.script_url}act=simplechat&CODE=color_pick","Legends","width=400,height=100,resizable=yes,scrollbars=yes"); 
  	 }	
  	 //-->
   </script>
	 </form>        
       </td>
     </tr>
   </table>
 </div>
</div>

И во враппер нужно добавить <% SIMPLECHAT %>

Добавлено в [mergetime]1102939388[/mergetime]

Чат по прежнему не доделан, в нем не хватает множества функций, так что никакой поддержки с моей стороны.

Пока замечания - таблица с постами сама не очищается. Баны в чате пока тоже отсутствуют...

simplechat.zip

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

И в global html нужно еще добавить simplechat_main ( $data )

объясни по подробнее как это сделать

Добавлено в [mergetime]1102978411[/mergetime]

d1pro

а можешь ещё сделать графические ники или такая фича есть на чатах разноцветный цвет, тоесть можно печатать переливающимся цветами :D

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

Грызун

Предупреждал ведь, никак поддерживать не буду эту версию, тока для опытных... В скинах это добавляется, в админке, в соответствующей секции. Думаю как добавить ссылку в шапку объяснять не нужно...

тоесть можно печатать переливающимся цветами

ИМХО излишество...

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

Помогите разобраться с footer, постоянно окно в низу вылезает. Упарился уже ... :D Так-же, эксперименты с id="ipbwrapper" - толку не дали. Закиньте кусок рабочего кода, пожалуйста.
Ссылка на комментарий
Поделиться на других сайтах

register

Эх, текущая версия не поддерживается :D. Цвета фрэймов задаются в скинах, в style их div. Там можно и класс уже имеющийся задать для них.

Враппер - это в скинах борды - Board Wrapper (ACP -> Skin Manager -> Board Wrapper).

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

register

d1pro

я понел что в админке только как там это создать до меня не доходит

 

И в global html нужно еще добавить simplechat_main ( $data )

 

как это добавить

simplechat_main ( $data )
я понел что в глобал, но не дошло в файл закинуть илил новый создать??... :D
Ссылка на комментарий
Поделиться на других сайтах

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

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

Гость
Ответить в этой теме...

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

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

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

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

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

Зарузка...

×
×
  • Создать...

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

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