Расширение функционала Bitrix 24/Права доступа

Материал из Викиучебника — открытых книг для открытого мира

Для ограничения доступа к директории достаточно создать в ней файл .access.php и указать в нем уровни доступа:

//$PERM[file/folder][user group ID] = "access permission ID";
$PERM["admin"]["*"] = "D";
$PERM["admin"]["1"] = "R";
$PERM["/"]["*"] = "R";
$PERM["/"]["1"] = "W";

Этот механизм подробно описан в документации.

Программно задать права доступа можно через метод - SetFileAccessPermission:

<?
// установим на файл /ru/ следующие права:
// для группы # 23 - право чтения файла
// для группы # 5 - право прямого изменения файла
// для всех остальных групп - доступ к файлу закрыт
if ($APPLICATION->SetFileAccessPermission("/ru/", 
    array("23" => "R", "5" => "W", "*" => "D")))
    ShowNote("Права на файл успешно установлены.");

Видимость раздела[править]

Статичные ссылки бокового меню хранятся в файле .top.menu.php. Динамические пункты меню генерируются в .top.menu_ext.php.

Для программного добавления пункта меню можно использовать событие OnBuildGlobalMenu. Регистрация обработчика при установке модуля производится с помощью метода - RegisterModuleDependences

<?
// регистрируем обработчик события
RegisterModuleDependences("main", "OnBuildGlobalMenu", 
       "my_module_id", "MyClass", "OnBuildGlobalMenu");

не забудьте добавить UnRegisterModuleDependences в метод удаления модуля.

Еще один способ заключается в использовании метода WizardServices::AddMenuItem.

Ссылки[править]