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

Дополнение к моду последних сообщений из форума


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

Вообщем вот такая проблема...скачал мод последних постов, тот в котором два документа:один текстовый, а другой ХТМЛ страница. Установил, всё катит-круто, но вот при клике на эту ссылку, страница переходит на самое начало темы...как можно сделать чтобы при нажатии на ссылку, страница перешла не в начало, а на первое непрочитанное сообщение?

 

Помогите- это ведь не сложно вроде...

 

Вот кстати код

 

//---------------------------------------------------------------------------//

 

Этот хак является добавлением к ssi.php, который будет показывать последние

сообщения (количество меняется) на вашем форуме (либо странице).

 

//---------------------------------------------------------------------------//

 

Шаг 1:     

Через FTP закачайте файл lastposts.html в папку ssi_templates

 

 

Шаг 2:

Откройте ssi.php

 

Найдите :

 

case 'stats':

  do_stats();

  break;

 

И ниже добавьте:

 

 

case 'lastposts':

  do_lastposts();

  break;

 

Шаг 3:

В этом же файле найдите:

 

echo $to_echo;

 

exit();

 

}

 

 

И после этого добавьте :

 

 

//-------------------------------------------------

//  Last Posts

//-------------------------------------------------

function do_lastposts() {

global $DB, $ibforums, $root_path, $templates_dir, $std, $INFO;

 

 

$admin_forums = '(0)'; // ID разделов, которые вы хотите спрятать;

  $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'], ) );

}

 

// Parse template

 

echo "<table cellpadding='4' cellspacing='1' border='0' width='40%' bgcolor='#000000'style='font-family:Verdana;font-size:11px'>";

echo "<tr>";

echo "<td align='left' bgcolor='#CCCCCC'><b>Последние сообщения</b></td>";

echo "</tr>";

echo "<tr>";

echo "<td align='left'bgcolor='#FEFEFE'>";

echo $to_echo;

echo "</td>";

echo "</tr>";

echo "</table>";

echo "<br>";

 

}

 

 

 

Шаг 4 (необязательный) :

 

Если вы хотите, чтобы последние сообщения показывались из всех разделов, то в Шаге 4 замените значение "$admin_forums" на "0". Пример:

 

$admin_forums = '(0)'; // ID разделов, которые вы хотите спрятать;

 

Если Вы хотите спрятать ОДИН раздел, то измените значение "$admin_forums", как указано ниже:

 

$admin_forums = '(**)'; // ID разделов, которые вы хотите спрятать; (Где "**" - ID раздела, который вы хотите спарятать. То есть сообщения оставленные в этом разделе не будут выноситься в поле Last Posts)

 

Если Вы хотите спрятать БОЛЬШЕ, ЧЕМ ОДИН раздел, то по тому же принципу внесите ID нужных разделов в "$admin_forums" ЧЕРЕЗ ЗАПЯТУЮ!! Пример:

 

$admin_forums = '(23,34,2,4)'; // ID разделов, которые вы хотите спрятать;

 

 

Если Вы хотите поменять стандартное количество выводимых на обозрение последних постов, то в Шаге 4 замените значение "$limit " на нужное (1,2,3,4,5,6.....) Пример:

 

$limit        = "5"; //// Количество последних постов постов

 

 

 

 

Для того, чтобы выводить это на вашем сайте, вставьте в нужную станицу следущее:

 

<?php

include("http://domain.com/forums/ssi.php?a=lastposts");

?>

 

 

THE END! :D

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

Дя я здесь его скачивал, во только его щас нет вроде. Э мод последних сообщений, я же написал. Это такой же как и мод "блок последних сообщений для PHP Nuke", те же файлы, только для нюки разумеется ещё один.

 

Помогите пожалуйста

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

Loo

а добавить вместо

entry

 

&view=getnewpost

 

не поможет?

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

может у тебя не та версия? посмотри как параметр передается...

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

Всё, пробелма решенна...внимательно изучив ссылку "к последнему непрочитанному сообщению" сделал так же.

Вот что было

'thread_url' => $ibforums->base_url."?act=ST&f=".$out['forum_id']."&t=".$out['topic_id']."&hl=entry".$out['pid'],

 

А вот что получилось

'thread_url' => $ibforums->base_url."?act=ST&f=".$out['forum_id']."&t=".$out['topic_id']."&view=getnewpost",

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

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

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

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

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

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

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

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

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

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

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

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