Разрешение на удаление сообщений.

Идеи для расширения функциональности phpBB 2.0.x
Аватара пользователя
Mastu-Basta
phpBB 1.2.1
Сообщения: 21
Стаж: 17 лет 8 месяцев

Разрешение на удаление сообщений.

Сообщение Mastu-Basta »

Есть ли какой-либо мод, который запретит любому модератору\администратору удалять посты пользователя, внесенного, скажем, в список в админке?
Если нет, может стоит написать?

Заранее спасибо.
Аватара пользователя
Палыч
Former team member
Сообщения: 9683
Стаж: 18 лет 11 месяцев
Откуда: Питер
Благодарил (а): 1 раз
Поблагодарили: 27 раз

Сообщение Палыч »

Mastu-Basta писал(а):Если нет, может стоит написать?
Администратор, по определению, основатель конференции. Он не может быть ограничен в каких-либо правах. Как господь бог.

Модератор призван следить за порядком на конференции. Если вы лишите его возможности удалять посты, то, по сути, лишите его инструмента для наведения порядка. Впрочем вы можете ликвидировать модераторов.

Где логика..? :?
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
Аватара пользователя
Mastu-Basta
phpBB 1.2.1
Сообщения: 21
Стаж: 17 лет 8 месяцев

Сообщение Mastu-Basta »

Запретить удалять посты администраторам\модераторам надо не для всех пользователей, а только для Избранных из определенного листа.
fskon
phpBB 2.0.2
Сообщения: 333
Стаж: 18 лет 11 месяцев
Откуда: msk.reg.ru

Сообщение fskon »

В чем проблемма =) Модератор, Mодератор - звучит одинаково, написано по разному. По группам их, и каждой свои права. Только не перепутай =))
Аватара пользователя
Mastu-Basta
phpBB 1.2.1
Сообщения: 21
Стаж: 17 лет 8 месяцев

Сообщение Mastu-Basta »

Нет, не то.
Мне нужно не конкретному модератору запретить удалять посты, а всем модераторам\администраторам запретить удалять посты конкретного списка конкретных пользователей.
Аватара пользователя
Палыч
Former team member
Сообщения: 9683
Стаж: 18 лет 11 месяцев
Откуда: Питер
Благодарил (а): 1 раз
Поблагодарили: 27 раз

Сообщение Палыч »

Mastu-Basta
Попробуйте

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

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

#
#-----[ FIND ]--------------------------------------------
#
		if ( empty($post_id) )
		{
			message_die(GENERAL_MESSAGE, $lang['No_post_id']);
		}

#
#-----[ AFTER, ADD ]--------------------------------------
#
		if( $userdata['user_level'] != ADMIN && ($mode == 'editpost' || $mode == 'delete' || $mode == 'poll_delete') )
		{
			$sql = "SELECT g.group_name
					FROM ". POSTS_TABLE . " p, " . USERS_TABLE . " u, " . USER_GROUP_TABLE . " ug, " . GROUPS_TABLE . " g
					WHERE p.post_id = $post_id
						AND p.poster_id = u.user_id
						AND u.user_id = ug.user_id
						AND ug.group_id = g.group_id
						AND g.group_name = 'VIP'";
			if( !$result = $db->sql_query($sql) )
			{
				message_die(GENERAL_ERROR, 'Could not retrieve post information', '', __LINE__, __FILE__, $sql);
			}
			if( $row = $db->sql_fetchrow($result) )
			{
				message_die(GENERAL_MESSAGE, $lang['Not_auth_edit_delete_vip']);
			}
		}
#
#-----[ OPEN ]--------------------------------------------
#
#
language/lang_russian/lang_main.php

#
#-----[ FIND ]--------------------------------------------
#
//
// That's all, Folks!
// -------------------------------------------------

#
#-----[ BEFORE, ADD ]-------------------------------------
#
//
// Disallow editing/deleting VIP posts
//
$lang['Not_auth_edit_delete_vip'] = 'Вы не можете редактировать/удалить это сообщение.';

#
#-----[ SAVE & CLOSE ALL FILES ]--------------------------
#
Это должно запретить модераторам удалять\редактировать сообщения пользователей, включённых в группу "VIP"
Группу создайте скрытую, модератором группы себя, пользователей в группу добавите сами.

Примечание:
1. Это не запретит модераторам через панель модерации удалять целиком темы, в которых есть сообщения членов группы VIP.
2. Это запретит и самим членам группы VIP редактировать\удалять свои собственные сообщения.

Вы как администратор сможете и редактировать и удалять любые сообщения.

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

Если у вас есть другие администраторы, то запрещать что-то им, вряд ли целесообразно и, слишком заморочно.
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
Аватара пользователя
Mastu-Basta
phpBB 1.2.1
Сообщения: 21
Стаж: 17 лет 8 месяцев

Сообщение Mastu-Basta »

Да, есть другие и модераторы, и администраторы.
В первую очередь нужно запретить им стирать мои посты, а потом уже думать что делать с остальными випами.
Аватара пользователя
Палыч
Former team member
Сообщения: 9683
Стаж: 18 лет 11 месяцев
Откуда: Питер
Благодарил (а): 1 раз
Поблагодарили: 27 раз

Сообщение Палыч »

Mastu-Basta писал(а):В первую очередь нужно запретить им стирать мои посты
:D В первую очередь нужно задуматься о том, чтобы другие администраторы не лишили вас статуса администратора

Вот это поможет
http://www.phpbbhacks.com/download/3463
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
Аватара пользователя
Mastu-Basta
phpBB 1.2.1
Сообщения: 21
Стаж: 17 лет 8 месяцев

Сообщение Mastu-Basta »

Не лишат. А если и попробуют - есть запасной акк, а уж совсем накрайняк - доступ к майскл базе.

P.S. а как вообще определяется этот main admin?)
Аватара пользователя
Палыч
Former team member
Сообщения: 9683
Стаж: 18 лет 11 месяцев
Откуда: Питер
Благодарил (а): 1 раз
Поблагодарили: 27 раз

Сообщение Палыч »

Mastu-Basta писал(а):а как вообще определяется этот main admin?
При установке форума создаётся аккаунт ID=2 (хотя это в достаточной степени условно).
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
Аватара пользователя
Mastu-Basta
phpBB 1.2.1
Сообщения: 21
Стаж: 17 лет 8 месяцев

Сообщение Mastu-Basta »

Ага, спасибо, с этим я разобрался.
Осталось разобраться с удалением постов.
Аватара пользователя
Палыч
Former team member
Сообщения: 9683
Стаж: 18 лет 11 месяцев
Откуда: Питер
Благодарил (а): 1 раз
Поблагодарили: 27 раз

Сообщение Палыч »

Mastu-Basta писал(а):Осталось разобраться с удалением постов.
У вас уже два варианта.
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
Аватара пользователя
Mastu-Basta
phpBB 1.2.1
Сообщения: 21
Стаж: 17 лет 8 месяцев

Сообщение Mastu-Basta »

Палыч писал(а): :D В первую очередь нужно задуматься о том, чтобы другие администраторы не лишили вас статуса администратора

Вот это поможет
http://www.phpbbhacks.com/download/3463
Не работает :(
Аватара пользователя
Палыч
Former team member
Сообщения: 9683
Стаж: 18 лет 11 месяцев
Откуда: Питер
Благодарил (а): 1 раз
Поблагодарили: 27 раз

Сообщение Палыч »

Mastu-Basta писал(а):Не работает
Не работает как? Кто-то удалил вашу учётную запись? Или кто-то лишил вас статуса администратора?
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
Аватара пользователя
Mastu-Basta
phpBB 1.2.1
Сообщения: 21
Стаж: 17 лет 8 месяцев

Сообщение Mastu-Basta »

Зашел с запасного админского акка и лишил защищенный акк администраторских прав без каких либо проблем или предупреждений.

Причем защита работает в одну сторону :)) Обратно себя администратором сделать я не могу :))))

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

Вот то, что я добавил по инструкции:
/language/lang_english/lang_admin.php

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

$lang['Main_Admin_Undeleted'] = 'Main Admin can\'t be deleted!';
$lang['Main_Admin_Unchanged_Profile'] = 'You can\'t modify Main Admin\'s profile!';
$lang['Main_Admin_Unchanged_Level'] = 'Main Admin can\'t become a simple user!';
/language/lang_russian/lang_admin.php

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

$lang['Main_Admin_Undeleted'] = 'Main Admin can\'t be deleted!';
$lang['Main_Admin_Unchanged_Profile'] = 'You can\'t modify Main Admin\'s profile!';
$lang['Main_Admin_Unchanged_Level'] = 'Main Admin can\'t become a simple user!';
/admin/admin_users.php

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

if( $HTTP_POST_VARS['deleteuser'] && $user_id == 195)
{
        message_die(GENERAL_ERROR, $lang['Main_Admin_Undeleted'] );
}
if( $HTTP_POST_VARS['deleteuser'] && $user_id != 195)

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

if ( $user_id == 195 && $userdata['user_id'] != 195 )
{
        message_die(GENERAL_ERROR, $lang['Main_Admin_Unchanged_Profile'] );
/admin/admin_ug_auth.php

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

if ( $user_id == 195 )
{
        message_die(GENERAL_ERROR, $lang['Main_Admin_Unchanged_Level'] );
}
else if ( $userdata['user_id'] != $user_id )
Добавлено спустя 8 минут 58 секунд:

И ещё - установка у меня заткнулась на первом шаге. По инструкции в admin_users.php должна быть строка

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

if( $HTTP_POST_VARS['deleteuser'] )
а у меня вместо неё такая:

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

if( $HTTP_POST_VARS['deleteuser'] && ( $userdata['user_id'] != $user_id ) )
и на втором шаге в том же файле должна быть строка

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

$username = ( !empty($HTTP_POST_VARS['username']) ) ? trim(strip_tags(htmlspecialchars($HTTP_POST_VARS['username']))) : '';
а у меня вместо неё вот что:

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

$username = ( !empty($HTTP_POST_VARS['username']) ) ? phpbb_clean_username($HTTP_POST_VARS['username']) : '';
Последний шаг со строкой

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

if ( $userdata['user_id'] != $user_id )
все нормально.
Как мне быть? :(

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

Да, со сменой аднинистраторских прав на пользовательские я разобрался, оказывается там в двух местах надо заменять строку

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

if ( $userdata['user_id'] != $user_id )
а не в одном. А вот как антиудаление поставить я не знаю. :(

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