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

[1.x.x]Блок последних сообщений из форума IBF для PHP-Nuke


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

Название: Блок последних сообщений из форума IBF для PHP-Nuke

Добавил: ZiLot

Добавлен: 10 Май 2003

Обновлен: 10 Май 2003

Категория: IP.Board 1.x.x

 

Данный хак позволит вам добавить, в ваш PHP-Nuke, блок, отображающий последние сообщения форума IBF

 

Примечание: Данный блок работает только на Linux-сервере (это связано с тем, что версия PHP под Windows не поддерживает include() с удаленного сервера)

 

Нажмите здесь, чтобы скачать файл

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

  • 1 месяц спустя...

Обрадовался увидев данный блок, но... Он работает, но первая, строчка перед, названиями тем идет ошибкa: "Warning: main(): stream does not support seeking in /home/******/block-Ibf_Lastpost.php on line 11".

Есть идеи как убрать эту ошибку?

 

phpNuke 6.5, Invision 1.1.2.

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

  • 4 недели спустя...

ZiLot

Уже месяц почти прошел. Не могу вынести блок на главную из-за этой ошибки, а пора и форум раскручивать. Напиши при возможности, буду благодарен, так как аналогичных решений пока не встречал.

 

Может кто видел подобный хак?

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

  • 5 месяцев спустя...

Кто ставил этот мод???

 

подскажите у меня не выполняется скрипт

 

www.gsmrepair.net/forum/ssi.php?a=lastpost

 

Появлется пустое окно в браузере.

Почему может не выполнятся скрипт???

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

у меня тоже не выполнялся. пока я после:

'author'     => $author,
'profile_link'   => $ibforums->base_url."?act=Profile&CODE=03&MID=".$out['author_id'],	) );
}
echo $to_echo;

 

не добавил:

 

exit();

 

оно просто из процедуры не выходило =)

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

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

  • 3 недели спустя...

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

 

Т.е. Допустим скрипт выводит 10 последних постов. В них входят допустим 3 ответа в одной теме, и они все отображаются в этом списке. :D Как зделать так что бы отображался только последний ответ в теме, а остальные убрать, т.е. что бы каждая тема была уникальна!!! А?

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

  • 3 месяца спустя...
?????? http://www.ibresource.ru/db/index.php?pg=show&id=97 его нет конечно, да? :D;):)
Ссылка на комментарий
Поделиться на других сайтах

Попробовал скачать готовый блок для PHP-nuke отсюда. Он лёг идеально, но после его установки напрочь отказалась работать админка нюки. Если кто может, попробуйте установить у себя такой блок и сообщите о результатах. Может в версии нюки проблема? моя 7,5 invision 1.3 модифицированный
Ссылка на комментарий
Поделиться на других сайтах

  • 2 недели спустя...
нашёл всего три блока на эту тему. У меня так ни один и не заработал.. У кого phpnuke 7.3+ipb 1.3.1 и есть нормально работающий блок последних сообщений, прошу откликнуться...
Ссылка на комментарий
Поделиться на других сайтах

  • 2 месяца спустя...

При установке данного мода учтите, что автор сделал две ошибки в инструкциях по установке и самом скрипте изменения файла ssi.php

 

Шаг 3

//-------------------------------------------------
//  Last Posts
//-------------------------------------------------
function do_lastposts() {
global $DB, $ibforums, $root_path, $templates_dir, $std, $INFO;


$admin_forums = '(0)'; // вместо 0 вставить номера закрытых форумов или оставить 0 для показа всех
          
     $limit        = "5"; // количество новостей

$prefix    =  $INFO['sql_tbl_prefix'];


$template = load_template("lastposts.html");

     $to_echo = "";

$DB->query( "SELECT p.pid, p.author_name, p.post_date, p.forum_id, p.topic_id, 

p.author_id, t.title ,f.name FROM ".$prefix."posts p ,   ".$prefix."topics t, 

".$prefix."forums f WHERE t.tid=p.topic_id AND t.forum_id=f.id AND p.forum_id NOT IN 

".$admin_forums."  ORDER BY pid DESC LIMIT 0,".$limit." " );
if ( ! $DB->get_num_rows() )
{
  fatal_error("Could not get the information from the database");
}

while( $out = $DB->fetch_row($query) ) {
  $thread_title = $out['title'];
  $forum_name =$out['name'];
  $author             = $out['author_name'];
  $out['post_date']	= $std->get_date( $out['post_date'], 'LONG' );
  $date               = $out['post_date'];
  $to_echo  .= parse_template( $template,array (
  'thread_url' => $ibforums->base_url."?act=ST&f=".$out['forum_id']."&t=".$out['topic_id']."&hl=entry".$out['pid'],
  'thread_title' => $thread_title,
  'forum_url' => $ibforums->base_url."?act=SF&f=".$out['forum_id'],
  'forum_name' => $forum_name,
  'date'       => $date,
  'author'     => $author,
  'profile_link'   => $ibforums->base_url."?act=Profile&CODE=03&MID=".$out['author_id']) );
}
echo $to_echo;

exit();
}

Надо было убрать лишнюю запятую, отформатировать и закрыть запрос (о закрытии запроса уже писали)

И все заработает. С новым годом!

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

  • 1 месяц спустя...

Ну и я постараюсь внести свою лепту в развитие общего дела. Код для вставки в ssi.php, который работает в версии PHP-Nuke 6.9 + IPB 2.0.3 выглядит так:

//-------------------------------------------------
//  Last Posts
//-------------------------------------------------
function do_lastposts() {
global $DB, $ibforums, $root_path, $templates_dir, $std, $INFO;


$admin_forums = '(0)'; // вместо 0 вставить номера закрытых форумов или оставить 0 для показа всех
          
     $limit        = "5"; // количество новостей

$prefix    =  $INFO['sql_tbl_prefix'];


$template = load_template("lastposts.html");

     $to_echo = "";

$DB->query( "SELECT pid, author_name, post_date, forum_id, topic_id, author_id, title, name FROM ".$prefix."posts, ".$prefix."topics, ".$prefix."forums WHERE tid=topic_id AND forum_id=id AND forum_id NOT IN ".$admin_forums."  ORDER BY pid DESC LIMIT 0,".$limit." " );
if ( ! $DB->get_num_rows() )
{
  fatal_error("Could not get the information from the database");
}

while( $out = $DB->fetch_row($query) ) {
  $thread_title = $out['title'];
  $forum_name = $out['name'];
  $author = $out['author_name'];
  $out['post_date'] = $std->get_date( $out['post_date'], 'LONG' );
  $date = $out['post_date'];
  $to_echo  .= parse_template( $template,array (
  'thread_url' => $ibforums->base_url."?act=ST&f=".$out['forum_id']."&t=".$out['topic_id']."&hl=entry".$out['pid'],
  'thread_title' => $thread_title,
  'forum_url' => $ibforums->base_url."?act=SF&f=".$out['forum_id'],
  'forum_name' => $forum_name,
  'date'       => $date,
  'author'     => $author,
  'profile_link'   => $ibforums->base_url."?act=Profile&CODE=03&MID=".$out['author_id']) );
}
echo $to_echo;

exit();
}

Исправлены названия таблиц в базе.

Кроме того вопрос. Никто не пытался переделать этот блок в блок со скроллингом. А то выглядит как-то громоздко.

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

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

<?php

/*****************************/
/*        Latest Threads from IPB           */
/*A scrolling block for PHP-Nuke 6.9-7.0*/
/*****************************/

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";   // path from phpNuke root directory to IPB index.php
$ipb_image_path = "forum/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
// 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=\"200\" width=\"100%\" scrollamount=\"2\" scrolldelay=\"20\" onmouseover='this.stop()' onmouseout='this.start()'>";
}
$content .="<center> <STYLE=\"text-decoration: none\"><font color=\"#666666\"><b>Последние ".$limit." сообщений</b></center>";
while($ipb_result = $db->sql_fetchrow($ipb_query)) {
$content .= "<br><img src=\"".$ipb_image_path."\"> <b><a href=\"/".$ipb_path."?act=ST&f=".$ipb_result[4]."&t=".$ipb_result[0]."&view=getnewpost\">".$ipb_result[1]."</a></b><font color=\"#666666\"><i> оставлено ";
if($ipb_result[3] != 0) {$content .= "<a href=\"".$ipb_path."?act=Profile&CODE=03&MID=".$ipb_result[3]."\">".$ipb_result[2]."</a></i><br>\n";
} else {
$content .= $ipb_result[2]."</i><br>\n";
}
}

?>

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

<?php

/*****************************/
/*        Latest Threads from IPB           */
/*A scrolling block for PHP-Nuke 6.9-7.0*/
/*****************************/

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";   // path from phpNuke root directory to IPB index.php
$ipb_image_path = "forum/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
// 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=\"200\" width=\"100%\" scrollamount=\"2\" scrolldelay=\"20\" onmouseover='this.stop()' onmouseout='this.start()'>";
}
$content .="<center> <STYLE=\"text-decoration: none\"><font color=\"#666666\"><b>Последние ".$limit." сообщений</b></center>";
while($ipb_result = $db->sql_fetchrow($ipb_query)) {
$content .= "<br><img src=\"".$ipb_image_path."\"> <b><a href=\"/".$ipb_path."?act=ST&f=".$ipb_result[4]."&t=".$ipb_result[0]."&view=getnewpost\">".$ipb_result[1]."</a></b><font color=\"#666666\"><i> оставлено ";
if($ipb_result[3] != 0) {$content .= "<a href=\"".$ipb_path."?act=Profile&CODE=03&MID=".$ipb_result[3]."\">".$ipb_result[2]."</a></i><br>\n";
} else {
$content .= $ipb_result[2]."</i><br>\n";
}
}

?>

 

Спасибо, интересный мод.

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

  • 7 месяцев спустя...
А у меня почиму то не работает :D Просто пробегает текст Последние 10 сообщений а дальше нет ничего всё выставил как надо, нюка 7.7 и ипб 2.0.4
Ссылка на комментарий
Поделиться на других сайтах

Название хака :: Блок последних сообщений из форума IBF для PHP-Nuke

Автор :: ZiLot

Категория :: Интеграторы

Демо-версия ::

Описание

Данный хак позволит вам добавить, в ваш PHP-Nuke, блок, отображающий последние сообщения форума IBF

 

Примечание: Данный блок работает только на Linux-сервере (это связано с тем, что версия PHP под Windows не поддерживает include() с удаленного сервера)

 

<a href='http://www.ibresource.ru/db/index.php?pg=show&id=97'>Подробнее...</a>

чтото знакомый мод и помоему я его видел на http://ipbnuke.net

Если у вас стоит нюка и форум IBP то качайте для этого семейства все тут http://ipbnuke.net ибо они скрестили IPB с PHP-NUKE и делают для них всякие фишки и моды.. ну а моды для IPB качаем тут :D

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

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

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

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