- Модуль: 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;
}