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

Последние сообщения форума (скроллинг-блок)


alkov

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

Мод: Последние сообщения форума (скроллинг-блок)

Категория: Моды

Совместимость: 2.0.x

Описание:

Блок со скроллингом для портала PHP-Nuke, который выводит поледние сообщения c форума IPB. Полностью настраиваем и лёгок в установке.

 

Подробнее...

Скачать

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

:D вроде все указала но в блоке видно толко название 10 сообщений и все

что посоветуйте?

Спасибо

 

 

Да и еще - вроде нету ничего непонятного что гдн поменять а все равно неработает.

А неможет это быть связано с файлами форума - 777?

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

Строчку

$ipb_table_prefix = "ibf";   // change if your IPB table prefix is not ibf_

Замени на

$ipb_table_prefix = "ibf_";   // change if your IPB table prefix is not ibf_

Всё должно работать.

 

Только у меня если задать $noshow(форумы, из которых не будут показываться темы), это результатов не даёт. Темы всё равно показываются.

 

А в остальном, блок - отличный. Спасибо за него.

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

Тоже были проблемы с префиксом, потом всё заработало. Спасибо за блок, давно такой ждал. А как сделать, что бы напротоив сообщения стояла дата, когда был создан пост?
Ссылка на комментарий
Поделиться на других сайтах

у меня сам болк создался но слетел скин пхп-нуке ... все блоки справа слетели осталис только те что слева...

 

Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /home/site_user/public_html/includes/sql_layer.php on line 286

Error in query: select * from nuke_quiecom_shoutblock order by id DESC LIMIT . You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

 

ПХП-Нуке 7.3

ИПБ 2.0.1

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

Dimm-skY

;) спасибо твой совет помог

П. С. Где можна прочитать что этот префикс?

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

:D поспешила - видно то видно - но щас когда нажимаеш на название темы то неоткрываетца страничка форума

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

По поводу отображения даты. В раздел пользовательских установок (после // Edit the following to suit your site) необходимо добавить строку:

$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")

и заменить нижеследующий код

if ($scroll=="1") {
$content = " <MARQUEE behavior=\"scroll\" align=\"left\" direction=\"up\" height=\"150\" width=\"100%\" scrollamount=\"1\" scrolldelay=\"10\" onmouseover='this.stop()' onmouseout='this.start()'>";
}
while($ipb_result = $db->sql_fetchrow($ipb_query)) {
$timestamp = $ipb_result[5]+$timeoffset*3600;
$stamp = date('jS M g:i a', $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";
}
}

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

// Edit the following to suit your site
$ipb_path = "forums/index.php";   // path from phpNuke root directory to IPB index.php
$ipb_image_path = "forums/style_images/1/newpost.gif"; // Image to show beside posts.
$ipb_table_prefix = "ibf";   // change if your IPB table prefix is not ibf_
$limit = "10";   // How many latest threads would you like to display?
$noshow = "0";   // Don't show posts from these forums - seperate IDs with commas, eg: "2,8"
$scroll = "1";   // Scroll - 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 database host
$ipb_dbuser = "";   // IPB database username
$ipb_dbpass = "";   // IPB database password
$ipb_dbname = "";   // IPB database name
// End user edits

что-бы узнать, как прописывается префикс в базе данных, нужно зайти в PHPMyAdmin (или просто вспомнить, какой префикс был задан при установке форума. Это может быть ibf или ibf_).

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

if (is_admin($admin)) {
$ipb_query = $db->sql_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);
} else {
$ipb_query = $db->sql_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);
}
} 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);
}}

Выборка осуществляется из таблицы ".$ipb_table_prefix."_topics, где $ipb_table_prefix, это тот самый префикс (приставка) к таблице. Допустим, что искомая таблица в базе данных имеет вид ibf_topics. Тогда префикс нужно вводить ibf. Если таблица имеет вид ibftopics, то нужно исправить все ".$ipb_table_prefix."_topics на ".$ipb_table_prefix."topics.

 

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

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

<?php

/******************************************/
/* Latest Threads from InvisionPowerBoard */
/* A block for PHP-Nuke 7.0               */
/* 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 = "forums/index.php";   // path from phpNuke root directory to IPB index.php
$ipb_image_path = "forums/style_images/1/newpost.gif"; // Image to show beside posts.
$ipb_table_prefix = "ibf";   // change if your IPB table prefix is not ibf_
$limit = "10";   // How many latest threads would you like to display?
$noshow = "0";   // Don't show posts from these forums - seperate IDs with commas, eg: "2,8"
$scroll = "1";   // Scroll - 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 database host
$ipb_dbuser = "";   // IPB database username
$ipb_dbpass = "";   // IPB database password
$ipb_dbname = "";   // IPB database name
// 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, forum_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, forum_id, last_post FROM ".$ipb_table_prefix."_topics  WHERE forum_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=\"150\" width=\"100%\" scrollamount=\"1\" scrolldelay=\"10\" onmouseover='this.stop()' onmouseout='this.start()'>";
}
while($ipb_result = $db->sql_fetchrow($ipb_query)) {
$timestamp = $ipb_result[5]+$timeoffset*3600;
$stamp = date('jS M g:i a', $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>Times shown are ".$timezone.".</center>";

?>

Да кстати, что-бы вы не подумали, авторство на этот блок не принадлежит мне, блок был взят с сайта http://ipbnuke.net . Скопируйте этот код и вставьте в файл с названием block-IPB_Last_Threads.php

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

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

Novenkiy

а неставил ты на своем сайт pack security? Иза него была у меня такая проблема со одним модом - как толка поставилю мод так блоки непашут.

 

Это было связано с

$_SERVER['PHP_SELF']  

и

$_SERVER['SCRIPT_NAME']

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

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

У меня походу та же проблема, что и у Novenkiy.

Данный блок работает, но слетает меню администрации php-nuke. Скрин прилагается:

http://unfear.irkutsk.ru/images/other/blocks.png

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

  • 1 месяц спустя...
  • 2 недели спустя...

никак неможна отключит некаторые форумы

 

$noshow = "0";   // Don't show posts from these forums - seperate IDs with commas, eg: "2,8"

 

вставляю номера через запятую, а форумы все равно видны на блоке

 

Подскажите пожалусто :D

[1125257929:1125584113]так ни кто с этой поблемой несталкывался или некто непользовался, или незнаете?

 

если кто в этом разбираетца была б признательна ;)

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

  • 6 месяцев спустя...
  • 11 месяцев спустя...
  • 4 месяца спустя...

как настроить этот скрипт для 2.2?

в частности этот фрагмент?

 

$db = new db_driver;

$db->obj['sql_database'] = $INFO['sql_database'];

$db->obj['sql_user'] = $INFO['sql_user'];

$db->obj['sql_pass'] = $INFO['sql_pass'];

$db->obj['sql_host'] = $INFO['sql_host'];

$db->obj['sql_tbl_prefix'] = $INFO['sql_tbl_prefix'];

 

// Connect to DB

$db->connect();

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

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

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

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