Перейти к публикации

Как разделить доступ по группам к своему модулю в админке


Рекомендованные сообщения

Приветствую!

Мало ли кому пригодится, чтобы не заниматься деструктивным реверсивным инжинирингом с неясными последствиями :-)

Учтем, что ADMIN_DIS - упоминание нашего нового модуля

//-----------------------------------------------------------------------------------------------

В новом модуле должна быть такая строчка

if( ! $user_group[$member_id['user_group']]['admin_dis'] ) {

	msg( "error", $lang['index_denied'], $lang['index_denied'] );
} //----------------------------------------------------------------------------------------------- в файле /engine/inc/options.php добавляем куда нам надо
array (

'name' => $lang['титл модуля, текст задается в /language/язык/adminpanel.lng'],

'url' => "$PHP_SELF?mod=модуль",

'descr' => $lang['описание модуля, текст задается в /language/язык/adminpanel.lng'],

'image' => "spset.png",

'access' => $user_group[$member_id['user_group']]['admin_dis']

),
//----------------------------------------------------------------------------------------------- в файле /engine/inc/usergroup.php добавляем рядом с такими же строками свою: $admin_dis = intval( $_REQUEST['admin_dis'] ); редактируем запросы (не забыв добавить в таблицу _usergroup столбец с соответствующим названием): if( $action == "doadd" ) { $db->query( "INSERT INTO " . USERPREFIX . "_usergroups (...admin_dis...) values (...'$admin_dis'...)" ); $db->query( "UPDATE " . USERPREFIX . "_usergroups SET ...admin_dis='$admin_dis'... WHERE id='{$id}'" ); добавляем рядом с такими же строками свою: if( $user_group[$id]['admin_dis'] ) $admin_dis = "checked"; добавляем рядом с такими же строками свою: <tr> <td><h6>{$lang['титл, текст задается в /language/язык/adminpanel.lng']}</h6><span class="note large">{$lang['описание, текст задается в /language/язык/adminpanel.lng']}</span></td> <td><input class="iButton-icons-tab" type="checkbox" name="admin_dis" {$admin_dis} value="1" {$gastgroup}></td> </tr> //----------------------------------------------------------------------------------------------- в файле /engine/skins/default.skin.php добавляем рядом с такими же строками свою:
array (

'name' => $lang['титл модуля, текст задается в /language/язык/adminpanel.lng'],

'url' => "$PHP_SELF?mod=модуль",

'mod' => "модуль (как в ссылке)",

'access' => $user_group[$member_id['user_group']]['admin_dis']

),

Изменено пользователем zilber
Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
×
×
  • Создать...