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

[FAQ] Информация о редактировании сообщения.

Темы по наиболее часто задаваемым вопросам без привязки к версии phpBB. Читать в первую очередь!
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB 3.1.x/3.2.x/3.3.x | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать расширения

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
Alloy
phpBB 1.4.3
Сообщения: 82
Стаж: 19 лет 6 месяцев
Откуда: Киев
Поблагодарили: 2 раза
Контактная информация:

[FAQ] Информация о редактировании сообщения.

Сообщение Alloy »

Почему показывает кто редактировал сообщение и когда - если только указана причина редактирования. а если я просто чете исправил то ниче не видно. Это глюк или так должно быть?

п.с. в админке можно все увидеть но хотелось чтобы пользователи тоже знали если их сообщение кто нить отредактировал и когда это было сделано....

Ответ:
Палыч писал(а):Суммируем:
Не отмечается факт редактирования, если:
- данное сообщение последнее в теме, то есть на него ещё нет ответов.
- редактируется чужое сообщение администратором или модератором
- отключена данная функция в администраторском разделе.
Кто ищет, тот всегда найдет!!!
Вся жизнь в сравнении и только в сравнении находишь наилучшее!!!
ICQ: 2385454
Taras
phpBB 1.2.0
Сообщения: 11
Стаж: 14 лет 10 месяцев

Re: [FAQ] Информация о редактировании сообщения.

Сообщение Taras »

Нашел.
Таки да, в overall_header.html. И не забывать про кэш.
Спасибо.
Аватара пользователя
wwc
phpBB 1.4.4
Сообщения: 127
Стаж: 16 лет 9 месяцев
Откуда: Москва
Благодарил (а): 1 раз
Контактная информация:

Re: [FAQ] Информация о редактировании сообщения.

Сообщение wwc »

Подскажите: Гости оставляя сообщение получают надпись (что-то типа) "Ваше сообщение будет опубликовано после просмотра модератором", не напомните где мне изменить настройки, чтоб сообщение гостя размещалось сразу после нажатия кнопочки "отправить". Спасибо.
Лучшая месть убийце - укол редкого вируса и поиск антидота от него за 48 часов.
Аватара пользователя
Rayden
Former team member
Сообщения: 3739
Стаж: 18 лет 9 месяцев
Поблагодарили: 44 раза
Контактная информация:

Re: [FAQ] Информация о редактировании сообщения.

Сообщение Rayden »

В правах - может размещать сообщения без одобрения.
Причем тут ДАННАЯ тема?
phpBB2 FAQ
phpBB3 FAQ
Аватара пользователя
wwc
phpBB 1.4.4
Сообщения: 127
Стаж: 16 лет 9 месяцев
Откуда: Москва
Благодарил (а): 1 раз
Контактная информация:

Re: [FAQ] Информация о редактировании сообщения.

Сообщение wwc »

Rayden писал(а):В правах - может размещать сообщения без одобрения.
Причем тут ДАННАЯ тема?
Спасибо. Асоциативно....
Лучшая месть убийце - укол редкого вируса и поиск антидота от него за 48 часов.
ckutalec
phpBB 1.0.0
Сообщения: 1
Стаж: 14 лет 5 месяцев

Re: [FAQ] Информация о редактировании сообщения.

Сообщение ckutalec »

Ошибка заключается в следующем
При русификации форума ты в language добавляешь папку RU и в настройках конференции ставишь русский язык
но в шаблонах нет русификации там только EN, соответственно теряется часть ресурсов шаблона

- исправляется следующим образом создаешь в шаблоне директорию RU и копируешь туда содержимое из EN
все кнопочки сразу же появляются

- или же просто в настройках конференции установить английский язык
Аватара пользователя
Alek$
Former team member
Сообщения: 2616
Стаж: 18 лет 7 месяцев
Откуда: Новосибирск
Поблагодарили: 37 раз
Контактная информация:

Re: [FAQ] Информация о редактировании сообщения.

Сообщение Alek$ »

ckutalec
1) для стандартных шаблонов есть русификация на офсайте. Для многих нестандартных она тоже пригодна. Но в любом случае переводить форум на английский ради кнопок шаблона - глупо.
2) Как ваш пост относится к этой теме?
Самая страшная ошибка, это ошибка без видимых причин и конкретных последствий.
phpBB3 [db_update.php generator]
Первая помощь по всем phpBB-вопросам: phpBB2 и phpBB3 FAQ; Правила общения;
Все консультации в icq или личке - на платной основе.
Shredder
Former team member
Сообщения: 2217
Стаж: 15 лет 3 месяца
Благодарил (а): 236 раз
Поблагодарили: 561 раз
Контактная информация:

Re: [FAQ] Информация о редактировании сообщения.

Сообщение Shredder »

Мой точно относится.
Решил недавно добавить такие условия:

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

			if ($data['post_edit_reason'] || ($user->data['user_type'] != 3 && ($post_mode == 'edit' || $post_mode == 'edit_first_post' || $user->data['user_id'] != $poster_id)))
То есть, информация добавляется в следующих случаях (в порядке иерархии):
1) Само собой, когда указана причина (это - всегда, и не надо тут ничего менять).
2) Если редактирующий - не основатель.
3) Редактируется чужой пост, либо не последний или не единственный в теме пост.

Теперь я захотел добавить ещё и условие, чтобы информация всегда появлялась в тех случаях (для неоснователя), когда уже есть отметки о редактировании - это логично, и для этого решил использовать post_edit_count, а точнее добавить к последним условиям || $data['post_edit_count'] :

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

			if ($data['post_edit_reason'] || ($user->data['user_type'] != 3 && ($post_mode == 'edit' || $post_mode == 'edit_first_post' || $data['post_edit_count'] || $user->data['user_id'] != $poster_id)))
Но сразу возникла проблема - ничего не работает: пишет "переменная неопределена (или что-то вроде того)" и всё тут.

Однако после этого при создании нового сообщения или темы стал вылазить глюк с неопределённой переменной post_edit_count. Решил я эту проблему вот так:

открыть posting.php

find

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

				'post_edit_reason'		=> $post_data['post_edit_reason'],
after add

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

				'post_edit_count'		=> ($mode == 'edit') ? $post_data['post_edit_count'] : false,
То есть 'post_edit_count' берётся только для случаев редактирования сообщений, а не для всех сразу. Теперь всё работает, как надо.
Хотел спросить знатоков: всё ли там корректно?
Аватара пользователя
vova_king
phpBB 1.0.0
Сообщения: 2
Стаж: 14 лет 11 месяцев

Re: [FAQ] Информация о редактировании сообщения.

Сообщение vova_king »

Добрый день. Я установил phpbb3.0.5 русский и у меня нет функций редактировать сообщения вообще нету таких кнопок.
Что делать?
Аватара пользователя
crash
Former team member
Сообщения: 6517
Стаж: 19 лет 8 месяцев
Откуда: Бердск
Поблагодарили: 15 раз
Контактная информация:

Re: [FAQ] Информация о редактировании сообщения.

Сообщение crash »

vova_king
если вы не повеситесь, то я вас забаню.
Как правильно задавать вопросы
Для особо одаренных: поиск - это есть круто.
FAQ v.2 | FAQ v.3 | Шаблон запроса
Аватара пользователя
DK7
Former team member
Сообщения: 1008
Стаж: 17 лет 8 месяцев
Откуда: Кишинёв
Благодарил (а): 3 раза
Поблагодарили: 25 раз
Контактная информация:

Re: [FAQ] Информация о редактировании сообщения.

Сообщение DK7 »

vova_king писал(а):Что делать?
поищите поиском по форуму данную проблему.
Аватара пользователя
uzzzer
phpBB 1.2.1
Сообщения: 26
Стаж: 16 лет 6 месяцев
Контактная информация:

Re: [FAQ] Информация о редактировании сообщения.

Сообщение uzzzer »

uzzzer писал(а):У меня точно такая же проблема. Если редактировать пост, но не меняя текст приписать причину редактирования, напишется что редактировал Гость. Ссылка ведет на нужный профиль, неверно отображается именно никнейм. Кто-нибудь знает лекарство?
Снова всплыла эта же проблема. Прошлый фикс не помог, видимо баг плавающий. Пришел к выводу что проблема заключается в viewtopic.php
Вот проблемный кусок кода:

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

	// Editing information
	if (($row['post_edit_count'] && $config['display_last_edited']) || $row['post_edit_reason'])
	{
		// Get usernames for all following posts if not already stored
		if (!sizeof($post_edit_list) && ($row['post_edit_reason'] || ($row['post_edit_user'] && !isset($user_cache[$row['post_edit_user']]))))
		{
			// Remove all post_ids already parsed (we do not have to check them)
			$post_storage_list = (!$store_reverse) ? array_slice($post_list, $i) : array_slice(array_reverse($post_list), $i);

			$sql = 'SELECT DISTINCT u.user_id, u.username, u.user_colour
				FROM ' . POSTS_TABLE . ' p, ' . USERS_TABLE . ' u
				WHERE ' . $db->sql_in_set('p.post_id', $post_storage_list) . '
					AND p.post_edit_count <> 0
					AND p.post_edit_user <> 0
					AND p.post_edit_user = u.user_id';
			$result2 = $db->sql_query($sql);
			while ($user_edit_row = $db->sql_fetchrow($result2))
			{
				$post_edit_list[$user_edit_row['user_id']] = $user_edit_row;
			}
			$db->sql_freeresult($result2);

			unset($post_storage_list);
		}

		$l_edit_time_total = ($row['post_edit_count'] == 1) ? $user->lang['EDITED_TIME_TOTAL'] : $user->lang['EDITED_TIMES_TOTAL'];

		if ($row['post_edit_reason'])
		{
			// User having edited the post also being the post author?
			if (!$row['post_edit_user'] || $row['post_edit_user'] == $poster_id)
			{
				$display_username = get_username_string('full', $poster_id, $row['username'], $row['user_colour'], $row['post_username']);
			}
			else
			{
				$display_username = get_username_string('full', $row['post_edit_user'], $post_edit_list[$row['post_edit_user']]['username'], $post_edit_list[$row['post_edit_user']]['user_colour']);
			}

			$l_edited_by = sprintf($l_edit_time_total, $display_username, $user->format_date($row['post_edit_time']), $row['post_edit_count']);
		}
		else
		{
			if ($row['post_edit_user'] && !isset($user_cache[$row['post_edit_user']]))
			{
				$user_cache[$row['post_edit_user']] = $post_edit_list[$row['post_edit_user']];
			}

			// User having edited the post also being the post author?
			if (!$row['post_edit_user'] || $row['post_edit_user'] == $poster_id)
			{
				$display_username = get_username_string('full', $poster_id, $row['username'], $row['user_colour'], $row['post_username']);
			}
			else
			{
				$display_username = get_username_string('full', $row['post_edit_user'], $user_cache[$row['post_edit_user']]['username'], $user_cache[$row['post_edit_user']]['user_colour']);
			}

			$l_edited_by = sprintf($l_edit_time_total, $display_username, $user->format_date($row['post_edit_time']), $row['post_edit_count']);
		}
	}
	else
	{
		$l_edited_by = '';
	}
Опытным путем было замечено что $row['post_edit_user'] содержит верную информацию о редактировавшем пользователе, в то время как $post_edit_list[$row['post_edit_user']]['username'] возвращает пустое значение как и весь $post_edit_list. В части сообщении никнейм модератора отображается, в другой отображается "Гость" т.к. $post_edit_list[$row['post_edit_user']]['username'] = ''

Есть идеи как пофиксить? Пробовал править запрос SQL и обработку результата, ни на что не повлияло...
Shredder
Former team member
Сообщения: 2217
Стаж: 15 лет 3 месяца
Благодарил (а): 236 раз
Поблагодарили: 561 раз
Контактная информация:

Re: [FAQ] Информация о редактировании сообщения.

Сообщение Shredder »

uzzzer
uzzzer писал(а):Код в Includes/functions_posting.php не менял, глюк, по всей видимости, в самом phpbb 3.0.2
Конечно, там, если у вас до сих пор эта версия. У меня phpbb 3.0.5 и никаких глюков с "гостями" ни разу не было, сколько бы я чего там не менял, в кодах информации редактирования. Проверял несчётное количество раз.

--------

Нашёл ответ на один свой вопрос, который задавал в этой же теме:

Добавить в functions_posting.php к прочим условиям:

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

|| (($data['post_time'] + 60) < $current_time)
Число там - это время в секундах. В данном примере стоит минута (60 сек.).

Однако с модом "Mark edited posts as unread" это условие будет работать неправильно, т.к. он каждый раз меняет время создания сообщения.
Так что мод, с одной стороны, нужный, а с другой - от него одни проблемы... Точнее, из-за убиения времени создания поста. Ни у кого не появилось идей, как это исправить?)
Аватара пользователя
uzzzer
phpBB 1.2.1
Сообщения: 26
Стаж: 16 лет 6 месяцев
Контактная информация:

Re: [FAQ] Информация о редактировании сообщения.

Сообщение uzzzer »

Shredder, у многих и на предыдущих версиях небыло. Я сверял код includes/functions_posting.php и viewtopic.php с последней версией и не заметил особой разницы в обработке модерируемых сообщений.
!((( ALEX )))!
phpBB 1.4.4
Сообщения: 136
Стаж: 15 лет 10 месяцев
Поблагодарили: 2 раза
Контактная информация:

Re: [FAQ] Информация о редактировании сообщения.

Сообщение !((( ALEX )))! »

сегодня при редактировании сообщения модератором и указании причины выдало, что отредактировал сообщение гость...
но после редактирования другого сообщения в этой теме (так же с причиной, этим же модератором), в верхнем сообщении высветился нормальный ник, гость пропал.
Аватара пользователя
Fray98rus
Former team member
Сообщения: 442
Стаж: 16 лет 5 месяцев
Откуда: Санкт-Петербург
Благодарил (а): 3 раза
Поблагодарили: 2 раза
Контактная информация:

Re: [FAQ] Информация о редактировании сообщения.

Сообщение Fray98rus »

!((( ALEX )))! писал(а):сегодня при редактировании сообщения модератором и указании причины выдало, что отредактировал сообщение гость...
Тоже самое. Если перейти по ссылке на профиль "гостя", то открывается профиль модера.
Перенесено из форума FAQ (phpBB 3.0.x) в форум FAQ 28.09.2016 15:02 модератором rxu

Ответить

Вернуться в «FAQ»