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

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


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

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

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

Учтем, что 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
Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...