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

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

	if (!CSocNetFeatures::CheckFields("ADD", $arFields))
	{
		return false;
	}

	$db_events = GetModuleEvents("socialnetwork", "OnBeforeSocNetFeaturesAdd");
	while ($arEvent = $db_events->Fetch())
	{
		if (ExecuteModuleEventEx($arEvent, array($arFields))===false)
		{
			return false;
		}
	}

	$arInsert = $DB->PrepareInsert("b_sonet_features", $arFields);
	BitrixSocialnetworkUtil::processEqualityFieldsToInsert($arFields1, $arInsert);

	$ID = false;
	if ($arInsert[0] <> '')
	{
		$strSql =
			"INSERT INTO b_sonet_features(".$arInsert[0].") ".
			"VALUES(".$arInsert[1].")";
		$DB->Query($strSql, False, "File: ".__FILE__."
Line: ".__LINE__); $ID = intval($DB->LastID()); if (array_key_exists("ENTITY_TYPE", $arFields) && array_key_exists("ENTITY_ID", $arFields)) { unset($SONET_FEATURES_CACHE[$arFields["ENTITY_TYPE"]][$arFields["ENTITY_ID"]]); } $events = GetModuleEvents("socialnetwork", "OnSocNetFeaturesAdd"); while ($arEvent = $events->Fetch()) { ExecuteModuleEventEx($arEvent, array($ID, $arFields)); } if ( defined("BX_COMP_MANAGED_CACHE") && array_key_exists("ENTITY_TYPE", $arFields) && array_key_exists("ENTITY_ID", $arFields) ) { $CACHE_MANAGER->ClearByTag('sonet_features'); $CACHE_MANAGER->ClearByTag("sonet_features_".$arFields["ENTITY_TYPE"]."_".$arFields["ENTITY_ID"]); } } return $ID; }