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