• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/classes/general/taskwebservice.php
  • Класс: CTasksWebService
  • Вызов: CTasksWebService::__InTaskInitPerms
function __InTaskInitPerms($taskType, $ownerId)
{
	$arResult = array(
		"view" => false,
		"view_all" => false,
		"create_tasks" => false,
		"edit_tasks" => false,
		"delete_tasks" => false,
		"modify_folders" => false,
		"modify_common_views" => false,
	);

	$taskType = mb_strtolower($taskType);
	if (!in_array($taskType, array("group", "user")))
		$taskType = "user";

	$ownerId = intval($ownerId);
	if ($ownerId <= 0)
	{
		$taskType = "user";
		$ownerId = $GLOBALS["USER"]->GetID();
	}
	$ownerId = intval($ownerId);
	if ($ownerId <= 0)
		return $arResult;

	// added by me
	if ($taskType == 'group')
		CModule::IncludeModule('socialnetwork');

	foreach ($arResult as $key => $val)
	{
		if ($GLOBALS["USER"]->IsAdmin())
			$arResult[$key] = true;
		else
			$arResult[$key] = CSocNetFeaturesPerms::CanPerformOperation(
							$GLOBALS["USER"]->GetID(), (($taskType == 'user') ? SONET_ENTITY_USER : SONET_ENTITY_GROUP), $ownerId, "tasks", $key
			);
	}

	return $arResult;
}