• Модуль: socialnetwork
  • Путь к файлу: ~/bitrix/modules/socialnetwork/classes/general/log_tools.php
  • Класс: CSocNetLogComponent
  • Вызов: CSocNetLogComponent::canUserChangeComment
static function canUserChangeComment($arParams)
{
	global $USER;

	$res = false;

	if (!is_array($arParams))
	{
		$arParams = array();
	}

	if (empty($arParams["LOG_EVENT_ID"]))
	{
		return $res;
	}

	if (
		!isset($arParams["USER_ID"])
		|| (int)$arParams["USER_ID"] <= 0
	)
	{
		$arParams["USER_ID"] = $USER->GetId();
	}

	if (!isset($arParams["ACTION"]))
	{
		$arParams["ACTION"] = "edit";
	}

	$arParams["ACTION"] = ToUpper($arParams["ACTION"]);

	$rights = CSocNetLogComponent::getCommentRights(array(
		"EVENT_ID" => $arParams["LOG_EVENT_ID"],
		"SOURCE_ID" => (isset($arParams["LOG_SOURCE_ID"]) ? intval($arParams["LOG_SOURCE_ID"]) : false),
		"CHECK_ADMIN_SESSION" => (isset($arParams["CHECK_ADMIN_SESSION"]) && $arParams["CHECK_ADMIN_SESSION"] == "N" ? "N" : "Y"),
		"USER_ID" => $arParams["USER_ID"]
	));

	$key = ($arParams["ACTION"] === "EDIT" ? "COMMENT_RIGHTS_EDIT" : "COMMENT_RIGHTS_DELETE");

	if (
		$rights[$key] === "ALL"
		|| (
			$rights[$key] === "OWN"
			&& !empty($arParams["COMMENT_USER_ID"])
			&& (int)$arParams["COMMENT_USER_ID"] > 0
			&& (int)$arParams["COMMENT_USER_ID"] === (int)$arParams["USER_ID"]
		)
	)
	{
		$res = true;
	}

	return $res;
}