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

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

Ваяю 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
Ссылка на комментарий
Поделиться на других сайтах

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

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

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

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

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

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

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

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

Зарузка...

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

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

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