• Модуль: iblock
  • Путь к файлу: ~/bitrix/modules/iblock/lib/Controller/Property/Action/DeleteAction.php
  • Класс: BitrixIblockControllerPropertyActionDeleteAction
  • Вызов: DeleteAction::run
public function run(int $id): bool
{
	global $APPLICATION;

	/**
	 * @var CMain $APPLICATION
	 */

	$fields = CIBlockProperty::GetByID($id)->Fetch();
	if (empty($fields))
	{
		$this->errorCollection->setError(
			new Error(Loc::getMessage('IBLOCK_CONTROLLER_PROPERTY_ACTION_DELETE_ERROR_NOT_FOUND'))
		);

		return false;
	}

	$iblockId = (int)$fields['IBLOCK_ID'];
	if (!$this->checkWritePermissions($iblockId))
	{
		$this->errorCollection->setError(
			new Error(Loc::getMessage('IBLOCK_CONTROLLER_PROPERTY_ACTION_DELETE_ERROR_ACCESS_DENIED'))
		);

		return false;
	}

	$result = CIBlockProperty::Delete($id) !== false;
	if (!$result)
	{
		$ex = $APPLICATION->GetException();
		if ($ex instanceof CApplicationException)
		{
			$this->errorCollection->setError(
				new Error($ex->GetString())
			);
		}
	}

	return $result;
}