• Модуль: socialnetwork
  • Путь к файлу: ~/bitrix/modules/socialnetwork/classes/general/group_features.php
  • Класс: CAllSocNetFeatures
  • Вызов: CAllSocNetFeatures::Update
static function Update($ID, $arFields)
{
	global $DB, $CACHE_MANAGER;

	if (!CSocNetGroup::__ValidateID($ID))
		return false;

	$ID = intval($ID);

	$arFields1 = BitrixSocialnetworkUtil::getEqualityFields($arFields);

	if (!CSocNetFeatures::CheckFields("UPDATE", $arFields, $ID))
		return false;

	$db_events = GetModuleEvents("socialnetwork", "OnBeforeSocNetFeaturesUpdate");
	while ($arEvent = $db_events->Fetch())
		if (ExecuteModuleEventEx($arEvent, array($ID, &$arFields))===false)
			return false;

	$strUpdate = $DB->PrepareUpdate("b_sonet_features", $arFields);
	BitrixSocialnetworkUtil::processEqualityFieldsToUpdate($arFields1, $strUpdate);

	if ($strUpdate <> '')
	{
		$strSql =
			"UPDATE b_sonet_features SET ".
			"	".$strUpdate." ".
			"WHERE ID = ".$ID." ";
		$DB->Query($strSql, False, "File: ".__FILE__."
Line: ".__LINE__); if (array_key_exists("ENTITY_TYPE", $arFields) && array_key_exists("ENTITY_ID", $arFields)) { unset($GLOBALS["SONET_FEATURES_CACHE"][$arFields["ENTITY_TYPE"]][$arFields["ENTITY_ID"]]); } $events = GetModuleEvents("socialnetwork", "OnSocNetFeaturesUpdate"); while ($arEvent = $events->Fetch()) ExecuteModuleEventEx($arEvent, array($ID, $arFields)); if (defined("BX_COMP_MANAGED_CACHE")) { $CACHE_MANAGER->ClearByTag('sonet_features'); $CACHE_MANAGER->ClearByTag("sonet_feature_".$ID); } } else { $ID = false; } return $ID; }