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

Логическая доработка мода disallow editing replied posts mod

Форум для авторов модов для phpBB 2.0.x.
dnk
phpBB 2.0.4
Сообщения: 422
Стаж: 14 лет 8 месяцев
Благодарил (а): 13 раз

Сообщение dnk »

Если необходимо, чтобы пользователь (участник, неавторизованный модерировать) мог удалять любые свои сообщения, неважно есть ли после них ответы свои или других участников, то нужно

Открыть viewtopic.php
Найти:

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

if ($userdata['user_id'] == $poster_id && $is_auth['auth_delete'] && $forum_topic_data['topic_last_post_id'] == $postrow[$i]['post_id'])
Заменить на:

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

if ($userdata['user_id'] == $poster_id && $is_auth['auth_delete'])
Открыть posting.php
Найти и удалить:

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

else if ( !$post_data['edit_poll'] && !$is_auth['auth_mod'] && ( $mode == 'poll_delete' || $poll_delete ))
		{
			message_die(GENERAL_MESSAGE, $lang['Cannot_delete_poll']);
		}

Соответственно, привязывая к моду disallow editing posts

должно быть так:
viewtopic.php

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

if ( time() <= $limit_time && $userdata['user_id'] == $poster_id && $is_auth['auth_delete'])
В posting.php
соотвественно удалить только кусок:

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

else if ( !$post_data['edit_poll'] && !$is_auth['auth_mod'] && ( $mode == 'poll_delete' || $poll_delete ))
		{
			message_die(GENERAL_MESSAGE, $lang['Cannot_delete_poll']);
		}
Alexalexis
phpBB 1.4.4
Сообщения: 183
Стаж: 14 лет 4 месяца

Сообщение Alexalexis »

Версия мода Disallow editing replied posts 1.1.0 последняя?
С phpbb.com он не скачивается, но я нашёл. А вот в обсуждении на phpbb.com в последнем сообщении http://www.phpbb.com/community/viewtopi ... 5#p2737176 написано о проблемах с цитированием после его установки. Я не силён в английском, но понял это так. Кто ставил такой мод на последнюю версию форума и решил ли эту проблему? И нет ли какого альтернативного мода с такой же направленностью?
Аватара пользователя
VVVas
Former team member
Сообщения: 4463
Стаж: 16 лет 6 месяцев
Поблагодарили: 13 раз

Сообщение VVVas »

Alexalexis писал(а):Кто ставил такой мод на последнюю версию форума и решил ли эту проблему?
Я ставил и у меня стоит, проблем нет.
я люблю daft punk | новый sugoi.ru
dnk
phpBB 2.0.4
Сообщения: 422
Стаж: 14 лет 8 месяцев
Благодарил (а): 13 раз

Сообщение dnk »

Подправил свою личную доработку по этому моду.
http://www.phpbbguru.net/community/view ... 766#110766

Теперь админ может устанавливать в админке отдельно - лимит времени правки сообщения и отдельно - лимит времени удаления сообщения.
Аватара пользователя
TheHawk
phpBB 1.4.4
Сообщения: 130
Стаж: 14 лет 2 месяца
Откуда: Беларусь, Гомель

Сообщение TheHawk »

dnk, хотелось бы отдельно ещё сделать, чтобы можно было было автору править свой первый пост. Это часто бывает нужно для внесения изменения или выкладывания новой версии чего-то.
Изображение
dnk
phpBB 2.0.4
Сообщения: 422
Стаж: 14 лет 8 месяцев
Благодарил (а): 13 раз

Сообщение dnk »

TheHawk
А что сейчас юзер не может править первый пост, после которого идут ответы?
Откройте posting.php и посмотрите, нигде у вас не стоит подобный код:

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

$post_data['poster_id'] = $post_info['poster_id'];
		//+MOD: Disallow editing replied posts
		if( $userdata['user_level'] != ADMIN && $userdata['user_level'] != MOD )
		{
			if( $post_id == $post_data['first_post'] && $post_id != $post_data['last_post'])
			{
				message_die(GENERAL_MESSAGE, $lang['Cannot_edit_replied']);
			}
		}
//-MOD: Disallow editing replied posts
Аватара пользователя
TheHawk
phpBB 1.4.4
Сообщения: 130
Стаж: 14 лет 2 месяца
Откуда: Беларусь, Гомель

Сообщение TheHawk »

dnk, я проверил, если стоит допустим время правки 60 минут, то через это время он уже не может править ни 1 поста, включая 1-й.
Я бы хотел чтобы этот юзер мог править свой первый пост в теме и по прошествии данного времени.
Кстати после

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

$post_data['poster_id'] = $post_info['poster_id'];
таких строк нету

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

Да и не только после этой, их вообще нету в этом файле.
Изображение
Yan
phpBB 1.2.1
Сообщения: 23
Стаж: 15 лет 5 месяцев

Сообщение Yan »

dnk писал(а):А еще лучше сделать так:
Чтобы пользователь мог править/удалять первое сообщение темы, если после него никто не ответил и не мог править его, если за его первым сообщением есть ответы других участников.Это делается для того, чтобы запретить править заголовок темы после получения ответов от других.
В скрипте posting.php
Найти:

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

$post_data['poster_id'] = $post_info['poster_id'];
Ниже добавить:

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

$post_data['poster_id'] = $post_info['poster_id'];
		//+MOD: Disallow editing replied posts
		if( $userdata['user_level'] != ADMIN && $userdata['user_level'] != MOD )
		{
			if( $post_id == $post_data['first_post'] && $post_id != $post_data['last_post'])
			{
				message_die(GENERAL_MESSAGE, $lang['Cannot_edit_replied']);
			}
		}
//-MOD: Disallow editing replied posts
Ну и в языковых файлах:
lang_main.php (en)
После:

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

$lang['Cannot_delete_replied'] = 'Sorry, but you may not delete posts that have been replied to.';
Добавить:

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

//+MOD: Disallow editing replied posts
$lang['Cannot_edit_replied'] = "Sorry, but you may not edit first post that has been replied to.";
//-MOD: Disallow editing replied posts
Для русского:

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

//+MOD: Disallow editing replied posts
$lang['Cannot_edit_replied'] = "Извините, но вы не можете править первое сообщение, на которое были получены ответы";
//-MOD: Disallow editing replied posts
В данном случае получается, что автор первого сообщения не может его редактировать, если на него уже дан ответ.
Но... Все последующие сообщения, как и открывшего тему, так и других пользователей, написавших сообщения в данной теме, можно редактировать, даже если на них даны ответы.
Как сделать, чтобы любое сообщение, даже если оно не первое в теме, нельзя было редактировать его автору, если в последующем были даны ответы на него?
Аватара пользователя
Палыч
Former team member
Сообщения: 9683
Стаж: 14 лет 11 месяцев
Откуда: Питер
Благодарил (а): 3 раза
Поблагодарили: 454 раза

Сообщение Палыч »

Yan писал(а):Как сделать, чтобы любое сообщение, даже если оно не первое в теме, нельзя было редактировать его автору, если в последующем были даны ответы на него?
Что вы имеете ввиду под "в последующем"? Мод как раз и позволяет редактировать только последний ("не отвеченный") пост в теме.
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
Yan
phpBB 1.2.1
Сообщения: 23
Стаж: 15 лет 5 месяцев

Сообщение Yan »

У меня получается такая ситуация:
- пользователь №1 открыл тему;
- пользователь №2 написал ответ - польз. №1 уже не может редактировать своё первое сообщение;
- пользователь №Х написал ещё один ответ - польз. №2 может (!)редактировать своё сообщение, хотя оно было последним в теме перед тем, как был дан ответ.
И т.д., т.е. все последующие сообщения почему-то редактируются, только первое - нет.
Хотя в коде и написано $post_id != $post_data['last_post'])
Аватара пользователя
Палыч
Former team member
Сообщения: 9683
Стаж: 14 лет 11 месяцев
Откуда: Питер
Благодарил (а): 3 раза
Поблагодарили: 454 раза

Сообщение Палыч »

Yan
Так а зачем вы вносили изменения в оригинальный МОД?
Просто внимательно перечитайте тему.
Оригинальный МОД работает так, как вы хотите.
А в теме обсуждаются различного рода его доработки до хотелок других пользователей.
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
Yan
phpBB 1.2.1
Сообщения: 23
Стаж: 15 лет 5 месяцев

Сообщение Yan »

Виноват. :oops:
Miracle
phpBB 1.4.3
Сообщения: 91
Стаж: 14 лет 4 месяца

Re: Логическая доработка мода disallow editing replied posts mod

Сообщение Miracle »

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

Спасибо.

Вернуться в «Для авторов (phpBB 2.0.x)»