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

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

Сообщение dnk » 27.11.2006 13:55

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

Открыть 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 » 25.03.2007 13:19

Версия мода 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 » 30.03.2007 10:05

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

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

Сообщение dnk » 28.06.2007 14:45

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

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

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

Сообщение TheHawk » 12.08.2007 19:32

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

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

Сообщение dnk » 12.08.2007 19:42

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 » 12.08.2007 20:00

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 » 22.01.2008 10:29

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 раза
Контактная информация:

Сообщение Палыч » 22.01.2008 10:39

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

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

Сообщение Yan » 22.01.2008 12:26

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

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

Сообщение Палыч » 22.01.2008 14:50

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

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

Сообщение Yan » 27.01.2008 20:04

Виноват. :oops:

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

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

Сообщение Miracle » 27.10.2009 13:41

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

Спасибо.

Закрыто

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