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

ЧАТ для 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. И будет поддерживать. Я так делал.

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

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

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

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

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

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

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

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

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

Зарузка...

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

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

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