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

Double Post Control

Ответы на вопросы, связанные с модами для phpBB 2.0.x, кроме относящихся к форуму Для авторов (phpBB 2.0.x).
Meithar
phpBB 1.4.3
Сообщения: 85
Стаж: 19 лет 9 месяцев

Сообщение Meithar »

А что думаете на счет этого мода?
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Стаж: 20 лет 1 месяц
Поблагодарили: 2 раза

Сообщение Xpert »

Неплохой мод. Надо запомнить :)
Правда в его обсуждении почему-то пишут, что он не работает так, как заявлено.
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Meithar
phpBB 1.4.3
Сообщения: 85
Стаж: 19 лет 9 месяцев

Сообщение Meithar »

Правда в его обсуждении почему-то пишут, что он не работает так, как заявлено.
Во всяком случае, идея правильная. :)

Я посмотрю его повнимательней в ближайшие дни. А то меня тоже эта проблема немного достала.
Meithar
phpBB 1.4.3
Сообщения: 85
Стаж: 19 лет 9 месяцев

Сообщение Meithar »

Посмотрел. Там всё правильно, за исключением того, что сообщения нужно предварительно очистить от bbcode_uid, иначе этот мод будет ловить только простой текст.

Вот так будет лучше сделать (изменены две закоментированные строки):

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

// Double Post Control
$lastposttime = intval($row['last_post_time']);
if($mode != 'editpost')
{
//	$sql = "SELECT pt.post_text
	$sql = "SELECT pt.post_text, pt.bbcode_uid
		FROM " . POSTS_TABLE . " p, " . POSTS_TEXT_TABLE . " pt
		WHERE $where_sql AND p.post_time = $lastposttime AND pt.post_id = p.post_id
		LIMIT 1";
	if ($result = $db->sql_query($sql))
	{
		if ($row = $db->sql_fetchrow($result))
		{
//      if ($row['post_text'] == $post_message)
			if ( (str_replace(":" . $row['bbcode_uid'] . "]", ']', $row['post_text'])) == (str_replace(":$bbcode_uid]", ']', $post_message)) )
			{
				message_die(GENERAL_MESSAGE, $lang['Double_Post_Error']);
			}
		}
	$db->sql_freeresult($result);
	}
}
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Стаж: 20 лет 1 месяц
Поблагодарили: 2 раза

Сообщение Xpert »

Meithar
А автору об этом сообщил? :)
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Meithar
phpBB 1.4.3
Сообщения: 85
Стаж: 19 лет 9 месяцев

Сообщение Meithar »

Типа того. :) Запостил в том топике на www.phpbb.com свой вариант.

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