Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

[MODDB] Last Forum Topic On Index

Здесь авторы постили бета-версии своих модификаций для phpBB 2.0.x. Внимание! Не устанавливайте бета-версии модов на работающие форумы!
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Стаж: 20 лет 1 месяц
Поблагодарили: 2 раза

[MODDB] Last Forum Topic On Index

Сообщение Xpert »

Мод, заменяющий информацию о пользователе, оставившем последнее сообщение в форуме на информацию о последней затронутой теме.

Жду ваших пожеланий и критики, если таковая предвидится. Если вы просто установили мод и у вас все прекрасно работает - пишите и об этом, иначе мод просто не выйдет из [rc], потому что я буду в нем не уверен :wink: .

Код: Выделить всё

############################################################## 
## MOD Title: 		Last Forum Topic On Index
## MOD Author:	 	Xpert < xpert@phpbbguru.net > http://www.phpbbguru.net 
## MOD Description: 	This mod replaces last forum poster info with
##			last forum topic info. 
## MOD Version: 	1.0.1 [phpBB 2.0.x] 
## 
## Installation Level: 	Easy 
## Installation Time: 	5 Minutes 
## Files To Edit (1): 	index.php
############################################################## 
## For Security Purposes, Please Check: http://www.phpbbguru.net/mods/ for the 
## latest version of this MOD. 
############################################################## 
## MOD History: 
##
##   2004-05-16 - Version 1.0.1 
##	- Cutting special chars, as " and so on fixed
##	  Thanks to R@ < meos@mail.ru > for report.
## 
##   2004-05-16 - Version 1.0.0 
##      - Initial Release 
## 
############################################################## 
## Before Adding This MOD To Your Forum, You Should Back Up All Files Related To This MOD 
############################################################## 

#
#-----[ OPEN ]------------------------------------------------
#
index.php

#
#-----[ FIND ]-----------------------------------------
#
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);

#
#-----[ AFTER, ADD ]-----------------------------------------
#

include($phpbb_root_path . 'includes/functions_post.'.$phpEx);

#
#-----[ FIND ]-----------------------------------------
#
	$sql = "SELECT f.*, p.post_time, p.post_username, u.username, u.user_id
			FROM (( " . FORUMS_TABLE . " f
			LEFT JOIN " . POSTS_TABLE . " p ON p.post_id = f.forum_last_post_id )
			LEFT JOIN " . USERS_TABLE . " u ON u.user_id = p.poster_id )
			ORDER BY f.cat_id, f.forum_order";
		break;

#
#-----[ REPLACE WITH ]----------------------------------------
#
 	$sql = "SELECT f.*, p.post_time, p.post_username, u.username, u.user_id, t.topic_title, t.topic_id
				FROM ((( " . FORUMS_TABLE . " f
				LEFT JOIN " . POSTS_TABLE . " p ON p.post_id = f.forum_last_post_id )
				LEFT JOIN " . USERS_TABLE . " u ON u.user_id = p.poster_id )
				LEFT JOIN " . TOPICS_TABLE . " t ON t.topic_id = p.topic_id )
				ORDER BY f.cat_id, f.forum_order";
		break;

#
#-----[ FIND ]-----------------------------------------
#
	if ( $forum_data[$j]['forum_last_post_id'] )
	{
		$last_post_time = create_date($board_config['default_dateformat'], $forum_data[$j]['post_time'], $board_config['board_timezone']);
		
		$last_post = $last_post_time . '<br />';

		$last_post .= ( $forum_data[$j]['user_id'] == ANONYMOUS ) ? ( ($forum_data[$j]['post_username'] != '' ) ? $forum_data[$j]['post_username'] . ' ' : $lang['Guest'] . ' ' ) : '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . '='  . $forum_data[$j]['user_id']) . '">' . $forum_data[$j]['username'] . '</a> ';
								
		$last_post .= '<a href="' . append_sid("viewtopic.$phpEx?"  . POST_POST_URL . '=' . $forum_data[$j]['forum_last_post_id']) . '#' . $forum_data[$j]['forum_last_post_id'] . '"><img src="' . $images['icon_latest_reply'] . '" border="0" alt="' . $lang['View_latest_post'] . '" title="' . $lang['View_latest_post'] . '" /></a>';
	}

#
#-----[ REPLACE WITH ]---------------------------------
#
	if ( $forum_data[$j]['forum_last_post_id'] )
	{
		$forum_data[$j]['topic_title'] = unprepare_message($forum_data[$j]['topic_title']);		

		$forum_data[$j]['topic_title'] = (strlen($forum_data[$j]['topic_title']) > 30) ? substr($forum_data[$j]['topic_title'], 0, 30) . '&hellip;' : $forum_data[$j]['topic_title'];								

		$last_post_time = create_date($board_config['default_dateformat'], $forum_data[$j]['post_time'], $board_config['board_timezone']);

		$last_post = $last_post_time . ' ';

		$last_post .= ( $forum_data[$j]['user_id'] == ANONYMOUS ) ? ( ($forum_data[$j]['post_username'] != '' ) ? $forum_data[$j]['post_username'] : $lang['Guest']) : $forum_data[$j]['username'];
		
		$last_post .= '<br /><a href="' . append_sid("viewtopic.$phpEx?"  . POST_TOPIC_URL . '=' . $forum_data[$j]['topic_id']) . '">' . $forum_data[$j]['topic_title'] . '</a>';

		$last_post .= '&nbsp;<a href="' . append_sid("viewtopic.$phpEx?"  . POST_POST_URL . '=' . $forum_data[$j]['forum_last_post_id']) . '#' . $forum_data[$j]['forum_last_post_id'] . '"><img src="' . $images['icon_latest_reply'] . '" border="0" alt="' . $lang['View_latest_post'] . '" title="' . $lang['View_latest_post'] . '" /></a>';
	}
                       
#
#-----[ SAVE/CLOSE ALL FILES ]----------------------------------
#
# EoM
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
ra
phpBB 2.0.2
Сообщения: 325
Стаж: 19 лет 11 месяцев
Откуда: Беларусь

Сообщение ra »

У меня проблемы не возникали.
Ivan_Vile

Сообщение Ivan_Vile »

У меня тоже не возникло проблем, но возникли предложения к усовершенствованию.
--
1) необходимо сделать другим (выделенным) цветом отображение автора поста
2) Если в посте более одной странички при клике с главной страницы - полюбэ открывается первая... оч. неудобно... было бы приятнее и юзабельнее если будет открываться последняя страничка...
--
это возможно?
ra
phpBB 2.0.2
Сообщения: 325
Стаж: 19 лет 11 месяцев
Откуда: Беларусь

Сообщение ra »

Ivan_Vile
необходимо сделать другим (выделенным) цветом отображение автора поста
Думаю будет раздрожать.
Если в посте более одной странички при клике с главной страницы - полюбэ открывается первая... оч. неудобно... было бы приятнее и юзабельнее если будет открываться последняя страничка...
А ты жми не на название темы, а на листочек рядом, типа такого - Изображение
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Стаж: 20 лет 1 месяц
Поблагодарили: 2 раза

Сообщение Xpert »

Ivan_Vile
необходимо сделать другим (выделенным) цветом отображение автора поста
Это будет явно не массовым, и потом, я не понимаю - а зачем? Важен не автор, важна тема, в которую был дан ответ.
было бы приятнее и юзабельнее если будет открываться последняя страничка
Жми на изображение листочка со стрелочкой - он перенесет тебя к последнему посту.
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Ivan_Vile

Сообщение Ivan_Vile »

с листочком я уже разобрался, а вот автора надо хотя бы вот в такие скобки ввести - нгапример [Ivan_Vile] или там [Xpert]... надо очень-очень!
хотя бы скажите где это в коде, сам подправлю!
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Стаж: 20 лет 1 месяц
Поблагодарили: 2 раза

Сообщение Xpert »

Ivan_Vile
C квадратными скобками вторая замена кода будет выглядеть так:

Код: Выделить всё

# 
#-----[ REPLACE WITH ]--------------------------------- 
# 
   if ( $forum_data[$j]['forum_last_post_id'] ) 
   { 
	$forum_data[$j]['topic_title'] = unprepare_message($forum_data[$j]['topic_title']);		

      $forum_data[$j]['topic_title'] = (strlen($forum_data[$j]['topic_title']) > 30) ? substr($forum_data[$j]['topic_title'], 0, 30) . '&hellip;' : $forum_data[$j]['topic_title'];                         

      $last_post_time = create_date($board_config['default_dateformat'], $forum_data[$j]['post_time'], $board_config['board_timezone']); 

      $last_post = $last_post_time . '  ['; 

      $last_post .= ( $forum_data[$j]['user_id'] == ANONYMOUS ) ? ( ($forum_data[$j]['post_username'] != '' ) ? $forum_data[$j]['post_username'] : $lang['Guest']) : $forum_data[$j]['username']; 
       
      $last_post .= ']<br /><a href="' . append_sid("viewtopic.$phpEx?"  . POST_TOPIC_URL . '=' . $forum_data[$j]['topic_id']) . '">' . $forum_data[$j]['topic_title'] . '</a>'; 

      $last_post .= '&nbsp;<a href="' . append_sid("viewtopic.$phpEx?"  . POST_POST_URL . '=' . $forum_data[$j]['forum_last_post_id']) . '#' . $forum_data[$j]['forum_last_post_id'] . '"><img src="' . $images['icon_latest_reply'] . '" border="0" alt="' . $lang['View_latest_post'] . '" title="' . $lang['View_latest_post'] . '" /></a>'; 
   }
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Jovani
phpBB 2.0.5
Сообщения: 477
Стаж: 19 лет 11 месяцев

Сообщение Jovani »

Xpert мод конечно нужный, но есть вопрос - на сколько он подгрузит базу? Ведь index.php вроде и так имеет не слабые запросы ...
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Стаж: 20 лет 1 месяц
Поблагодарили: 2 раза

Сообщение Xpert »

Jovani
В принципе, подгружает он ее совсем ненамного. Думаю, беспокоиться не о чем.
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Ivan_Vile

Сообщение Ivan_Vile »

thanx! сегодня уже другая проблема.. она описана в разделе "Поддержка"
ra
phpBB 2.0.2
Сообщения: 325
Стаж: 19 лет 11 месяцев
Откуда: Беларусь

Сообщение ra »

Посмотрите, небольшой глюк...
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Стаж: 20 лет 1 месяц
Поблагодарили: 2 раза

Сообщение Xpert »

R@
О проблеме уже известно, работаем.

Добавлено спустя 22 часа 16 минут 47 секунд:

Исправили, код мода уже обновлен.
Желающим проапгрейдиться сообщаю - добавились следующие инструкции:

Код: Выделить всё

# 
#-----[ FIND ]----------------------------------------- 
# 
include($phpbb_root_path . 'extension.inc'); 
include($phpbb_root_path . 'common.'.$phpEx); 

# 
#-----[ AFTER, ADD ]----------------------------------------- 
# 

include($phpbb_root_path . 'includes/functions_post.'.$phpEx);
И строка...

Код: Выделить всё

$forum_data[$j]['topic_title'] = unprepare_message($forum_data[$j]['topic_title']);
после ...

Код: Выделить всё

if ( $forum_data[$j]['forum_last_post_id'] ) 
   {
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Ivan_Vile

Сообщение Ivan_Vile »

2Xpert, а можно получить всю инструкцию сново и без всяких апгрейдов, что бы стало ясно такому ламосу как я... т.е. выложи полность инструкцию к установки, но уже в апгрейженом вар-те, плzz!
ra
phpBB 2.0.2
Сообщения: 325
Стаж: 19 лет 11 месяцев
Откуда: Беларусь

Сообщение ra »

Ivan_Vile первый пост.

Вернуться в «Бета-версии модов для phpBB 2.0.x»