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

Форум для авторов модов для phpBB 2.0.x. Здесь можно попросить помощи в разработке у коллег.

Сообщение dnk 27.11.2006 14: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']);
      }
dnk
phpBB 2.0.9
 
Сообщения: 371
Зарегистрирован: 23.08.2006 19:34


Сообщение Alexalexis 25.03.2007 13:19

Версия мода Disallow editing replied posts 1.1.0 последняя?
С phpbb.com он не скачивается, но я нашёл. А вот в обсуждении на phpbb.com в последнем сообщении http://www.phpbb.com/community/viewtopic.php?f=15&t=225379&start=45#p2737176 написано о проблемах с цитированием после его установки. Я не силён в английском, но понял это так. Кто ставил такой мод на последнюю версию форума и решил ли эту проблему? И нет ли какого альтернативного мода с такой же направленностью?
Alexalexis
phpBB 2.0.4
 
Сообщения: 216
Зарегистрирован: 03.01.2007 4:01

Сообщение VVVas 30.03.2007 10:05

Alexalexis писал(а):Кто ставил такой мод на последнюю версию форума и решил ли эту проблему?

Я ставил и у меня стоит, проблем нет.
вы нарушили правила конференции, объяснений не будет - сами читайте правила
я люблю daft punk | Активные темы
Аватара пользователя
VVVas
Люмпен Пролетариат
Люмпен Пролетариат
 
Сообщения: 4737
Зарегистрирован: 12.11.2004 1:20
Откуда: RU-MSK

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

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

Теперь админ может устанавливать в админке отдельно - лимит времени правки сообщения и отдельно - лимит времени удаления сообщения.
dnk
phpBB 2.0.9
 
Сообщения: 371
Зарегистрирован: 23.08.2006 19:34

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

dnk, хотелось бы отдельно ещё сделать, чтобы можно было было автору править свой первый пост. Это часто бывает нужно для внесения изменения или выкладывания новой версии чего-то.
Изображение
Аватара пользователя
TheHawk
phpBB 2.0.1
 
Сообщения: 128
Зарегистрирован: 21.02.2007 19:04
Откуда: Беларусь, Гомель

Сообщение 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
dnk
phpBB 2.0.9
 
Сообщения: 371
Зарегистрирован: 23.08.2006 19:34

Сообщение TheHawk 12.08.2007 20:00

dnk, я проверил, если стоит допустим время правки 60 минут, то через это время он уже не может править ни 1 поста, включая 1-й.
Я бы хотел чтобы этот юзер мог править свой первый пост в теме и по прошествии данного времени.
Кстати после
Код: Выделить всё
$post_data['poster_id'] = $post_info['poster_id'];

таких строк нету

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

Да и не только после этой, их вообще нету в этом файле.
Изображение
Аватара пользователя
TheHawk
phpBB 2.0.1
 
Сообщения: 128
Зарегистрирован: 21.02.2007 19:04
Откуда: Беларусь, Гомель

Сообщение Yan 22.01.2008 11: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


В данном случае получается, что автор первого сообщения не может его редактировать, если на него уже дан ответ.
Но... Все последующие сообщения, как и открывшего тему, так и других пользователей, написавших сообщения в данной теме, можно редактировать, даже если на них даны ответы.
Как сделать, чтобы любое сообщение, даже если оно не первое в теме, нельзя было редактировать его автору, если в последующем были даны ответы на него?
Yan
phpBB 1.2.0
 
Сообщения: 19
Зарегистрирован: 15.11.2005 14:08

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

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

Сообщение Yan 22.01.2008 13:26

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

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

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

Сообщение Yan 27.01.2008 21:04

Виноват. :oops:
Yan
phpBB 1.2.0
 
Сообщения: 19
Зарегистрирован: 15.11.2005 14:08

Пред.

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

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0