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

Запрет редактирования если сообщение не последнее в теме

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

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
velo
phpBB 2.0.1
Сообщения: 252
Стаж: 16 лет 6 месяцев
Благодарил (а): 10 раз
Поблагодарили: 26 раз
Контактная информация:

Запрет редактирования если сообщение не последнее в теме

Сообщение velo »

Есть ли такой МОД? Если да, подскажите ссылку на него или название.
WORK: phpBB3 3.0.8 + Portal XL 5.0 + MODs + Custom,
PHP Version 5.3.3-7+squeeze25, Apache/2.2.9 (Debian), MySQL(i) 5.1.73-1+deb6u1-log
Альтаир Бергадлер
phpBB 2.0.5
Сообщения: 495
Стаж: 14 лет
Благодарил (а): 80 раз
Поблагодарили: 16 раз

Re: Запрет редактирования если сообщение не последнее в теме

Сообщение Альтаир Бергадлер »

Актуально, присоединяюсь.
Аватара пользователя
Nekstati
Поддержка
Поддержка
Сообщения: 3335
Стаж: 15 лет
Благодарил (а): 35 раз
Поблагодарили: 1434 раза

Re: Запрет редактирования если сообщение не последнее в теме

Сообщение Nekstati »

viewtopic.php
Найти

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

	$edit_allowed = ($user->data['is_registered'] && ($auth->acl_get('m_edit', $forum_id) || (
Добавить после

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

		$row['post_id'] == $topic_data['topic_last_post_id'] &&
posting.php
Найти

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

	if ($user->data['user_id'] != $post_data['poster_id'])
	{
		trigger_error('USER_CANNOT_EDIT');
	}
Добавить после

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

	if ($post_data['post_id'] != $post_data['topic_last_post_id'])
	{
		trigger_error('CANNOT_EDIT_REPLIED');
	}
language/ru/posting.php
Найти

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

	'CANNOT_DELETE_REPLIED'		=> 'Извините, но вы можете удалять только сообщения, не имеющие ответов.',
Добавить после

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

	'CANNOT_EDIT_REPLIED'		=> 'Вы не можете отредактировать это сообщение, потому что на него уже кто-то ответил.',
language/***/posting.php — аналогично.
krasab
phpBB 1.4.4
Сообщения: 183
Стаж: 14 лет
Благодарил (а): 18 раз
Поблагодарили: 5 раз

Re: Запрет редактирования если сообщение не последнее в теме

Сообщение krasab »

А как сделать запрет на редактирование только в определенной категории или форуме или для определенной группы?
Изображение
Аватара пользователя
HAMMER663
Former team member
Сообщения: 2032
Стаж: 13 лет 11 месяцев
Откуда: Зеленоград
Благодарил (а): 77 раз
Поблагодарили: 249 раз
Контактная информация:

Re: Запрет редактирования если сообщение не последнее в теме

Сообщение HAMMER663 »

Для форума.

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

	if ($post_data['post_id'] != $post_data['topic_last_post_id'])
изменить на

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

	if ($post_data['post_id'] != $post_data['topic_last_post_id'] && $forum_id == 2 )
Где 2 это id вашего форума
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 17 лет 1 месяц
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2752 раза
Контактная информация:

Re: Запрет редактирования если сообщение не последнее в теме

Сообщение Sheer »

HAMMER663 писал(а):Где 2 это id вашего форума
Не есть хорошо.
Найти

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

$edit_allowed = ($user->data['is_registered'] && ($auth->acl_get('m_edit', $forum_id) || (
Перед вставить

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

$forums_disable_edit_post_list = array(13, 14, 15, 24, 16, 17, 23); // список форумов, где запрещено редактировать сообщения после ответов
Найти

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

if ($post_data['post_id'] != $post_data['topic_last_post_id'])
Заменить на

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

if ($post_data['post_id'] != $post_data['topic_last_post_id'] && $forum_id == (in_array($forum_id, $forums_disable_edit_post_list)) )
А еще правильнее, список этих форумов устанавливать в админке или же в настройках форумов добавить соответствующую опцию, но для этого уже в БД лезть надо.
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Аватара пользователя
HAMMER663
Former team member
Сообщения: 2032
Стаж: 13 лет 11 месяцев
Откуда: Зеленоград
Благодарил (а): 77 раз
Поблагодарили: 249 раз
Контактная информация:

Re: Запрет редактирования если сообщение не последнее в теме

Сообщение HAMMER663 »

Sheer согласен, что мой вариант не очень. Твой просто универсальный ;) особенно если еще в админку добавить опцию

Добавлено спустя 40 секунд:
а еще можно добавить: вкл\выкл запрет на редактирование сообщения
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 17 лет 1 месяц
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2752 раза
Контактная информация:

Re: Запрет редактирования если сообщение не последнее в теме

Сообщение Sheer »

Если есть востребованность, можно оформить в виде полноценного мода.
Какой вариант: опция в настройках или список id?

Добавлено спустя 1 минуту 18 секунд:
HAMMER663 писал(а):а еще можно добавить: вкл\выкл запрет на редактирование сообщения
Мудро...
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Аватара пользователя
HAMMER663
Former team member
Сообщения: 2032
Стаж: 13 лет 11 месяцев
Откуда: Зеленоград
Благодарил (а): 77 раз
Поблагодарили: 249 раз
Контактная информация:

Re: Запрет редактирования если сообщение не последнее в теме

Сообщение HAMMER663 »

Sheer и то и другое :D
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 17 лет 1 месяц
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2752 раза
Контактная информация:

Re: Запрет редактирования если сообщение не последнее в теме

Сообщение Sheer »

Вот. Примазался в соавторы ;)
Disable_edit_after_reply.zip
MODX
(27.18 КБ) 327 скачиваний
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Аватара пользователя
HAMMER663
Former team member
Сообщения: 2032
Стаж: 13 лет 11 месяцев
Откуда: Зеленоград
Благодарил (а): 77 раз
Поблагодарили: 249 раз
Контактная информация:

Re: Запрет редактирования если сообщение не последнее в теме

Сообщение HAMMER663 »

Sheer а где ж список форумов, в которых действовать будет данная фича?
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 17 лет 1 месяц
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2752 раза
Контактная информация:

Re: Запрет редактирования если сообщение не последнее в теме

Сообщение Sheer »

HAMMER663 писал(а):а где ж список форумов
А зачем он теперь там? Зашел в управление форумами и включил запрет. В этом, вон в том, и еще в этом, а вот в этих двух запрещать не будем.
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Аватара пользователя
HAMMER663
Former team member
Сообщения: 2032
Стаж: 13 лет 11 месяцев
Откуда: Зеленоград
Благодарил (а): 77 раз
Поблагодарили: 249 раз
Контактная информация:

Re: Запрет редактирования если сообщение не последнее в теме

Сообщение HAMMER663 »

Sheer а. вон как. я что-то не досмотрел :D
Аватара пользователя
dndn
phpBB 1.4.4
Сообщения: 131
Стаж: 12 лет
Благодарил (а): 30 раз
Поблагодарили: 5 раз

Re: Запрет редактирования если сообщение не последнее в теме

Сообщение dndn »

Не могу понять, где в настройках включить обязательное отображение информации о редактировании - сколько раз всего и главное - когда последний раз?

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

Если некак через админпанель, то может что-то в исходниках можно что-то подправить?
Закрыто

Вернуться в «Запросы модов для phpBB 3.0.x»