Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

запрет на удаление/правку сообщений конкретного пользователя

Идеи для расширения функциональности phpBB 2.0.x
Аватара пользователя
DK7
Former team member
Сообщения: 1008
Стаж: 17 лет 9 месяцев
Откуда: Кишинёв
Благодарил (а): 1 раз

запрет на удаление/правку сообщений конкретного пользователя

Сообщение DK7 »

Добрый день. Интересует вот какой вопрос. Существует ли мод, который позволяет отключить всем(модерам и админам) возможность править или удалять сообщения определенного пользователя. Впринципе просто в его сообщениях убрать данные кнопочки (edit/delit). Как я понимаю, достаточно ограничится правкой viewtopic.php
Может кто подскажет решение?
Аватара пользователя
Nemo1987
phpBB 2.0.7
Сообщения: 560
Стаж: 18 лет 2 месяца

Сообщение Nemo1987 »

Был мод запрещающий реактировать и удалять сообщения админа.. а на счет такого - я не слышал :)
Аватара пользователя
DK7
Former team member
Сообщения: 1008
Стаж: 17 лет 9 месяцев
Откуда: Кишинёв
Благодарил (а): 1 раз

Сообщение DK7 »

Nemo1987
может кто название знает? искал и не нашел.
Lektor
phpBB 2.0.7
Сообщения: 574
Стаж: 17 лет 11 месяцев

Сообщение Lektor »

Впринципе просто в его сообщениях убрать данные кнопочки (edit/delit).

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

# 
#-----[ OPEN ]---------------------------------------------- 
# 
viewtopic.php

# 
#-----[ FIND ]---------------------------------------------- 
# 
 if ( ( $userdata['user_id'] == $poster_id && $is_auth['auth_edit'] ) || $is_auth['auth_mod'] )

# 
#-----[ BEFORE ADD ]---------------------------------------------- 
# 
$holly_users_id = array ("3", "4"); // Сюда добавляете айди нужных вам юзеров

# 
#-----[ FIND ]---------------------------------------------- 
# 
 $edit_img = '<a href="' . $temp_url . '"><img src="' . $images['icon_edit'] . '" alt="' . $lang['Edit_delete_post'] . '" title="' . $lang['Edit_delete_post'] . '" border="0" /></a>'; 
      $edit = '<a href="' . $temp_url . '">' . $lang['Edit_delete_post'] . '</a>';

# 
#-----[ RAPLACE WITH ]---------------------------------------------- 
# 
 $edit_img = (!in_array($poster_id, $holly_users_id) || $userdata['user_id'] == $poster_id) ? '<a href="' . $temp_url . '"><img src="' . $images['icon_edit'] . '" alt="' . $lang['Edit_delete_post'] . '" title="' . $lang['Edit_delete_post'] . '" border="0" /></a>':''; 
      $edit = (!in_array($poster_id, $holly_users_id) || $userdata['user_id'] == $poster_id) ? '<a href="' . $temp_url . '">' . $lang['Edit_delete_post'] . '</a>':'';

# 
#-----[ FIND ]---------------------------------------------- 
# 
 $delpost_img = '<a href="' . $temp_url . '"><img src="' . $images['icon_delpost'] . '" alt="' . $lang['Delete_post'] . '" title="' . $lang['Delete_post'] . '" border="0" /></a>'; 
      $delpost = '<a href="' . $temp_url . '">' . $lang['Delete_post'] . '</a>';

# 
#-----[ RAPLACE WITH ]---------------------------------------------- 
# 
 $delpost_img = (!in_array($poster_id, $holly_users_id)) ? '<a href="' . $temp_url . '"><img src="' . $images['icon_delpost'] . '" alt="' . $lang['Delete_post'] . '" title="' . $lang['Delete_post'] . '" border="0" /></a>':''; 
      $delpost = (!in_array($poster_id, $holly_users_id)) ?'<a href="' . $temp_url . '">' . $lang['Delete_post'] . '</a>':'';
Но это только уберет ссылку/кнопку на удаление/редактирование, т.е. данные операции все равно можно будет выполнить если сформировать нужнную ссылку, например на удаление:

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

http://yoursite/phpbb2/posting.php?mode=delete&p=1
где 1 - ID удаляемого поста.

Добавлено спустя 40 минут 42 секунды:

Т.е. вариант выше просто уберет кнопки, но не запретит удалять/редактировать сообщения опр. юзеров.

Вариант ниже не уберет кнопки, но просто запретит редактировать/удалять сообщения опр. юзеров.
(если хотите и то и другое просто совместите)

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

# 
#-----[ OPEN ]---------------------------------------------- 
# 
posting.php 

# 
#-----[ FIND ]---------------------------------------------- 
# 
//
		// Can this user edit/delete the post/poll?
		//

# 
#-----[ AFTER ADD ]---------------------------------------------- 
#
		$holly_users_id = array ("3", "4"); // Сюда добавляете айди нужных вам юзеров
		if ( in_array($post_info['poster_id'], $holly_users_id) && $post_info['poster_id']!= $userdata['user_id'])
		{
			$message = ( $delete || $mode == 'delete' ) ? $lang['Delete_holly_posts'] : $lang['Edit_holly_posts'];
			$message .= '<br /><br />' . sprintf($lang['Click_return_topic'], '<a href="' . append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id") . '">', '</a>');

			message_die(GENERAL_MESSAGE, $message);
		}

# 
#-----[ OPEN ]---------------------------------------------- 
# 
phpBB2/language/lang_russian/lang_main.php

# 
#-----[ FIND ]---------------------------------------------- 
# 
$lang['Delete_own_posts']

# 
#-----[ AFTER ADD ]---------------------------------------------- 
#
$lang['Edit_holly_posts'] = 'Нельзя редактировать сообщения этого пользователя.';
$lang['Delete_holly_posts'] = 'Нельзя удалять сообщения этого пользователя.';
Аватара пользователя
DK7
Former team member
Сообщения: 1008
Стаж: 17 лет 9 месяцев
Откуда: Кишинёв
Благодарил (а): 1 раз

Сообщение DK7 »

огромное спасибо.

Вернуться в «Запросы модов для phpBB 2.0.x»