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

Проблема с выводом сообщений с форума!


sanya84

Вопрос

Помогите плиззз!!!

У меня IPB 2.0.1 :: с него выводятся сообщения в блок PHP-NUKE.

 

Всё выводится, замечательно, НО.

В самом то скрпте прописана переменная, которой типа Вы присваиваете индекс форума, который хотите скрыть...

 

Так вот толи в связи с тем, что скрипт был написан для IPB 1.3 толи ещё почему,

сообщения с VIP форума всё-равно выводятся...

 

Вот код:::

<?php 

/******************************************/ 
/* Latest Threads from InvisionPowerBoard */ 
/* A block for PHP-Nuke 7.0-7.6			   */ 
/* By Holbrookau						  */ 
/* http://ipbnuke.net					 */ 
/******************************************/ 

if (eregi("block-IPB_Last_Threads.php", $PHP_SELF)) { 
Header("Location: index.php"); 
die(); 
} 
global $admin, $db; 

// Edit the following to suit your site 
$ipb_path = "forum/index.php";   // путь к файлу IPB index.php 
$ipb_image_path = "forum/style_images/1/newpost.gif"; // путь к картинке последнего поста. 
$ipb_table_prefix = "ibf";   // префикс базы форума по дефолту ibf_ 
$limit = "6";   // количество последних сообщений с форума  
$noshow = "2";   // Don't show posts from these forums - seperate IDs with commas, eg: "2,8" 
$scroll = "0";   // скролинг - 1=On, 0=Off 
$timeoffset = "+0";  // Differance between server time and GMT (or another timezone). Alters displayed post times. Use + or - and amount of offset in hours (eg: "+6") 
$timezone = "GMT";  // Simply changes the "Times shown are.." message  
// IPB database information - ONLY required if PHP-Nuke & IPB do not share the same database 
$ipb_dbhost = "localhost";   //IPB адрес хоста базы 
$ipb_dbuser = "login";   // IPB логин  
$ipb_dbpass = pass"";   // IPB пароль  
$ipb_dbname = "nameDB";   // IPB имя базы данных форума 
// End user edits 

if (!$ipb_dbuser && !$ipb_dbpass && !$ipb_dbname) 
{ 
if (is_admin($admin)) { 
$ipb_query = $db->sql_query("SELECT DISTINCT tid, title, last_poster_name, last_poster_id, last_id, last_post FROM ".$ipb_table_prefix."_topics ORDER BY last_post DESC LIMIT ".$limit); 
} else { 
$ipb_query = $db->sql_query("SELECT DISTINCT tid, title, last_poster_name, last_poster_id, last_id, last_post FROM ".$ipb_table_prefix."_topics id WHERE last_id NOT IN ($noshow) ORDER BY last_post DESC LIMIT ".$limit); 
} 
} else { 
$ipb_connect = sql_connect($ipb_dbhost, $ipb_dbuser, $ipb_dbpass, $ipb_dbname); 
if (is_admin($admin)) { 
$ipb_query = mysql_query("SELECT DISTINCT tid, title, last_poster_name, last_poster_id, forum_id, last_post FROM ".$ipb_table_prefix."_topics ORDER BY last_post DESC LIMIT ".$limit, $ipb_connect); 
} else { 
$ipb_query = mysql_query("SELECT DISTINCT tid, title, last_poster_name, last_poster_id, forum_id, last_post FROM ".$ipb_table_prefix."_topics  WHERE forum_id NOT IN ($noshow) ORDER BY last_post DESC LIMIT ".$limit, $ipb_connect); 
}} 
if ($scroll=="1") { 
$content = " <MARQUEE behavior=\"scroll\" align=\"left\" direction=\"up\" height=\"300\" width=\"100%\" scrollamount=\"3\" scrolldelay=\"1\" onmouseover='this.stop()' onmouseout='this.start()'>"; 
} 
while($ipb_result = $db->sql_fetchrow($ipb_query)) { 
$timestamp = $ipb_result[5]+$timeoffset*3600; 
$stamp = date('d.m.Y  H:i:s', $timestamp); 
$content .= "<br><img src=\"".$ipb_image_path."\"> <b><a href=\"/".$ipb_path."?act=ST&f=".$ipb_result[4]."&t=".$ipb_result[0]."&view=getnewpost\" target=\"_blank\">".$ipb_result[1]."</a></b> <i>by "; 
if($ipb_result[3] != 0) {$content .= "<a href=\"".$ipb_path."?act=Profile&CODE=03&MID=".$ipb_result[3]."\" target=\"_blank\">".$ipb_result[2]."</a></i> - ".$stamp."<br>\n"; 
} else { 
$content .= $ipb_result[2]."</i> - ".$stamp."<br>\n"; 
} 
} 
$content .= "<center><br>--==--</center>"; 

?>

 

А обращение к базе идёт как FORUM_ID ... я полазил по базе, и такго поля там не нашёл...

 

ЧТО ДЕЛАТЬ??? :D

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

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

  • 0

Да нееет))

 

Дело не в том, админ или нет!

 

Ведь скрипт пересылает вне зависимости, кто ты!!! (ещё раз внимательно скрипт посмотри!)

 

У каждого форума свой ID , так вот там есть перменная $noshow, котрой ВЫ присваиваете нужное значение...

 

Так КТО-НИБУДЬ знает или нет???

 

Есть ли такое поле в MySql "forum_id" ???

Или может неправильно САМО образщение??

 

$ipb_query = mysql_query("SELECT DISTINCT tid, title, last_poster_name, last_poster_id, forum_id, last_post FROM ".$ipb_table_prefix."_topics WHERE forum_id NOT IN ($noshow) ORDER BY last_post DESC LIMIT ".$limit, $ipb_connect);

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

  • 0

еще раз внимательно пересмотрел скрипт

 

if (is_admin($admin)) {
$ipb_query = mysql_query("SELECT DISTINCT tid, title, last_poster_name, last_poster_id, forum_id, last_post FROM ".$ipb_table_prefix."_topics ORDER BY last_post DESC LIMIT ".$limit, $ipb_connect);
} else {
$ipb_query = mysql_query("SELECT DISTINCT tid, title, last_poster_name, last_poster_id, forum_id, last_post FROM ".$ipb_table_prefix."_topics  WHERE forum_id NOT IN ($noshow) ORDER BY last_post DESC LIMIT ".$limit, $ipb_connect);
}

а что за функция is_admin ?

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

  • 0

is_admin - это функция из php-nuke она возвращает админ ли данный чел.

Впринципе :D если чел админ то он все и увидит

 

sanya84

Ты из админки нюки выходил когда глядел что кажет блок этот?

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

  • 0

Сам не знаю))))))))) Этот скрипт скачан с этого сайта!))

 

Может чё-нить подскажешь?

 

xRay!

 

Но ведь у меня форум то не интегрирован в нюк!!!

Базы данных разные!!!

Поэтому не зависимо, кто ты, он всё-равно выводит...

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

  • 0

ну, судя по названию функции, я и решил что всё показывается админам, а простым пользователям - вырезаются VIP.

попробуй, говорят же тебе.

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

  • 0

Вроде работает... СТранно, раньше я вроде так пробовал делать)))

 

Всё-равно спасибо, ребята!!!

 

Если что, напишу.

 

С Уважением.

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

  • 0

sanya84

Тут форум не при делах тут просто идет проверка в нюке. И прикурчен форум не прикручен пофиг.

И в зависимотси от админ ты в нюке или не админ в данный момент времени (т.е. зашел ты как админ или нет) показывается результат запроса.

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

  • 0
<?php

/******************************************/
/* Latest Threads from InvisionPowerBoard */
/* A block for PHP-Nuke 7.0-7.6			   */
/* By Holbrookau						  */
/* http://ipbnuke.net					 */
/******************************************/

if (eregi("block-IPB_Last_Threads.php", $PHP_SELF)) {
Header("Location: index.php");
die();
}
global $admin, $db;

// Edit the following to suit your site
$ipb_path = "forum/index.php";   // путь к файлу IPB index.php
$ipb_image_path = "forum/style_images/1/newpost.gif"; // путь к картинке последнего поста.
$ipb_table_prefix = "ibf";   // префикс базы форума по дефолту ibf_
$limit = "6";   // количество последних сообщений с форума  
$noshow = "2";   // Don't show posts from these forums - seperate IDs with commas, eg: "2,8"
$scroll = "0";   // скролинг - 1=On, 0=Off
$timeoffset = "+0";  // Differance between server time and GMT (or another timezone). Alters displayed post times. Use + or - and amount of offset in hours (eg: "+6")
$timezone = "GMT";  // Simply changes the "Times shown are.." message  
// IPB database information - ONLY required if PHP-Nuke & IPB do not share the same database
$ipb_dbhost = "localhost";   //IPB адрес хоста базы
$ipb_dbuser = "login";   // IPB логин  
$ipb_dbpass = pass"";   // IPB пароль  
$ipb_dbname = "nameDB";   // IPB имя базы данных форума
// End user edits

if (!$ipb_dbuser && !$ipb_dbpass && !$ipb_dbname)
{
$ipb_query = $db->sql_query("SELECT DISTINCT tid, title, last_poster_name, last_poster_id, last_id, last_post FROM ".$ipb_table_prefix."_topics id WHERE last_id NOT IN ($noshow) ORDER BY last_post DESC LIMIT ".$limit);
} else {
$ipb_connect = sql_connect($ipb_dbhost, $ipb_dbuser, $ipb_dbpass, $ipb_dbname);
$ipb_query = mysql_query("SELECT DISTINCT tid, title, last_poster_name, last_poster_id, forum_id, last_post FROM ".$ipb_table_prefix."_topics  WHERE forum_id NOT IN ($noshow) ORDER BY last_post DESC LIMIT ".$limit, $ipb_connect);
}
if ($scroll=="1") {
$content = " <MARQUEE behavior=\"scroll\" align=\"left\" direction=\"up\" height=\"300\" width=\"100%\" scrollamount=\"3\" scrolldelay=\"1\" onmouseover='this.stop()' onmouseout='this.start()'>";
}
while($ipb_result = $db->sql_fetchrow($ipb_query)) {
$timestamp = $ipb_result[5]+$timeoffset*3600;
$stamp = date('d.m.Y  H:i:s', $timestamp);
$content .= "<br><img src=\"".$ipb_image_path."\"> <b><a href=\"/".$ipb_path."?act=ST&f=".$ipb_result[4]."&t=".$ipb_result[0]."&view=getnewpost\" target=\"_blank\">".$ipb_result[1]."</a></b> <i>by ";
if($ipb_result[3] != 0) {$content .= "<a href=\"".$ipb_path."?act=Profile&CODE=03&MID=".$ipb_result[3]."\" target=\"_blank\">".$ipb_result[2]."</a></i> - ".$stamp."<br>\n";
} else {
$content .= $ipb_result[2]."</i> - ".$stamp."<br>\n";
}
}
$content .= "<center><br>--==--</center>";

?>

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

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

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

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

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

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

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

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

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

Зарузка...
×
×
  • Создать...

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

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