Пометка редактированных сообщений непрочитанными

Поддержка старых модов или модов, созданных авторами не из нашего сообщества, а также любые вопросы, связанные с модами для phpBB 3.0.x, кроме относящихся к форуму Для авторов (phpBB 3.0.x).
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Shredder
Former team member
Сообщения: 2266
Стаж: 17 лет 9 месяцев
Благодарил (а): 283 раза
Поблагодарили: 584 раза

Пометка редактированных сообщений непрочитанными

Сообщение Shredder »

Вроде бы весь раздел просмотрел, нигдё по этому вопросу ничего не нашёл.
Установил мод Mark_edited_posts_as_unread_v1.0.1. Мод предельно простой, и в нём всего одна инструкция:

Open: includes/functions_posting.php

Find

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

	// First of all make sure the subject and topic title are having the correct length.
Add after

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

// Start : Mark edited posts as unread MOD	
	if($post_mode == 'edit_last_post' || $post_mode == 'edit_topic')
	{
		$sql_update_posts = 'UPDATE ' . POSTS_TABLE . '
				SET post_time = ' . $current_time . '
				WHERE post_id = ' . $data['post_id'] . ' 
					AND topic_id = ' . $data['topic_id'];
		$db->sql_query($sql_update_posts);

		$sql_update_topics = 'UPDATE ' . TOPICS_TABLE . ' 
				SET topic_last_post_time = ' . $current_time . ' 
				WHERE topic_id = ' . $data['topic_id'];
		$db->sql_query($sql_update_topics);            
	
		update_post_information('forum', $data['forum_id']);
		markread('post', $data['forum_id'], $data['topic_id'], $data['post_time']);
	}
// End : Mark edited posts as unread MOD
Всё нормально работает, за исключением одной детали. Если редактируемый в каком-либо разделе пост был в нём не последний, то на главной странице ссылка "перейти к последнему сообщению" продолжает вести к прежнему, оставленному обычным способом. Есть какой-нибудь простой способ это исправить? Версия 3.0.5, хотя вряд ли тут это имеет значение.
Аватара пользователя
Палыч
Former team member
Сообщения: 9683
Стаж: 20 лет 4 месяца
Откуда: Питер
Благодарил (а): 3 раза
Поблагодарили: 454 раза

Re: Пометка редактированных сообщений непрочитанными

Сообщение Палыч »

Shredder
А что исправить? Последнее сообщение, оно и есть последнее. А не первое из непрочитанных.
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
Shredder
Former team member
Сообщения: 2266
Стаж: 17 лет 9 месяцев
Благодарил (а): 283 раза
Поблагодарили: 584 раза

Re: Пометка редактированных сообщений непрочитанными

Сообщение Shredder »

Дело в том, что мод ставит время сообщения на момент редактирования. Таким образом, получается то же самое, как если бы кто-то удалил сообщение и написал заново с дополненной информацией. Но в таком случае ссылка вела бы именно на него, а тут - нет. Немного некрасиво выходит.
Аватара пользователя
Палыч
Former team member
Сообщения: 9683
Стаж: 20 лет 4 месяца
Откуда: Питер
Благодарил (а): 3 раза
Поблагодарили: 454 раза

Re: Пометка редактированных сообщений непрочитанными

Сообщение Палыч »

Shredder писал(а): Если редактируемый в каком-либо разделе пост был в нём не последний
В этом случае МОД не работает.
Modification description: This MOD marks topic's last posts as unread if they are edited.
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
Slon77
phpBB 1.4.2
Сообщения: 52
Стаж: 20 лет 3 месяца
Благодарил (а): 1 раз
Поблагодарили: 1 раз

Re: Пометка редактированных сообщений непрочитанными

Сообщение Slon77 »

не подскажите, можно ли отредактировать этот мод так, чтобы топик помечался непрочитанным, но при этом не менялось время создания поста?
при этом интерес представляет чтобы непрочитанными становились ветки, в которых был отредактирован первый пост
(отсюда и вопрос - если просто написать

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

	if($post_mode == 'edit_first_post' || $post_mode == 'edit_topic')
- редактируемый пост уползает в конец ветки..

если видоизменить мод на

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

// Start : Mark edited posts as unread MOD	
	if($post_mode == 'edit_first_post' || $post_mode == 'edit_topic')
	{
		$sql_update_topics = 'UPDATE ' . TOPICS_TABLE . ' 
				SET topic_last_post_time = ' . $current_time . ' 
				WHERE topic_id = ' . $data['topic_id'];
		$db->sql_query($sql_update_topics);            
	
		update_post_information('forum', $data['forum_id']);
		markread('post', $data['forum_id'], $data['topic_id'], $data['post_time']);
	}
// End : Mark edited posts as unread MOD
то вроде бы почти достигаем полученного результата - ветка помечается непрочитанной, но при этом после посещения она по-прежнему выглядит "свежей" - пока юзер специально не нажмет "пометить все темы как прочтенные"
не подскажите, как решить эту проблему?
monk70
phpBB 1.2.1
Сообщения: 23
Стаж: 17 лет 4 месяца
Благодарил (а): 4 раза

Re: Пометка редактированных сообщений непрочитанными

Сообщение monk70 »

При редактировании последнего сообщения, у него изменяется дата, но сама темы не появляется наверху в recent и на главной с модом NV advanced last topic titles 1.2.9. Помогите, пожалууста, исправить.

Вернуться в «Поддержка модов для phpBB 3.0.x»