Разрешение на удаление сообщений.
-
- phpBB 1.2.1
- Сообщения: 21
- Стаж: 17 лет 8 месяцев
Разрешение на удаление сообщений.
Есть ли какой-либо мод, который запретит любому модератору\администратору удалять посты пользователя, внесенного, скажем, в список в админке?
Если нет, может стоит написать?
Заранее спасибо.
Если нет, может стоит написать?
Заранее спасибо.
-
- Former team member
- Сообщения: 9683
- Стаж: 18 лет 11 месяцев
- Откуда: Питер
- Благодарил (а): 1 раз
- Поблагодарили: 27 раз
Администратор, по определению, основатель конференции. Он не может быть ограничен в каких-либо правах. Как господь бог.Mastu-Basta писал(а):Если нет, может стоит написать?
Модератор призван следить за порядком на конференции. Если вы лишите его возможности удалять посты, то, по сути, лишите его инструмента для наведения порядка. Впрочем вы можете ликвидировать модераторов.
Где логика..?

Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
-
- phpBB 1.2.1
- Сообщения: 21
- Стаж: 17 лет 8 месяцев
-
- phpBB 2.0.2
- Сообщения: 333
- Стаж: 18 лет 11 месяцев
- Откуда: msk.reg.ru
-
- phpBB 1.2.1
- Сообщения: 21
- Стаж: 17 лет 8 месяцев
-
- Former team member
- Сообщения: 9683
- Стаж: 18 лет 11 месяцев
- Откуда: Питер
- Благодарил (а): 1 раз
- Поблагодарили: 27 раз
Mastu-Basta
Попробуйте
Это должно запретить модераторам удалять\редактировать сообщения пользователей, включённых в группу "VIP"
Группу создайте скрытую, модератором группы себя, пользователей в группу добавите сами.
Примечание:
1. Это не запретит модераторам через панель модерации удалять целиком темы, в которых есть сообщения членов группы VIP.
2. Это запретит и самим членам группы VIP редактировать\удалять свои собственные сообщения.
Вы как администратор сможете и редактировать и удалять любые сообщения.
Добавлено спустя 2 минуты 4 секунды:
Если у вас есть другие администраторы, то запрещать что-то им, вряд ли целесообразно и, слишком заморочно.
Попробуйте
Код: Выделить всё
#
#-----[ 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 ]--------------------------
#
Группу создайте скрытую, модератором группы себя, пользователей в группу добавите сами.
Примечание:
1. Это не запретит модераторам через панель модерации удалять целиком темы, в которых есть сообщения членов группы VIP.
2. Это запретит и самим членам группы VIP редактировать\удалять свои собственные сообщения.
Вы как администратор сможете и редактировать и удалять любые сообщения.
Добавлено спустя 2 минуты 4 секунды:
Если у вас есть другие администраторы, то запрещать что-то им, вряд ли целесообразно и, слишком заморочно.
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
-
- phpBB 1.2.1
- Сообщения: 21
- Стаж: 17 лет 8 месяцев
-
- Former team member
- Сообщения: 9683
- Стаж: 18 лет 11 месяцев
- Откуда: Питер
- Благодарил (а): 1 раз
- Поблагодарили: 27 раз
Mastu-Basta писал(а):В первую очередь нужно запретить им стирать мои посты

Вот это поможет
http://www.phpbbhacks.com/download/3463
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
-
- phpBB 1.2.1
- Сообщения: 21
- Стаж: 17 лет 8 месяцев
-
- Former team member
- Сообщения: 9683
- Стаж: 18 лет 11 месяцев
- Откуда: Питер
- Благодарил (а): 1 раз
- Поблагодарили: 27 раз
При установке форума создаётся аккаунт ID=2 (хотя это в достаточной степени условно).Mastu-Basta писал(а):а как вообще определяется этот main admin?
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
-
- phpBB 1.2.1
- Сообщения: 21
- Стаж: 17 лет 8 месяцев
-
- phpBB 1.2.1
- Сообщения: 21
- Стаж: 17 лет 8 месяцев
Не работаетПалыч писал(а):В первую очередь нужно задуматься о том, чтобы другие администраторы не лишили вас статуса администратора
Вот это поможет
http://www.phpbbhacks.com/download/3463

-
- phpBB 1.2.1
- Сообщения: 21
- Стаж: 17 лет 8 месяцев
Зашел с запасного админского акка и лишил защищенный акк администраторских прав без каких либо проблем или предупреждений.
Причем защита работает в одну сторону
) Обратно себя администратором сделать я не могу
)))
Добавлено спустя 16 минут 5 секунд:
Вот то, что я добавил по инструкции:
/language/lang_english/lang_admin.php/language/lang_russian/lang_admin.php/admin/admin_users.php
/admin/admin_ug_auth.php
Добавлено спустя 8 минут 58 секунд:
И ещё - установка у меня заткнулась на первом шаге. По инструкции в admin_users.php должна быть строкаа у меня вместо неё такая:и на втором шаге в том же файле должна быть строкаа у меня вместо неё вот что:Последний шаг со строкойвсе нормально.
Как мне быть?
Добавлено спустя 4 минуты 3 секунды:
Да, со сменой аднинистраторских прав на пользовательские я разобрался, оказывается там в двух местах надо заменять строкуа не в одном. А вот как антиудаление поставить я не знаю. 
Причем защита работает в одну сторону


Добавлено спустя 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!';
Код: Выделить всё
$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!';
Код: Выделить всё
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'] );
Код: Выделить всё
if ( $user_id == 195 )
{
message_die(GENERAL_ERROR, $lang['Main_Admin_Unchanged_Level'] );
}
else if ( $userdata['user_id'] != $user_id )
И ещё - установка у меня заткнулась на первом шаге. По инструкции в 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 )
