Уважаемые пользователи!
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] Advanced Posts Merging

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

Сообщение Hellraiser »

Ок.
Придется еще раз полазить в коде ;)
sigal
phpBB Plus
Сообщения: 442
Стаж: 19 лет 11 месяцев
Откуда: КПРФ ;)

Сообщение sigal »

Xpert писал(а):Готово. Жучок затесался в functions_post, вот что должно быть на самом деле:

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

if ( ($mode == 'editpost') && (isset($post_data['post_time'])) )
	{
		$sql = 'UPDATE ' . POSTS_TABLE . ' SET post_time = ' . $post_data['post_time'] . 

' WHERE post_id = ' . $post_id;
		$result = $db->sql_query($sql) or message_die(GENERAL_ERROR, 'Could not update 

last post time', '', __LINE__, __FILE__, $sql);

		$sql = 'UPDATE ' . FORUMS_TABLE . ' SET forum_last_post_id = ' . $post_id . ' 

WHERE forum_id = ' . $forum_id;
		$result = $db->sql_query($sql) or message_die(GENERAL_ERROR, 'Could not update 

last post id', '', __LINE__, __FILE__, $sql);
	}
Код в архиве уже обновлен.
пардон, а что за жучек???
мне тоже получается придется обновить!!! :|
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Стаж: 20 лет 1 месяц
Поблагодарили: 2 раза

Сообщение Xpert »

sigal
Было
$sql = 'UPDATE ' . FORUMS_TABLE . ' SET forum_last_post_id = ' . $post_data['post_time'] . ' WHERE forum_id = ' . $forum_id;
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
sigal
phpBB Plus
Сообщения: 442
Стаж: 19 лет 11 месяцев
Откуда: КПРФ ;)

Сообщение sigal »

Xpert
я понимаю..
а на деле, что этот баг делал не так???
( просто хочется знать насколько он серьезен на деле, стоит ли обновлять мод из-за него)...

Добавлено спустя 2 минуты 21 секунду:

и еще: уже запутался с этими модами.. :cry:
у меня их столько понаставлено на форум, что уже со счету сбиваюсь и не понимаю что есть что..
это что за мод: "склеивание сообщений направленных одним пользователем???"..
это то где я лимит склеивания в 3 часа выставлял???
не подскажите? :|
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Стаж: 20 лет 1 месяц
Поблагодарили: 2 раза

Сообщение Xpert »

sigal
Оно. Баг делает кривыми линки на последние посты. Пофиксить-то несложно. Обновить-то 2 строчки.
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Hellraiser
phpBB 2.0.1
Сообщения: 258
Стаж: 20 лет

Сообщение Hellraiser »

У меня возник следующий глюк этого с мода с модом "Глобальные обьявления".
Смотреть тут JPEG ~75 кб
C обычными, "НЕГЛОБАЛЬНЫМИ" все ок.

Завтра посмотрю код, может это моя повышеная криворукость сыграла роль. ;)
Сегодня давно пора уже пиво пить ;)
ra
phpBB 2.0.2
Сообщения: 325
Стаж: 20 лет
Откуда: Беларусь

Сообщение ra »

Hellraiser
Причём сдесь Post Merging?
Hellraiser
phpBB 2.0.1
Сообщения: 258
Стаж: 20 лет

Сообщение Hellraiser »

Это появилось сразу после установки мода.
В если форуме сужествуют глобальные обьявления, и оно создано в данном разделе форума, то при "склеивании сообщения" оно переносится "наверх", но оно и отображается на "старом" месте что и показывает скриншот.
В других разделах форума, в котором это сообщение не создано, все с поднятием ок.
Если потом отвечает кто либо еще, (не происходит "склеивание") все возвращается в норму.
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Стаж: 20 лет 1 месяц
Поблагодарили: 2 раза

Сообщение Xpert »

Hellraiser
Дай пожалуйста линк на этот мод, посмотрю его.
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Hellraiser
phpBB 2.0.1
Сообщения: 258
Стаж: 20 лет

Сообщение Hellraiser »

Собственно мод
Обсуждение мода

Добавлено спустя 28 минут 8 секунд:

Дело в том что код изменяемый модом Advanced Posts Merging выглядел не так.

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

//
// Grab all the basic data (all topics except announcements)
// for this forum
//
$sql = "SELECT t.*, u.username, u.user_id, u2.username as user2, u2.user_id as id2, p.post_username, p2.post_username AS post_username2, p2.post_time 
	FROM " . TOPICS_TABLE . " t, " . USERS_TABLE . " u, " . POSTS_TABLE . " p, " . POSTS_TABLE . " p2, " . USERS_TABLE . " u2
	WHERE t.forum_id = $forum_id
		AND t.topic_poster = u.user_id
		AND p.post_id = t.topic_first_post_id
		AND p2.post_id = t.topic_last_post_id
		AND u2.user_id = p2.poster_id 
		AND t.topic_type <> " . POST_ANNOUNCE . " 
		$limit_topics_time
	ORDER BY t.topic_type DESC, t.topic_last_post_id DESC 
	LIMIT $start, ".$board_config['topics_per_page'];
if ( !($result = $db->sql_query($sql)) )
{
   message_die(GENERAL_ERROR, 'Could not obtain topic information', '', __LINE__, __FILE__, $sql);
}
А немного иначе.
Мод "Глобальные обьявления уже внес в него посильную лепту

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

//
// Grab all the basic data (all topics except announcements)
// for this forum
//
$sql = "SELECT t.*, u.username, u.user_id, u2.username as user2, u2.user_id as id2, p.post_username, p2.post_username AS post_username2, p2.post_time 
	FROM " . TOPICS_TABLE . " t, " . USERS_TABLE . " u, " . POSTS_TABLE . " p, " . POSTS_TABLE . " p2, " . USERS_TABLE . " u2
	WHERE t.forum_id = $forum_id
		AND t.topic_poster = u.user_id
		AND p.post_id = t.topic_first_post_id
		AND p2.post_id = t.topic_last_post_id
		AND u2.user_id = p2.poster_id 
		AND t.topic_type <> " . POST_ANNOUNCE . "
 -----AND t.topic_type <> " . POST_GLOBAL_ANNOUNCE . "---
		$limit_topics_time
	ORDER BY t.topic_type DESC, t.topic_last_post_id DESC 
	LIMIT $start, ".$board_config['topics_per_page'];
if ( !($result = $db->sql_query($sql)) )
{
   message_die(GENERAL_ERROR, 'Could not obtain topic information', '', __LINE__, __FILE__, $sql);
}
Всетаки это была моя криворукость.
Торопился и непосмотрев полностью заменил :(
Мод "Глобальные обьявления" добавил в код следующую строчку.

AND t.topic_type <> " . POST_GLOBAL_ANNOUNCE . "
А поскольку в замененном мною коде ее не было, то тема поднималась еще раз уже как обычная ;)

Добавил, посмотрю, о результатах отпишу.
Пока все вроде заработало.

P.S. Всем улыбаЦЦа полчаса Изображение
ra
phpBB 2.0.2
Сообщения: 325
Стаж: 20 лет
Откуда: Беларусь

Сообщение ra »

Вот не знаю баг или не баг. Но суть его вот в чём: интервал я ставлю 12 секунд. И сообщения соответсвенно должны склеиваться только в течении 12 секунд. НО! После склеивания сообщений, дата постинга первоначального сообщения обновляется. И уже от неё идёт отсчёт интервала. То есть если сообщения постить с переодичностью одно в 6 секунд, то интервал так и не подействует.
http://images.people.overclockers.ru/7331.jpg
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Стаж: 20 лет 1 месяц
Поблагодарили: 2 раза

Сообщение Xpert »

R@
Баг. Надо брать время post_created. Сейчас поправлю.
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
ra
phpBB 2.0.2
Сообщения: 325
Стаж: 20 лет
Откуда: Беларусь

Сообщение ra »

Xpert
Интервал поправлю
Не забудь :)
Насчет гостей надо подумать - идея конечно хорошая, но стоит ли это делать...
Почему нет? Отдельный интервал и всех делов. Я это сделал за час, а потом ещё за весь день пофиксил баги :lol: .

Добавлено спустя 1 минуту 9 секунд:

И оформлени мода тоже не мешало бы привести в более аккуратный вид.
ra
phpBB 2.0.2
Сообщения: 325
Стаж: 20 лет
Откуда: Беларусь

Сообщение ra »

MOD Version Numbering System
Версия мода длжна быть уже около 1.1.5
JozikLesnoi

Сообщение JozikLesnoi »

Всем привет! У меня тут такая фишка странная выходит. Поставил себе этот мод, потестировал - работает без погрешностей. До этого поставил ещё два мода - ограничение количества смайликов (на 10 шт.) и символов в посте. Всё работаёт замечательно... Решил я ещё раз проверить Merge-мод кучкой периодически посылаемых смайликов (на всякий пожарный - вдруг какой-то из них не проявится, а будет только символ). Послал 5 штук - всё ок, послал ещё 4 шт. - опять всё ок, посылаю ещё 4 шт. и тут выходит сообщение, что у меня превышен лимит смайликов на 3 шт. (5+4+4), я удаляю эти лишние 3 смайлика (остаётся 1) и сообщение отсылается. И что я вижу - в сообщении остался только последний отосланный мною смайлик, а все прошлые стёрлись. Так же я проэксперементировал с текстами, пока общее количество символов посылаемого друг за другом и сливаемого в одно сообщение текста не превысило лимит и не вышло об этом предупреждение - в сообщении остался только последний отосланный кусок текста. Можно как-то от такой бяки избавиться не меняя конфигурации (лимитов) и не удаляя модов?

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