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

Интеграция Flashchat и IPB 2.x


Timx

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

Хм.. а есть бесплатная версия?? Я не знал..

----

 

Вообще достаточно регулярно обновляется и с каждым днем появляются все новые и новые фишки. (обо всем можно прочитать на tufat.com)

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

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

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

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

wkeeper

Хм.. а есть бесплатная версия?? Я не знал..

в осле валяеться :D но после нее пошел и прибрел таки, благо цена вполне соизмерима.

 

кстати я не понял одного, апгрейд прийдеться покупать или нет ?

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

апгрейд прийдеться покупать или нет ?

 

What you get...

 

All PHP & Flash (.FLA) source code, easy installation instructions, and instructions for integration into a variety of CMS systems. FREE Upgrades!

 

последние 2 слова даже красным выделенны :D

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

Аналогичный трабл как и у Timxа

 

чмод стоял 777

все равно еррор в

QUOTE

inc/classes/db.php on line 52

 

 

Как автоматом заходить в админпанель

разве что только из admin.php но там автологин не катит!

 

А я нашел в чем проблема. Ты наверняка изменил название группы Admin в IPB на что то вроде: "Всемогущий админ"

Тебе осталось поменять ее назад - и все, ты автологинишься админом ))

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

  • 3 недели спустя...

Коллеги, а как в этом чате обстоит дело с индикацией количества чатлан, присутсвующих в чате, на страницах форума?

В виде, к примеру: Чат (2) или Чат (0)

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

Фишка такая - Группа может быть названа по любому, не только Admin, но обязательно на английском.

После чего - заходим forum/chat/inc/cmses/ открываем ipbCMS.php и прописываем название группы тут if ($group == "группа"):

}

function getRoles($group) {
  $rv = NULL;

  if ($group == "*****")
    $rv = ROLE_ADMIN;
  else
    $rv = ROLE_USER;

  return $rv;

После чего логинимся админом.. что в админку, что в чат - заходим автоматом.

 

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

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

Группа может быть названа по любому, не только Admin, но обязательно на английском.

А вот это совсем не обязательно :D

Я установил русскими буквами и всё отлично работает ;)

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

super

а где можно найти кодировку литовского языка, а то весь интернет перелопатила, но не нашла какой win-1257 какому utf-8 соответствует?

А Вы напечатайте в каком-нибудь редакторе алфавит на литовском, а потом переставьте кодировку на UTF-8, вот и получите коды соответствия :D

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

Не будет ли это очень большую нагрузку создавать? если база 700 мб, в чате сидят 10-20, а в форуме 150-450 юзеров.

Чат использует БД не сильно интенсивно. Можно совсем уменьшить нагрузку, настроив чат таким образом, чтобы он не хранил логи...

В общую БД инсталлируется всего несколько таблиц, которые выделяются по названию от остальных и которые в случае чего легко можно удалить через SQL запрос, используя, например, web-интерфейс MySQL сервера Вашего хостера.

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

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

Коллеги, а как в этом чате обстоит дело с индикацией количества чатлан, присутсвующих в чате, на страницах форума?

В виде, к примеру: Чат (2) или Чат (0)

 

И все же есть какие идеи по этому поводу?

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

Timx ,WarCat

И все же есть какие идеи по этому поводу?

Ну идеи конечно есть. Запрос надо просто создать.

Короче так. Все изменения ниже производятся в файлах базового форума.

Совет: сохраняйте старые файлы перед редактированием, например с расширением .bak

Итак.

1. В файле conf_global.php

 

после <?php

 

добавляем

$INFO['chat_count']                 =  '0';

 

На самом деле место этой строчки роли не играет, она может быть любой по счету среди строк типа $INFO......

 

2. В файле index.php

 

Находим:

//===========================================================================

//  Set up defaults

//===========================================================================

 

$ibforums->skin_id = $ibforums->skin['_setid'];

 

$ibforums->vars['img_url']       = 'style_images/' . $ibforums->skin['_imagedir'];

$ibforums->vars['AVATARS_URL']   = 'style_avatars';

$ibforums->vars['EMOTICONS_URL'] = 'style_emoticons/<#EMO_DIR#>';

$ibforums->vars['mime_img']      = 'style_images/<#IMG_DIR#>';

 

После этого добавляем SQL запрос на подсчет пользователей в чате:

//==========================================

//  Set up chat counter (added by wallk)

//==========================================

 

$DB->query("SELECT COUNT(DISTINCT userid) as cht_cnt FROM ibf_fc_connections");

$cnt=$DB->fetch_row();

$ibforums->vars['chat_count'] = $cnt['cht_cnt'];

 

3. Во всех скинах вставляем выражение

({ipb.vars['chat_count']})

там, где хотим видеть "(n)", где n - число пользователей в чате.

 

Абстрактный пример в меню ACP->Skin manager->IPB Default Skin->Edit Root Skin Template HTML->All Global HTML->global_board_header редактируем так, что видим:

<p class="home"><!--ipb.leftlinks.start--><a href="{ipb.vars['home_url']}">{ipb.vars['home_name']}({ipb.vars['chat_count']})</a><!--IBF.RULES--><!--ipb.leftlinks.end--></p>

 

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

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

Для полного кайфа и окончательной интеграции чата с форумом я написал мод, который позволяет видеть список людей, сидящих в чате, не выходя в сам чат, т.е. из форума. Для того чтобы вызвать список нужно зайти в меню "Мой помощник" и нажать там на пункт "Сейчас в чате". Итак кому интересно могут пользоваться. Если есть замечания и предложения - пишите.

1. Редактируем файл /sources/misc/stats.php

 

Находим:

     switch($ibforums->input['CODE'])

     {

      case 'leaders':

       $this->show_leaders();

       break;

      case '02':

       $this->do_search();

       break;

      case 'id':

       $this->show_queries();

       break;

      

      case 'who':

       $this->who_posted();

       break;

 

 

Добавляем ниже:

       //loaded by wallk 21.01.2005 to get the list of users in chat

       case 'chat':

       $this->show_chat_users();

       break;

 

 

Находим:

  /*-------------------------------------------------------------------------*/

  // Top 10 Posters

  /*-------------------------------------------------------------------------*/

 

  function show_today_posters()

 

 

Добавляем выше:

  /*-------------------------------------------------------------------------*/

  // Now in chat (written by wallk 21.01.2005)

  /*-------------------------------------------------------------------------*/

 

  function show_chat_users()

  {

  global $ibforums, $DB, $std, $forums;

  

   $this->output .= $this->html->chat_now_header();

     

   //-----------------------------------------

           // Query the DB

           //-----------------------------------------

    

     $store = array();

    

      $DB->query("SELECT COUNT(DISTINCT userid) as cht_cnt FROM ibf_fc_connections");

    

     $ttl_now = $DB->fetch_row();

      $total_now=$ttl_now['cht_cnt'];    

 

      $DB->query("SELECT COUNT(*) as tpost, m.id, m.name, m.joined, m.posts

     FROM ibf_fc_connections f

     INNER JOIN ibf_members m ON (m.id=f.userid)

                         GROUP BY f.userid

       ORDER BY m.name DESC");    

 

  while ($r = $DB->fetch_row())

  {

   $store[] = $r;

  }

 

  if ( $total_now )

  {

   foreach( $store as $idx => $info )

   {

    $info['joined']  = $std->get_date( $info['joined'], 'JOINED' );

   

    $info['posts'] = $std->do_number_format($info['posts']);

   

    $this->output .= $this->html->chat_now_row( $info );

   }

  

  }

  else

  {

   $this->output .= $this->html->chat_now_no_info();

  }

 

  $this->output .= $this->html->chat_now_footer();

 

  $this->page_title = $ibforums->lang['chat_now_title'];

 

  $this->nav = array( $ibforums->lang['chat_now_title'] );

 

}

 

2. Редактирование языковых файлов. Они находятся в директории /lang. Изменения должны быть внесены в аналогичные файлы для всех установленных языков. Перевод осуществляйте самостоятельно. Здесь приведены изменения только для русских языковых файлов.

 

Редактируем файл lang_buddy.php

 

Находим:

'sm_today_posters'   => "10 авторов сегодня",

'sm_all_posters'     => "Лучшие 10 авторов",

'sm_forum_leaders'   => "Администрация",

'sm_todays_posts'    => "Активные темы",

'sm_my_last_posts'   => "10 моих посл. сообщений",

 

Добавляем ниже:

'sm_chat_now'    => "Сейчас в чате",

 

Редактируем файл lang_stats.php

 

Находим:

'no_info'          => "Нет доступной информации",

 

Добавляем ниже:

'no_chat_info'          => "В чате в данный момент никого нет",

'chat_now_title'       => "В данный момент в чате",

 

3. Редактирование скинов. Редактировать нужно все установленные скины. Открываем ACP/Skin manager/'Skin'/Edit Root Skin Template HTML

 

Открываем MyAssistant/main

 

Находим

<a href="java script:redirect_to('&act=Search&CODE=lastten',0)">{ipb.lang['sm_my_last_posts']}</a>

 

Добавляем сразу за этим фрагментом:

<br/><a href="java script:redirect_to('&act=Stats&CODE=chat',0)">{ipb.lang['sm_chat_now']}</a>

 

Открываем Statistics

 

Жмем на кнопку Add Template Bit

В поле New Template Bit Name пишем

chat_now_footer

 

Больше никаких полей менять не надо, в теле шаблона размещаем текст:

<tr>

  <td class="catend" colspan="5"><!-- no content --></td>

</tr>

</table>

</div>

 

Не забываем сохранять шаблон, нажав на одну из кнопок внизу формы.

 

Опять открываем Statistics

 

Жмем на кнопку Add Template Bit

В поле New Template Bit Name пишем

chat_now_header

 

Больше никаких полей менять не надо, в теле шаблона размещаем текст:

<div class="borderwrap">

<div class="maintitle"><{CAT_IMG}> {ipb.lang['chat_now_title']}</div>

<table cellspacing="1">

  <tr>

   <th width="50%" valign="middle">{ipb.lang['member']}</th>

   <th width="30%" align="center" valign="middle">{ipb.lang['member_joined']}</th>

   <th align="center" width="20%" valign="middle">{ipb.lang['member_posts']}</th>

  </tr>

 

Сохраняем шаблон.

 

Еще раз открываем Statistics

 

Жмем на кнопку Add Template Bit

В поле New Template Bit Name пишем

chat_now_no_info

 

Больше никаких полей менять не надо, в теле шаблона размещаем текст:

<tr>

   <td colspan="5" align="center" class="row1" valign="middle">{ipb.lang['no_chat_info']}</td>

  </tr>

 

Сохраняем шаблон.

 

Последний раз открываем Statistics

 

Жмем на кнопку Add Template Bit

В поле New Template Bit Name пишем

chat_now_row

 

В поле New Template Bit Incoming Data Variables пишем

$info=""

 

Больше никаких полей менять не надо, в теле шаблона размещаем текст:

<tr>

   <td class="row1" valign="middle"><a href="{ipb.script_url}showuser={$info['id']}">{$info['name']}</a></td>

   <td align="center" class="row1" valign="middle">{$info['joined']}</td>

   <td align="center" class="row1" valign="middle">{$info['posts']}</td>

  </tr>

 

Сохраняем шаблон.

 

Все, после этого все должно работать

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

Как в чате отключить автолог? (чтобы база не росла. Все равно его никто не смотрит).

В конфигурационном файле естественно. Там надо соответственно переменную, отвечающую за число сообщений в логе обнулить. Имя переменной не помню, но там очень подробные комменты, так что найдешь.

 

inc/config.php

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

проблемы как у Timx`а и @sms`а

Тоже логинит только автоматом по ссылке из форума, а потом если выйти из чата (кнопкой "Выход" в правом верхнем углу) или попытаться зайти не из форума, то при вводе правильных лонинов и паролей НА ЛЮБЫХ ЯЗЫКАХ пишет "неверный логин или пароль"!

Что за ботва?

 

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

Но это ж не решение. Явно что-то не так в ipbCMS.php, но я не могу понять что именно... Может у IPB алгоритм MD5 другой чем в ipbCMS.php, или в версии 2.0.3 что-то не так с авторизацией, как в 2.0.0?

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

Mithrandir

Была такая беда. Почитал форум поддержки. Оказывается - чат ооочень не любит префиксы у куки. Если у тебя не сидят на хосте несколько форумов - снесли в настройках форума префикс куки (сделай это поле пустым) и все заработает.

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

Chrno

никогда даже и не прописывал префиксы... дело не в них :D

 

wallkres

MD5 можно "неправильно" реализовать, чтоб запутать взломщиков... (может у IPB так, я так во всех своих прогах где есть MD5 использую изменённый алгоритм - фиг кто хэш подберёт ;) )

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

  • 4 недели спустя...
А кто подскажешь - во флешчате как сделать, чтоб перед отвестом можно было кликнуть по нику и он бы скопировался в строку ответа?
Ссылка на комментарий
Поделиться на других сайтах

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

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

всё получилось.. прошу прощения :D

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

Святой

Да... Это было бы круто, но вроде не реализовано в движке чата.

Надо к производителям чата обращаться. Вещь то нужная!

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

  • 3 недели спустя...

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

http://www.сайт.info/forum/FlashChat/admin/

 

Получаю результат:

Notice: MySQL error 1054 : Unknown column 'password' in 'field list'

in /home/httpd/forum/FlashChat/inc/classes/db.php on line 52

И еще красным:

Could not grant admin role for this login and password

 

Что это за глюк? И как с ним бороться?

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

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

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

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

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

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

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

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

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

Зарузка...

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

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

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