- Модуль: socialservices
- Путь к файлу: ~/bitrix/modules/socialservices/classes/general/authmanager.php
- Класс: for
- Вызов: for::Update
static function Update($id, $arFields)
{
global $DB;
$id = intval($id);
if($id <= 0)
{
return false;
}
foreach(GetModuleEvents("socialservices", "OnBeforeSocServUserUpdate", true) as $arEvent)
{
if(ExecuteModuleEventEx($arEvent, array($id, &$arFields)) === false)
{
return false;
}
}
if (is_set($arFields, "PERSONAL_PHOTO"))
{
if ($arFields["PERSONAL_PHOTO"]["name"] == '' && $arFields["PERSONAL_PHOTO"]["del"] == '')
{
unset($arFields["PERSONAL_PHOTO"]);
}
else
{
$rsPersonalPhoto = $DB->Query("SELECT PERSONAL_PHOTO FROM b_socialservices_user WHERE ID=".$id);
if ($personalPhoto = $rsPersonalPhoto->Fetch())
{
$arFields["PERSONAL_PHOTO"]["old_file"] = $personalPhoto["PERSONAL_PHOTO"];
}
}
}
if(!self::CheckFields('UPDATE', $arFields))
{
return false;
}
$arDbFields = $arFields;
if (static::hasEncryptedFields(array_keys($arDbFields)))
static::encryptFields($arDbFields);
$strUpdate = $DB->PrepareUpdate("b_socialservices_user", $arDbFields);
$strSql = "UPDATE b_socialservices_user SET ".$strUpdate." WHERE ID = ".$id." ";
$DB->Query($strSql, false, "File: ".__FILE__."
Line: ".__LINE__);
$cache_id = 'socserv_ar_user';
$obCache = new CPHPCache;
$cache_dir = '/bx/socserv_ar_user';
$obCache->Clean($cache_id, $cache_dir);
$arFields['ID'] = $id;
foreach(GetModuleEvents("socialservices", "OnAfterSocServUserUpdate", true) as $arEvent)
ExecuteModuleEventEx($arEvent, array(&$arFields));
return $id;
}