• DONATE to NULLED!
    Форуму и его команде можно помочь, мотивировать модераторов разделов.
    Помогите модератору этого раздела killoff лично.

Как создать права для групп в своем модуле?

danneo

Честный
Регистрация
13 Ноя 2007
Сообщения
1.527
Реакции
121
Как правильнее с точки зрения дальнейшего обновления создать права доступа групп пользователей к разным функциям модуля?
 
Как правильнее с точки зрения дальнейшего обновления создать права доступа групп пользователей к разным функциям модуля?
Я особо крупных модулей не делал, а в тех что делал для себе, всегда старался обходиться стандартными средствами движка.
По большому счету всегда пользовался в шаблоне модуля тегами
[group=4]Здесь вывожу контент и функциональность для посетителей[/group]
[group=6]Здесь вывожу контент и функциональность для группы 6 например типа випы, т.е. к примеру копия контента group=4+какой-то скрытый контент группы[/group]
[group=4]Здесь вывожу контент и функциональность для админов(к примеру копия контента group=4+кнопки редактировать изменить+какой-то скрытый контент)[/group]
плюс в таком подходе, что обновления движка кардинально не сказываются на работе модуля
кстати в самом dle login.tpl робит по такому же принципу
 
Последнее редактирование:
Я особо крупных модулей не делал, а в тех что делал для себе, всегда старался обходиться стандартными средствами движка.
По большому счету всегда пользовался в шаблоне модуля тегами
[group=4]Здесь вывожу контент и функциональность для посетителей[/group]
[group=6]Здесь вывожу контент и функциональность для группы 6 например типа випы, т.е. к примеру копия контента group=4+какой-то скрытый контент группы[/group]
[group=4]Здесь вывожу контент и функциональность для админов(к примеру копия контента group=4+кнопки редактировать изменить+какой-то скрытый контент)[/group]
плюс в таком подходе, что обновления движка кардинально не сказываются на работе модуля
кстати в самом dle login.tpl робит по такому же принципу
дак это для контента - tpl файлы. А мне нужно определять в php, если у юзера нет прав, то и скрипт не выполнять, а ему выводить сообщение. Например, загрузка картинки, редактирование записи, добавление записи и т.п.
 
PHP:
$user_group = get_vars( "usergroup" );

if( ! $user_group ) {
   $user_group = array ();
  
   $db->query( "SELECT * FROM " . USERPREFIX . "_usergroups ORDER BY id ASC" );
  
   while ( $row = $db->get_row() ) {
    
     $user_group[$row['id']] = array ();
    
     foreach ( $row as $key => $value ) {
       $user_group[$row['id']][$key] = $value;
     }
  
   }
   set_vars( "usergroup", $user_group );
   $db->free();
}
.......

if($member_id['user_group'] == x)
{....}
if($member_id['user_group'] == y)
{....}
else
{....}
 
Последнее редактирование:
А так?... так видел, да. Но я о том, чтобы в админке настраивать права. А потом в скрипте проверять, как в ДЛЕ, когда идет проверка прав. Ведь у меня пока не определено, ни групп, ни прав им.
У меня мысля такая: брать кэш-файл usergroup и туда добавлять в массив свои настройки...
 
Никак... Все файлы админ-панели, БД, файлы кеша и прочее обновляются после обновления и заменяются на новые, либо непредсказуемо изменяются.

Единственный способ защититься - выносить всё за пределы ДЛЕ. Т.е. минимизировать правки ДЛЕ и его базы, всё хранить в БД модуля и его конфигах.

Я использую БД ДЛЕ, но очень аккуратно (приходит с опытом). При этом все настройки выношу в модули. Т.е. те же настройки прав доступа групп настраиваются в модуле, а не в админке ДЛЕ. Но лучше даже этого не делать, а создать отдельную таблицу БД.
 
Назад
Сверху