| dJemon |
|
|---|---|
|
Подскажите как прописать у плагина, при установке, чтобы права видеть и изменять могли только определенные группы пользователей. Например: только для фрилансеров и админов, а для прочих групп не показывалось(не работал). Добавлено 2 недели спустя: Кому будет нужно, в [pluginName].install.php должен быть код определяющий права кому можно, а кому нет. Что-то вроде такого, для Работодателей(гр.№7) запрещено(5) размещать в Портфолио(folio):
$db->update($db_auth, array('auth_rights' => 5), "auth_code='folio' AND auth_groupid=7");
Dit bericht is bewerkt door dJemon (2016-10-13 14:34, 9 jaren ago) |
| Macik |
|
|---|---|
|
Распишу чуть подробнее и в более универсальной форме (для плагинов и модулей есть различия — смотри комментарии):
// имя расширения
$ext_name = 'extension';
// маска установленных (разрешенных) прав
$rights_mask = 'RW';
// маска запрещенных к редактированию в админке прав
$lock_mask = 'A';
// ID групп пользователей через запятую
$grp_id = '7';
// формируем условие для поиска нужной строки в базе
$condition = "auth_groupid IN ($grp_id)";
// Далее выбираем только один нужный вариант в зависимости от модуля/плагина!
$condition .= " AND auth_code='plug' AND auth_option='$ext_name'" ; // в случае плагина
$condition .= " AND auth_code='$ext_name'" ; // в случае модуля
$db->update(
cot::$db->auth,
array(
'auth_rights' => cot_auth_getvalue($rights_mask),
'auth_lock' => cot_auth_getvalue($lock_mask),
),
$condition
);
https://github.com/macik
правильный хостинг — https://goo.gl/fjCa1F |