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

[beta] Last Post Redirect

Здесь авторы постили бета-версии своих модификаций для phpBB 2.0.x. Внимание! Не устанавливайте бета-версии модов на работающие форумы!
quazi
phpBB 2.0.2
Сообщения: 306
Стаж: 19 лет
Контактная информация:

[beta] Last Post Redirect

Сообщение quazi »

назначение: данный мод автоматически перенаправляет пользователя на страницу к сообщению после его добавления/редактирования и к предыдущему сообщению после удаления текущего

время установки: примерно 5 минут

сложность установки: Легко

известные мне аналоги: [BETA] Return on the previous message

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

#
#----[ OPEN ]----
#
posting.php


#
#----[ FIND ]----
#
$params = array('forum_id' => POST_FORUM_URL, 'topic_id' => POST_TOPIC_URL, 'post_id' => POST_POST_URL, 'lock_subject' => 'lock_subject' );


#
#----[ REPLACE WITH ]----
#
// +Last Post Redirect
$params = array('forum_id' => POST_FORUM_URL, 'topic_id' => POST_TOPIC_URL, 'post_id' => POST_POST_URL, 'lock_subject' => 'lock_subject', 'prev_post_id' => 'prev' );
// -Last Post Redirect


#
#----[ FIND ]----
#
	$s_hidden_fields .= ( $delete || $mode == "delete" ) ? '<input type="hidden" name="mode" value="delete" />' : '<input type="hidden" name="mode" value="poll_delete" />';


#
#----[ AFTER, ADD ]----
#
	// +Last Post Redirect
	$s_hidden_fields .= '<input type="hidden" name="prev" value="' . $prev_post_id . '" />';
	// -Last Post Redirect


#
#----[ FIND ]----
#
	$return_message = '';
	$return_meta = '';


#
#----[ BEFORE, ADD ]----
#
	// +Last Post Redirect
	$redirect_url = '';
	// -Last Post Redirect

#
#----[ FIND ]----
#
				submit_post($mode, $post_data, $return_message, $return_meta, $forum_id, $topic_id, $post_id, $poll_id, $topic_type, $bbcode_on, $html_on, $smilies_on, $attach_sig, $bbcode_uid, str_replace("\'", "''", $username), str_replace("\'", "''", $subject), str_replace("\'", "''", $message), str_replace("\'", "''", $poll_title), $poll_options, $poll_length);


#
#----[ REPLACE WITH ]----
#
				// +Last Post Redirect
				submit_post($mode, $post_data, $return_message, $return_meta, $forum_id, $topic_id, $post_id, $poll_id, $topic_type, $bbcode_on, $html_on, $smilies_on, $attach_sig, $bbcode_uid, str_replace("\'", "''", $username), str_replace("\'", "''", $subject), str_replace("\'", "''", $message), str_replace("\'", "''", $poll_title), $poll_options, $poll_length, $redirect_url);
				// -Last Post Redirect


#
#----[ FIND ]----
#
			delete_post($mode, $post_data, $return_message, $return_meta, $forum_id, $topic_id, $post_id, $poll_id);


#
#----[ REPLACE WITH ]----
#
			// +Last Post Redirect
			delete_post($mode, $post_data, $return_message, $return_meta, $forum_id, $topic_id, $post_id, $poll_id, $redirect_url, $prev_post_id);
			// -Last Post Redirect


#
#----[ FIND ]----
#
		if ($lock_subject) 
		{ 


#
#----[ AFTER, ADD ]----
#
		    // +Last Post Redirect
		    $redirect_url = append_sid("viewtopic.$phpEx?" . POST_POST_URL . "=" .$lock_subject."#".$lock_subject);
		    // -Last Post Redirect


#
#----[ FIND ]----
#
		$template->assign_vars(array(
			'META' => $return_meta)
		);
		message_die(GENERAL_MESSAGE, $return_message);


#
#----[ REPLACE WITH ]----
#
		// +Last Post Redirect
		if ($redirect_url)
		{
			redirect($redirect_url);
		}
		else
		{
			$template->assign_vars(array(
				'META' => $return_meta)
			);
			message_die(GENERAL_MESSAGE, $return_message);
		}
		// -Last Post Redirect


#
#----[ OPEN ]----
#
viewtopic.php


#
#----[ FIND ]----
#
		$temp_url = "posting.$phpEx?mode=delete&" . POST_POST_URL . "=" . $postrow[$i]['post_id'] . "&sid=" . $userdata['session_id'];


#
#----[ REPLACE WITH ]----
#
		// +Last Post Redirect
		$temp_url = $i ? "&prev=" . $postrow[$i - 1]['post_id'] : '';
		$temp_url = "posting.$phpEx?mode=delete&" . POST_POST_URL . "=" . $postrow[$i]['post_id'] . $temp_url . "&sid=" . $userdata['session_id'];
		// -Last Post Redirect


#
#----[ FIND ]----
#
			$temp_url = "posting.$phpEx?mode=delete&" . POST_POST_URL . "=" . $postrow[$i]['post_id'] . "&sid=" . $userdata['session_id'];


#
#----[ REPLACE WITH ]----
#
			// +Last Post Redirect
			$temp_url = $i ? "&prev=" . $postrow[$i - 1]['post_id'] : '';
			$temp_url = "posting.$phpEx?mode=delete&" . POST_POST_URL . "=" . $postrow[$i]['post_id'] . $temp_url . "&sid=" . $userdata['session_id'];
			// -Last Post Redirect

#
#----[ OPEN ]----
#
includes/functions_post.php


#
#----[ FIND ]----
#
function submit_post($mode, &$post_data, &$message, &$meta, &$forum_id, &$topic_id, &$post_id, &$poll_id, &$topic_type, &$bbcode_on, &$html_on, &$smilies_on, &$attach_sig, &$bbcode_uid, &$post_username, &$post_subject, &$post_message, &$poll_title, &$poll_options, &$poll_length)


#
#----[ REPLACE WITH ]----
#
// +Last Post Redirect
function submit_post($mode, &$post_data, &$message, &$meta, &$forum_id, &$topic_id, &$post_id, &$poll_id, &$topic_type, &$bbcode_on, &$html_on, &$smilies_on, &$attach_sig, &$bbcode_uid, &$post_username, &$post_subject, &$post_message, &$poll_title, &$poll_options, &$poll_length, &$redirect_url)
// -Last Post Redirect


#
#----[ FIND ]----
#
	$meta = '<meta http-equiv="refresh" content="3;url=' . append_sid("viewtopic.$phpEx?" . POST_POST_URL . "=" . $post_id) . '#' . $post_id . '">';
	$message = $lang['Stored'] . '<br /><br />' . sprintf($lang['Click_view_message'], '<a href="' . append_sid("viewtopic.$phpEx?" . POST_POST_URL . "=" . $post_id) . '#' . $post_id . '">', '</a>') . '<br /><br />' . sprintf($lang['Click_return_forum'], '<a href="' . append_sid("viewforum.$phpEx?" . POST_FORUM_URL . "=$forum_id") . '">', '</a>');


#
#----[ BEFORE, ADD ]----
#
	// +Last Post Redirect
	$redirect_url = append_sid("viewtopic.$phpEx?" . POST_POST_URL . "=" . $post_id) . '#' . $post_id;
	// -Last Post Redirect


#
#----[ FIND ]----
#
function delete_post($mode, &$post_data, &$message, &$meta, &$forum_id, &$topic_id, &$post_id, &$poll_id)


#
#----[ REPLACE WITH ]----
#
// +Last Post Redirect
function delete_post($mode, &$post_data, &$message, &$meta, &$forum_id, &$topic_id, &$post_id, &$poll_id, &$redirect_url, $prev_post_id='')
// -Last Post Redirect


#
#----[ FIND ]----
#
		$meta = '<meta http-equiv="refresh" content="3;url=' . append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . '=' . $topic_id) . '">';
		$message = (($mode == 'poll_delete') ? $lang['Poll_delete'] : $lang['Deleted']) . '<br /><br />' . sprintf($lang['Click_return_topic'], '<a href="' . append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id") . '">', '</a>');


#
#----[ BEFORE, ADD ]----
#
		$redirect_url = append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . '=' . $topic_id);
		if ($prev_post_id)
		{
			$redirect_url .= '#' . $prev_post_id;
		}
Аватара пользователя
Поручик
Former team member
Сообщения: 3942
Стаж: 18 лет 10 месяцев
Откуда: Оренбург (Южный Урал)
Благодарил (а): 24 раза
Поблагодарили: 54 раза
Контактная информация:

Сообщение Поручик »

quazi писал(а):известные мне аналоги:
А я еще один аналог знаю: http://www.phpbb.com/phpBB/viewtopic.php?t=359154
Профессионал - тот же дилетант, только знающий, где ошибётся.
Генератор db_update.php для phpBB2 с некоторыми удобствами. Многие моды я беру или ищу здесь, здесь, тут
Все консультации только на форуме, приваты и стук в аську по таким вопросам игнорируются!
FAQ-phpBB3 | Ошибки новичков, или как не поссориться с модератором | Правила конференции

наш форум http://forum.aeroion.ru/cat1.html
quazi
phpBB 2.0.2
Сообщения: 306
Стаж: 19 лет
Контактная информация:

Сообщение quazi »

и так вот еще аналог

http://www.phpbb.com/files/mods/quicker_redirect103.mod
ну такого кривого мода я еще не встречал
Аватара пользователя
Поручик
Former team member
Сообщения: 3942
Стаж: 18 лет 10 месяцев
Откуда: Оренбург (Южный Урал)
Благодарил (а): 24 раза
Поблагодарили: 54 раза
Контактная информация:

Сообщение Поручик »

Это не то. Quicker Redirect уменьшает время задержки перед редиректом.
Профессионал - тот же дилетант, только знающий, где ошибётся.
Генератор db_update.php для phpBB2 с некоторыми удобствами. Многие моды я беру или ищу здесь, здесь, тут
Все консультации только на форуме, приваты и стук в аську по таким вопросам игнорируются!
FAQ-phpBB3 | Ошибки новичков, или как не поссориться с модератором | Правила конференции

наш форум http://forum.aeroion.ru/cat1.html
quazi
phpBB 2.0.2
Сообщения: 306
Стаж: 19 лет
Контактная информация:

Сообщение quazi »

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

поэтому все это аналоги
последний - это жуткая кривизна.

к тому даже при значении рефреша == 0, можно успеть нажать escape между окончанием загрузки страницы и началом рефреша, в таком случае перенаправления не будет
Закрыто

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