[release] Posts merging by rxu

Все расширения, созданные нашим сообществом для phpBB, как находящиеся в разработке, так и прошедшие валидацию на официальном сайте phpbb.com, будут анонсированы тут. Вся техническая поддержка по этим расширениям оказывается в этом форуме.
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB3.1.x/3.3.x | FAQ | Как задавать вопросы | Как устанавливать расширения

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 14170
Зарегистрирован: 12.05.2006 18:16
Откуда: Красноярск
Благодарил (а): 332 раза
Поблагодарили: 1446 раз
Контактная информация:

[release] Posts merging by rxu

Сообщение rxu » 09.01.2015 15:03

Расширение прошло валидацию на phpbb.com: https://www.phpbb.com/customise/db/exte ... tsmerging/

Исходный код: https://github.com/rxu/posts_merging
Копировать в папку /ext/rxu/PostsMerging/.
Изображение

Перенесено из форума Бета-версии расширений для phpBB 3.1.x в форум Анонсы и поддержка расширений для phpBB 3.1.x 24.03.2015 21:09 модератором rxu

Аватара пользователя
COB16
phpBB 2.0.14
Сообщения: 952
Зарегистрирован: 05.10.2014 21:08
Откуда: Беларусь
Благодарил (а): 306 раз
Поблагодарили: 57 раз
Контактная информация:

Re: [release] Posts merging by rxu

Сообщение COB16 » 18.11.2018 20:27

Не могу изменить цвет сообщения о переносе, при нажатии на палитру просто кидает выше по странице. Вручную пишешь цвет бб кодом все равно не меняет.
Версия phpbb 3.2.3 / php 7.1 /

Аватара пользователя
Siava
Поддержка
Поддержка
Сообщения: 4057
Зарегистрирован: 11.01.2005 14:29
Откуда: Питер
Благодарил (а): 100 раз
Поблагодарили: 406 раз
Контактная информация:

Re: [release] Posts merging by rxu

Сообщение Siava » 18.11.2018 20:31

COB16, у меня всё работает корректно. Версия расширения 2.1.0 + php 7.2.12 + Firefox.
А вот "Предпросмотр разделителя" в настройках в админке отображает одинаково зелёным и до и после правки))
Еще одно нарушение правил и будете забанены. © Mr. Anderson
https://siava.ru/forum/ (phpbb 2.0.x, 3.1.x 3.2.x)

Аватара пользователя
COB16
phpBB 2.0.14
Сообщения: 952
Зарегистрирован: 05.10.2014 21:08
Откуда: Беларусь
Благодарил (а): 306 раз
Поблагодарили: 57 раз
Контактная информация:

Re: [release] Posts merging by rxu

Сообщение COB16 » 18.11.2018 20:38

Siava, пробовал переустановить та же ситуация почему то. И цвет если вручную задать не меняет потом на страницах форума. И почему то при установке пишет что есть более свежая версия но скачивает ту же

Аватара пользователя
COB16
phpBB 2.0.14
Сообщения: 952
Зарегистрирован: 05.10.2014 21:08
Откуда: Беларусь
Благодарил (а): 306 раз
Поблагодарили: 57 раз
Контактная информация:

Re: [release] Posts merging by rxu

Сообщение COB16 » 19.11.2018 19:32

Разобрался, благодарю Pazh

Dook
phpBB 1.2.1
Сообщения: 21
Зарегистрирован: 28.03.2016 6:09
Благодарил (а): 1 раз
Поблагодарили: 3 раза

Re: [release] Posts merging by rxu

Сообщение Dook » 13.12.2018 11:57

rxu, обновите номер unstable-версии:
http://rxu.github.io/versions/posts_mer ... rsion.json - 2.1.1-dev
https://github.com/rxu/posts_merging/bl ... poser.json - 2.1.0
А то Upload extensions ругается

is_pronin
phpBB 1.4.1
Сообщения: 41
Зарегистрирован: 21.06.2018 0:59
Благодарил (а): 9 раз

Re: [release] Posts merging by rxu

Сообщение is_pronin » 14.03.2019 5:08

Склеивание работает, но чекбокс "Не склеивать с предыдущим" не появляется. В пользовательских ролях право "Может игнорировать склеивание сообщений" установлено в "Да". Версия расширения 2.1.0, версия phpBB 3.2.5.

is_pronin
phpBB 1.4.1
Сообщения: 41
Зарегистрирован: 21.06.2018 0:59
Благодарил (а): 9 раз

Re: [release] Posts merging by rxu

Сообщение is_pronin » 14.03.2019 12:19

is_pronin писал(а):
14.03.2019 5:08
Склеивание работает, но чекбокс "Не склеивать с предыдущим" не появляется.
Отставить. Проблема была на моей стороне.

Аватара пользователя
Pazh
Former team member
Сообщения: 2097
Зарегистрирован: 09.11.2009 17:46
Благодарил (а): 37 раз
Поблагодарили: 425 раз
Контактная информация:

Re: [release] Posts merging by rxu

Сообщение Pazh » 07.05.2019 14:52

Баг: при наличии в заголовке сообщения/темы или имени юзера символов, требующих экранирования - например одинарной кавычки - суть ошибки на скрине:
Screenshot_11.jpg
Символ экранирования \ сохраняется как обычный символ в БД из-за двойного экранирования функцией sql_escape

fix:
в файле rxu/PostMerging/core/helper.php найти

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

		$sql_data[FORUMS_TABLE]['sql'] = array(
			'forum_last_post_time'		=> $data['post_time'],
			'forum_last_post_id'		=> $data['post_id'],
			'forum_last_post_subject'	=> $this->db->sql_escape($data['post_subject']),
			'forum_last_poster_id'		=> (int) $this->user->data['user_id'],
			'forum_last_poster_name'	=> $this->db->sql_escape($this->user->data['username']),
			'forum_last_poster_colour'	=> $this->db->sql_escape($this->user->data['user_colour']),
		);
заменить на:

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

		$sql_data[FORUMS_TABLE]['sql'] = array(
			'forum_last_post_time'		=> $data['post_time'],
			'forum_last_post_id'		=> $data['post_id'],
			'forum_last_post_subject'	=> $data['post_subject'],
			'forum_last_poster_id'		=> (int) $this->user->data['user_id'],
			'forum_last_poster_name'	=> $this->user->data['username'],
			'forum_last_poster_colour'	=> $this->user->data['user_colour'],
		);
форум ЖК Пироговская ривьера Помощь в ЛС/email только за WM или ЯД

Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 14170
Зарегистрирован: 12.05.2006 18:16
Откуда: Красноярск
Благодарил (а): 332 раза
Поблагодарили: 1446 раз
Контактная информация:

Re: [release] Posts merging by rxu

Сообщение rxu » 07.05.2019 18:31

Pazh писал(а):
07.05.2019 14:52
заменить на:
А в каком месте первичное экранирование?
Изображение

Аватара пользователя
Siava
Поддержка
Поддержка
Сообщения: 4057
Зарегистрирован: 11.01.2005 14:29
Откуда: Питер
Благодарил (а): 100 раз
Поблагодарили: 406 раз
Контактная информация:

Re: [release] Posts merging by rxu

Сообщение Siava » 07.05.2019 19:50

rxu, в includes/functions_posting.php есть в парочке мест:

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

		while ($row = $db->sql_fetchrow($result))
		{
			$update_sql[$row["{$type}_id"]][] = $type . '_last_post_id = ' . (int) $row['post_id'];
			$update_sql[$row["{$type}_id"]][] = "{$type}_last_post_subject = '" . $db->sql_escape($row['post_subject']) . "'";
			$update_sql[$row["{$type}_id"]][] = $type . '_last_post_time = ' . (int) $row['post_time'];
			$update_sql[$row["{$type}_id"]][] = $type . '_last_poster_id = ' . (int) $row['poster_id'];
			$update_sql[$row["{$type}_id"]][] = "{$type}_last_poster_colour = '" . $db->sql_escape($row['user_colour']) . "'";
			$update_sql[$row["{$type}_id"]][] = "{$type}_last_poster_name = '" . (($row['poster_id'] == ANONYMOUS) ? $db->sql_escape($row['post_username']) : $db->sql_escape($row['username'])) . "'";
		}
		$db->sql_freeresult($result);

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

		if ($post_visibility == ITEM_APPROVED)
		{
			if ($post_mode == 'post')
			{
				$config->increment('num_topics', 1, false);
			}
			$config->increment('num_posts', 1, false);

			$sql_data[FORUMS_TABLE]['stat'][] = 'forum_last_post_id = ' . $data_ary['post_id'];
			$sql_data[FORUMS_TABLE]['stat'][] = "forum_last_post_subject = '" . $db->sql_escape($subject) . "'";
			$sql_data[FORUMS_TABLE]['stat'][] = 'forum_last_post_time = ' . $current_time;
			$sql_data[FORUMS_TABLE]['stat'][] = 'forum_last_poster_id = ' . (int) $user->data['user_id'];
			$sql_data[FORUMS_TABLE]['stat'][] = "forum_last_poster_name = '" . $db->sql_escape((!$user->data['is_registered'] && $username) ? $username : (($user->data['user_id'] != ANONYMOUS) ? $user->data['username'] : '')) . "'";
			$sql_data[FORUMS_TABLE]['stat'][] = "forum_last_poster_colour = '" . $db->sql_escape($user->data['user_colour']) . "'";
		}

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

	// Update the forum's last post info
	$sql = 'UPDATE ' . FORUMS_TABLE . "
		SET forum_last_post_id = " . $post_data['topic_last_post_id'] . ",
			forum_last_poster_id = " . $post_data['topic_last_poster_id'] . ",
			forum_last_post_subject = '" . $db->sql_escape($post_data['topic_last_post_subject']) . "',
			forum_last_post_time = $bump_time,
			forum_last_poster_name = '" . $db->sql_escape($post_data['topic_last_poster_name']) . "',
			forum_last_poster_colour = '" . $db->sql_escape($post_data['topic_last_poster_colour']) . "'
		WHERE forum_id = $forum_id";
	$db->sql_query($sql);
Еще одно нарушение правил и будете забанены. © Mr. Anderson
https://siava.ru/forum/ (phpbb 2.0.x, 3.1.x 3.2.x)

Аватара пользователя
Pazh
Former team member
Сообщения: 2097
Зарегистрирован: 09.11.2009 17:46
Благодарил (а): 37 раз
Поблагодарили: 425 раз
Контактная информация:

Re: [release] Posts merging by rxu

Сообщение Pazh » 07.05.2019 20:16

rxu писал(а):
07.05.2019 18:31
А в каком месте первичное экранирование?
первое в коде расширения которое я привел для замены. Второе в функции _sql_validate_value, вызываемой в sql_build_array
форум ЖК Пироговская ривьера Помощь в ЛС/email только за WM или ЯД

Ответить

Вернуться в «Анонсы и поддержка расширений для phpBB»