Удаление сообщений пользователями

Список разделов phpBBex 1.x (поддерживается) Поддержка 1.x

Описание: У вас проблемы с phpBBex 1.x и вам необходима помощь? Спрашивайте здесь!
Правила раздела: Одна тема — один вопрос или группа связанных вопросов. Обязательно формируйте внятный заголовок, максимально отражающий суть вопроса. Подробно описывайте проблему. Не забудьте указать версию phpBBex и какие моды установлены, по возможности добавьте скриншоты проблемы или ссылку на страницу с проблемой.
Модератор: Поддержка

Сообщение #1 Ximka » 08.11.2013, 11:42

Узнала я тут внезапно на втором году форума что пользователи то оказывается не имеют возможности удалять свои сообщения если после ихних сообщений ктото написал чтото..
Изображение
права группе Зарегистрированные даны на удаление своих сообщений, в поле "Ограничение времени на удаление" стоит 0.. Какую настройку еще нужно подкрутить чтобы они могли удалять свои сообщения самостоятельно?
Ximka F
Автор темы
Откуда: Тушино
Репутация: 5
С нами: 11 лет 10 месяцев

Сообщение #2 VEG » 08.11.2013, 11:48

Это стандартное поведение phpBB 3. Если не ошибаюсь, изменить это поведение без вмешательств в код нельзя.
VEG M
Администратор
Аватара
Откуда: Finland
Репутация: 1653
С нами: 12 лет

Сообщение #3 Sumanai » 14.11.2013, 16:51

Вот код вмешательства с пхпгуру:
В viewtopic.php найти
Код: Выделить всё
   $delete_allowed = ($user->data['is_registered'] && ($auth->acl_get('m_delete', $forum_id) || (
      $user->data['user_id'] == $poster_id &&
      $auth->acl_get('f_delete', $forum_id) &&
      $topic_data['topic_last_post_id'] == $row['post_id'] &&
      ($row['post_time'] > time() - ($config['delete_time'] * 60) || !$config['delete_time']) &&
      // we do not want to allow removal of the last post if a moderator locked it!
      !$row['post_edit_locked']
   )));

Из него удалите часть:
Код: Выделить всё
$topic_data['topic_last_post_id'] == $row['post_id'] &&

плюс в posting.php найти код
Код: Выделить всё
   // If moderator removing post or user itself removing post, present a confirmation screen
   if ($auth->acl_get('m_delete', $forum_id) || ($post_data['poster_id'] == $user->data['user_id'] && $user->data['is_registered'] && $auth->acl_get('f_delete', $forum_id) && $post_id == $post_data['topic_last_post_id'] && !$post_data['post_edit_locked'] && ($post_data['post_time'] > time() - ($config['delete_time'] * 60) || !$config['delete_time'])))

из него удалите часть
Код: Выделить всё
$post_id == $post_data['topic_last_post_id'] &&
Sumanai M
Аватара
Репутация: 1677
С нами: 11 лет 2 месяца


Вернуться в Поддержка 1.x