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

ЧАТ для IBF 1.2, 1.3, 1.3.1


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

1. Почему он у меня горит только на одной странице;?

2.Как зделать чтобы но был в картинке Которая даётся с форумом 1.2! Называется atb_chat!

 

Пожалуйсто! Срочно надо!

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

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

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

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

3. Как зделать чтобы Чат находился сверху а не снизу страницы форума!

4. Как зделать что бы форум обновлялся автаматически?

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

Ну подскажите что надо зделать что бы страница форума обновлялась автаматически??

 

 

<?php

/*

+--------------------------------------------------------------------------

| Shoutbox v2.2

| ========================================

| by Manick

| Upgraded by andyl56

| © 2001,2002,2003 IBPlanet.com

| http://www.ibplanet.com

| ========================================

+---------------------------------------------------------------------------

|

| > Shoutbox module

| > Module written by Manick

| > Module Version Number: 2.2.0

+--------------------------------------------------------------------------

*/

 

/////

//User Configurable Elements

/////

 

//Set this to the number of shouts you want to show per page.

$num_shouts = 10;

 

//num shouts a person can shout consecutivily (set to outrageously high number to disable)

$flood_control = 5;

 

//Set this to 1 if you want to use a custom shoutbox banner image (1 yes, 0 no)

$use_banner = 0;

 

//Set this to the url or filename of the image you want to use. (i.e. http://www.mysite.com/images/image.gif or images/image.gif)

$banner_url = "http://www.aquatiqterrors.com/shoutbox.jpg";

 

//Auto Delete Shouts after some time? (1 yes, 0 no)

$auto_delete = 1;

 

//If above is set to 1, after how many days?

$days_delete = 30;

 

$shoutbox = new shoutbox;

 

class shoutbox {

 

var $html;

var $output = "";

var $base_url = "";

var $nav;

 

 

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

//shoutbox();

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

//Main shoutbox function

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

 

function shoutbox() {

global $ibforums, $DB, $std, $print, $skin_universal, $use_banner, $banner_url, $auto_delete, $days_delete;

 

//Load up Shoutbox language files

$ibforums->lang = $std->load_words($ibforums->lang, 'lang_shoutbox', $ibforums->lang_id);

 

//Load up Shoutbox skin files

$this->html = $std->load_template('skin_shoutbox');

 

if (! $ibforums->member['id'] )

{

$ibforums->input['last_visit'] = time();

}

 

$this->base_url = "{$ibforums->vars['board_url']}";

 

$this->nav = array( "<a href='".$this->base_url."/index.php?act=shoutbox'>".$ibforums->lang['shoutbox']."</a>" );

 

 

$DB->query("SELECT use_shout FROM ibf_members WHERE id='".$ibforums->member['id']."'");

$stuff = $DB->fetch_row();

 

$ibforums->member['use_shout'] = $stuff['use_shout'];

 

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

// Do we have permission to view

// the shoutbox?

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

 

if ($ibforums->member['g_view_shoutbox'] != 1 OR $ibforums->member['use_shout'] != 1)

{

$std->Error( array( 'LEVEL' => 1, 'MSG' => 'no_view_shoutbox') );

}

 

 

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

//Auto Delete

if ($auto_delete == 1)

{

$time_del = $days_delete * 24 * 60 * 60;

$DB->query("DELETE FROM ibf_shoutbox WHERE time_time<'". (time() - $time_del) . "'");

}

 

 

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

//Misc Admin Abilities

 

if ($ibforums->input['up'] <>"" AND $ibforums->input['down']<> "" AND $ibforums->member['g_access_cp'])

{

$up = $ibforums->input['up'];

$down = $ibforums->input['down'];

 

$DB->query("DELETE FROM ibf_shoutbox WHERE id >= $down AND id <= $up");

$this->refresh();

}

 

 

 

if ($ibforums->input['delall']<>"" AND $ibforums->member['g_access_cp'])

{

$DB->query("DELETE FROM ibf_shoutbox where name='".$ibforums->input['delall']."'");

$this->refresh();

}

 

 

if ($ibforums->input['ban']<>"" AND $ibforums->member['g_access_cp'] AND $ibforums->member['id']<>$ibforums->input['ban'])

{

$DB->query("SELECT g.g_access_cp FROM ibf_groups g, ibf_members m WHERE g.g_id=m.mgroup AND m.id='".$ibforums->input['ban']."'");

 

$Ban_Group_Raw = $DB->fetch_row();

 

if ($Ban_Group_Raw['g_access_cp'] != 1)

{

$DB->query("UPDATE ibf_members SET use_shout='0' WHERE id='".$ibforums->input['ban']."'");

}

 

$this->refresh();

}

 

 

if ($ibforums->input['unban']<>"" AND $ibforums->member['g_access_cp'])

{

$DB->query("UPDATE ibf_members SET use_shout='1' WHERE id='".$ibforums->input['unban']."'");

$this->refresh();

}

 

 

 

//check to see if someone is posting a shout

 

if($ibforums->input['Post']<>"")

{

$this->Post_Shout();

$this->refresh();

}

 

if ($ibforums->input['delete']<>"" AND $ibforums->input['delete']<>'0' AND $ibforums->member['g_is_supmod'])

{

$DB->query("DELETE FROM ibf_shoutbox WHERE id='".$ibforums->input['delete']."'");

$this->refresh();

}

 

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

 

if ($use_banner==1)

{

$this->output .= $this->html->show_banner($banner_url);

}

 

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

 

$this->output .= $this->Render_Shouts();

 

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

 

$this->output .= $this->Render_Top_Shouters();

 

if ($ibforums->input['author']<>"")

{

$this->output .= " <a href='index.php?act=shoutbox'>{$ibforums->lang['view_all']}</a>";

}

 

$this->output .= " <a href='index.php?s={$ibforums->session_id}'>{$ibforums->lang['back_to_forums']}</a><br> ";

 

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

 

$this->output .= $this->Shouters_Today();

 

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

 

if ($ibforums->member['g_access_cp'])

{

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

}

 

 

$print->add_output("$this->output");

 

$print->do_output( array( 'TITLE' => $ibforums->vars['board_name']." " .$ibforums->lang['shoutbox'] , 'JS' => 0, 'NAV' => $this->nav ) );

 

}

 

 

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

//Post_Shout();

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

//Function which handles posting of new shouts

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

 

function Post_Shout() {

global $ibforums, $DB, $std, $print, $skin_universal, $flood_control;

 

$name = $ibforums->member['name'];

$message = $ibforums->input['Post'];

 

$DB->query("SELECT name FROM ibf_shoutbox ORDER BY id DESC LIMIT " . $flood_control);

 

$num1 = 0;

 

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

{

$name1 = $namearray['name'];

 

 

if ($name1==$ibforums->member['name'])

{

$num1++;

}

 

 

if ($num1 >= $flood_control)

{

 

$std->error(array('LEVEL'=>1,MSG=>'no_flood_shoutbox'));

 

}

 

}

 

 

if($ibforums->member['g_post_shoutbox'] != 1)

{

$std->Error( array( 'LEVEL' => 1, 'MSG' => 'no_post_shoutbox') );

}

 

 

if($ibforums->member['name']=="Guest" OR $ibforums->member['name']=="")

{

$ibforums->lang['no_guest_shout'] = $la['guest_no_post'];

$std->Error( array( 'LEVEL' => 1, 'MSG' => 'no_guest_shout') );

}

 

 

if(trim($message)=="")

{

$std->Error( array( 'LEVEL' => 1, 'MSG' => 'no_message') );

}

 

 

require "./sources/lib/post_parser.php";

 

$parser = new post_parser(1);

 

 

$message = preg_replace('/\/i', '', $message);

$message = preg_replace('/\[\/img]/i', '', $message);

$message = preg_replace('/<img/i', '', $message);

$message = trim($parser->convert( array( TEXT => $message,

SMILIES => 1,

CODE => 1,

HTML => 0

)

));

$message = addslashes($message);

 

$time = date("jS F Y");

$query="INSERT INTO ibf_shoutbox(id,name,message,time, time_time)VALUES('NULL','$name','$message','$time', ".time().")";

$DB->query($query);

 

}

 

 

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

//Render_Shouts();

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

//Display all the shouts

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

 

function Render_Shouts() {

global $ibforums, $DB, $std, $print, $skin_universal, $num_shouts;

 

 

$shouts = "";

 

 

$start = $ibforums->input['start'];

$author = $ibforums->input['author'];

 

 

if ($author<>"")

{

$author_query1 = "&author=" . $author; //$author1

$author_query2 = "AND s.name='".$author."'"; //$author_stuff

$author_query3 = "WHERE name='".$author."'"; //$author_stuff2

}

 

if ($start=="" or $start <= 0)

{

$start=0;

}

 

$DB->query("SELECT g.prefix, g.suffix, m.id AS mid, m.use_shout, s.* FROM ibf_shoutbox s, ibf_members m, ibf_groups g WHERE s.name=m.name AND m.mgroup=g.g_id $author_query2 ORDER BY id DESC LIMIT $start, $num_shouts");

 

 

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

{

$r['prefix'] = stripslashes($r['prefix']);

$r['suffix'] = stripslashes($r['suffix']);

$r['message'] = stripslashes($r[message]);

$r['message'] = preg_replace("/([^\n\r ?&\.\/<>\"\\-]{35})/i"," \\1<br>",$r['message']);

 

 

if ($ibforums->member['g_is_supmod'])

{

$r['delete']="(<a href='index.php?act=shoutbox&delete=".$r[id]."&s={$ibforums->session_id}'>{$ibforums->lang['delete']}</a>)";

}

 

 

if ($ibforums->member['g_access_cp'])

{

if ($r['use_shout'])

{

$r['ban']="(<a href='index.php?act=shoutbox&ban=".$r[mid]."&s={$ibforums->session_id}'>{$ibforums->lang['ban']}</a>)";

}

else

{

$r['ban']="(<a href='index.php?act=shoutbox&unban=".$r[mid]."&s={$ibforums->session_id}'>{$ibforums->lang['unban']}</a>)";

}

}

 

 

if ($r['time_time']<>'0')

{

$r['time'] = $std->get_date( $r[time_time], 'LONG');

}

 

 

$shouts .= $this->html->Render_Shout($r);

}

 

 

$DB->query("SELECT count(*) as count FROM ibf_shoutbox $author_query3");

$stuff = $DB->fetch_row();

$count = $stuff['count'];

 

if ($start >= $num_shouts)

{

$shouts .= "<a href='index.php?act=shoutbox&start=".($start-$num_shouts)."&s={$ibforums->session_id}$author_query1'>{$ibforums->lang['prev_page']}</a> ";

}

if ($start+$num_shouts < $count)

{

$shouts .= "<a href='index.php?act=shoutbox&start=".($start+$num_shouts)."&s={$ibforums->session_id}$author_query1'>{$ibforums->lang['next_page']}</a>";

}

 

return $shouts;

}

 

 

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

//Render_Top_Shouters();

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

//Display the Top shouters of all time

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

 

function Render_Top_Shouters() {

global $ibforums, $DB, $std, $print, $skin_universal;

 

$top_shouters = "";

 

$DB->query("SELECT g.prefix, g.suffix, s.name, COUNT(s.name) as count, m.id FROM ibf_shoutbox s, ibf_members m, ibf_groups g WHERE s.name=m.name AND m.mgroup=g.g_id GROUP BY s.name ORDER by count DESC LIMIT 10");

 

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

{

 

$r['prefix'] = stripslashes($r['prefix']);

$r['suffix'] = stripslashes($r['suffix']);

 

$top_shouters .= $this->html->Render_Name($r);

 

}

 

$DB->query("SELECT count(*) as count FROM ibf_shoutbox");

$stuff = $DB->fetch_row();

$count1 = $stuff['count'];

 

 

return $this->html->Top_Shouters(array( 'top_shouters' => $top_shouters,

'count' => $count1

)

);

 

}

 

 

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

//Shouters_Today();

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

//Display the Top shouters for the day

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

 

function Shouters_Today() {

global $ibforums, $DB, $std, $print, $skin_universal;

 

$shouters = "";

 

$time = date("jS F Y");

$DB->query("SELECT g.prefix, g.suffix, s.name, COUNT(s.name) as count, m.id FROM ibf_shoutbox s, ibf_members m, ibf_groups g WHERE s.name=m.name AND m.mgroup=g.g_id AND time='$time' GROUP BY s.name ORDER by count DESC LIMIT 10");

 

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

{

 

$r['prefix'] = stripslashes($r['prefix']);

$r['suffix'] = stripslashes($r['suffix']);

 

$shouters .= $this->html->Render_Name($r);

 

}

 

$DB->query("SELECT COUNT(*) as count2 FROM ibf_shoutbox WHERE time='$time'");

$stuff = $DB->fetch_row();

$count1 = $stuff['count2'];

 

 

return $this->html->Shouters_Today(array( 'shouters' => $shouters,

'count' => $count1

)

);

 

}

 

 

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

//refresh();

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

//Simple function to refresh the shoutbox (lossless)

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

 

function refresh() {

global $std, $ibforums;

 

$std->boink_it("index.php?act=shoutbox&s=".$ibforums->session_id);

 

exit;

 

}

 

}

?>

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

  • 3 недели спустя...
А другой способ есть? ;) Раньше у меня стоял Лайф-чат, так народ был доволен, после установки i-maxi, такая возможность пропала, но народ требует...Может посоветуете чего :D
Ссылка на комментарий
Поделиться на других сайтах

  • 2 недели спустя...
  • 3 недели спустя...
Пытался установить чат. Вроде все делал правильно, но вот при запуске setup.php3 выдает вот что: http://www.sportrates.com/forums/room/setup.php3 Как думаете в чем дело! Help!
Ссылка на комментарий
Поделиться на других сайтах

У меня с этим чатом похожая проблема, только вместо текста выдается что страница не найдена, притом сообщение не Апача и експлорера. Может кто-нибуть устанавливал его? Плиз, поделитесь! :D
Ссылка на комментарий
Поделиться на других сайтах

http://www.sportrates.com/forums/room/index.php3

Вот, вроде работает. Но я лично не понял как там пользователям новым регистрироваться?! И еще русскую кодировку не поддерживает. :D

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

Если у тебя версия чата 2.2-регистрация идет вместе с регистрацией в форуме. Те интергация присутсвует.

Про русскую кодировку. Смотри папку room\localization, там папки соответствующие языку. У тебя по ходу английский, значит room\localization\english, в пхп-шниках этой папки ищешь iso-8859-1 и меняешь на win-1251. И будет поддерживать. Я так делал.

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

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

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

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

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

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

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

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

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

Зарузка...

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

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

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