• Модуль: fileman
  • Путь к файлу: ~/bitrix/modules/fileman/classes/general/medialib.php
  • Класс: CMedialib
  • Вызов: CMedialib::GetOperations
static function GetOperations($collectionId, $menu = false)
{
	global $USER;
	static $oCollections;
	static $arOp;

	$userGroups = $USER->GetUserGroupArray();
	$key = $collectionId.'|'.implode('-', $userGroups);

	if (!is_array($arOp[$key] ?? null))
	{
		if (!is_array($arOp))
			$arOp = array();

		if (!is_array($oCollections))
		{
			$res = CMedialib::GetCollectionTree(array('menu' => $menu));
			$oCollections = $res['Collections'];
		}

		$userGroups = $USER->GetUserGroupArray();
		$res = CMedialib::GetAccessPermissionsArray($collectionId, $oCollections);

		$arOp[$key]  = array();
		foreach ($res as $group_id => $task_id)
		{
			if (in_array($group_id, $userGroups))
				$arOp[$key] = array_merge($arOp[$key], CTask::GetOperations($task_id, true));
		}
	}
	return $arOp[$key];
}