- Модуль: main
- Путь к файлу: ~/bitrix/modules/main/classes/general/user.php
- Класс: CAllUser
- Вызов: CAllUser::CanDoFileOperation
public function CanDoFileOperation($op_name, $arPath)
{
global $APPLICATION, $USER;
if ($this->IsAdmin())
{
return true;
}
static $arAlowedOperations = ['fm_delete_file', 'fm_rename_folder', 'fm_view_permission'];
if (mb_substr($arPath[1], -10) == "/.htaccess" && !$USER->CanDoOperation('edit_php') && !in_array($op_name, $arAlowedOperations))
{
return false;
}
if (mb_substr($arPath[1], -12) == "/.access.php")
{
return false;
}
static $fileOperations = [];
$key = $arPath[0] . '|' . $arPath[1];
if (!isset($fileOperations[$key]))
{
$fileOperations[$key] = $this->GetFileOperations($arPath);
}
return in_array($op_name, $fileOperations[$key]);
}