Перейти к контенту
  • 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>";

?>

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

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

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

Гость
Ответить на вопрос...

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

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

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

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

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

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

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

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