Страница 2 из 2

Добавлено: 27.11.2006 13:55
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']);
		}

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

Добавлено: 30.03.2007 10:05
VVVas
Alexalexis писал(а):Кто ставил такой мод на последнюю версию форума и решил ли эту проблему?
Я ставил и у меня стоит, проблем нет.

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

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

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

Добавлено: 12.08.2007 19:42
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

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

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

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

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

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

Добавлено: 22.01.2008 10:29
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
В данном случае получается, что автор первого сообщения не может его редактировать, если на него уже дан ответ.
Но... Все последующие сообщения, как и открывшего тему, так и других пользователей, написавших сообщения в данной теме, можно редактировать, даже если на них даны ответы.
Как сделать, чтобы любое сообщение, даже если оно не первое в теме, нельзя было редактировать его автору, если в последующем были даны ответы на него?

Добавлено: 22.01.2008 10:39
Палыч
Yan писал(а):Как сделать, чтобы любое сообщение, даже если оно не первое в теме, нельзя было редактировать его автору, если в последующем были даны ответы на него?
Что вы имеете ввиду под "в последующем"? Мод как раз и позволяет редактировать только последний ("не отвеченный") пост в теме.

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

Добавлено: 22.01.2008 14:50
Палыч
Yan
Так а зачем вы вносили изменения в оригинальный МОД?
Просто внимательно перечитайте тему.
Оригинальный МОД работает так, как вы хотите.
А в теме обсуждаются различного рода его доработки до хотелок других пользователей.

Добавлено: 27.01.2008 20:04
Yan
Виноват. :oops:

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

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

Спасибо.