• Модуль: 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]);
}