Внимание!
Не все расширения для phpBB 3.2 совместимы с phpBB 3.3, главным образом из-за неверного синтаксиса в определениях сервисов (отсутствия обрамляющих кавычек - '...').
Перед обновлением необходимо убедиться в совместимости всех расширений.
Рекомендуется предварительно тестировать обновление на копии конференции (локально или на сервере).

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

Форум для авторов модов для phpBB 2.0.x.
dnk
phpBB 2.0.4
Сообщения: 419
Зарегистрирован: 23.08.2006 19:34
Благодарил (а): 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
Зарегистрирован: 03.01.2007 3:01

Сообщение 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
Зарегистрирован: 12.11.2004 0:20
Поблагодарили: 13 раз

Сообщение VVVas »

Alexalexis писал(а):Кто ставил такой мод на последнюю версию форума и решил ли эту проблему?
Я ставил и у меня стоит, проблем нет.
я люблю daft punk | новый sugoi.ru

dnk
phpBB 2.0.4
Сообщения: 419
Зарегистрирован: 23.08.2006 19:34
Благодарил (а): 13 раз

Сообщение dnk »

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

Теперь админ может устанавливать в админке отдельно - лимит времени правки сообщения и отдельно - лимит времени удаления сообщения.

Аватара пользователя
TheHawk
phpBB 1.4.4
Сообщения: 130
Зарегистрирован: 21.02.2007 18:04
Откуда: Беларусь, Гомель

Сообщение TheHawk »

dnk, хотелось бы отдельно ещё сделать, чтобы можно было было автору править свой первый пост. Это часто бывает нужно для внесения изменения или выкладывания новой версии чего-то.
Изображение

dnk
phpBB 2.0.4
Сообщения: 419
Зарегистрирован: 23.08.2006 19:34
Благодарил (а): 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
Зарегистрирован: 21.02.2007 18:04
Откуда: Беларусь, Гомель

Сообщение TheHawk »

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

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

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

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

Да и не только после этой, их вообще нету в этом файле.
Изображение

Yan
phpBB 1.2.1
Сообщения: 23
Зарегистрирован: 15.11.2005 13:08

Сообщение 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
Зарегистрирован: 24.05.2006 23:20
Откуда: Питер
Благодарил (а): 3 раза
Поблагодарили: 453 раза

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

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

Yan
phpBB 1.2.1
Сообщения: 23
Зарегистрирован: 15.11.2005 13:08

Сообщение Yan »

У меня получается такая ситуация:
- пользователь №1 открыл тему;
- пользователь №2 написал ответ - польз. №1 уже не может редактировать своё первое сообщение;
- пользователь №Х написал ещё один ответ - польз. №2 может (!)редактировать своё сообщение, хотя оно было последним в теме перед тем, как был дан ответ.
И т.д., т.е. все последующие сообщения почему-то редактируются, только первое - нет.
Хотя в коде и написано $post_id != $post_data['last_post'])

Аватара пользователя
Палыч
Former team member
Сообщения: 9683
Зарегистрирован: 24.05.2006 23:20
Откуда: Питер
Благодарил (а): 3 раза
Поблагодарили: 453 раза

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

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

Yan
phpBB 1.2.1
Сообщения: 23
Зарегистрирован: 15.11.2005 13:08

Сообщение Yan »

Виноват. :oops:

Miracle
phpBB 1.4.3
Сообщения: 91
Зарегистрирован: 04.01.2007 5:29

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

Сообщение Miracle »

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

Спасибо.

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