• Модуль: disk
  • Путь к файлу: ~/bitrix/modules/disk/lib/controller/attachedobject.php
  • Класс: BitrixDiskControllerAttachedObject
  • Вызов: AttachedObject::changeAllowEditAction
public function changeAllowEditAction(
	array $allowEditValues,
	MainEngineCurrentUser $currentUser
)
{
	if (empty($allowEditValues))
	{
		return [];
	}

	$ids = array_keys($allowEditValues);
	$attachedObjects = DiskTypeAttachedObjectCollection::createByIds(...$ids);

	$changed = [];
	foreach ($attachedObjects as $attachedObject)
	{
		if ((int)$attachedObject->getCreatedBy() !== (int)$currentUser->getId())
		{
			continue;
		}

		if (!$attachedObject->isEditable())
		{
			continue;
		}

		if (!$attachedObject->canRead($currentUser->getId()))
		{
			continue;
		}

		if (!isset($allowEditValues[$attachedObject->getId()]))
		{
			continue;
		}

		$attachedObject->changeAllowEdit((bool)$allowEditValues[$attachedObject->getId()]);
		$changed[$attachedObject->getId()] = $attachedObject->getAllowEdit();
	}

	return [
		'changedAttachedObjects' => $changed,
	];
}