• Модуль: socialservices
  • Путь к файлу: ~/bitrix/modules/socialservices/classes/general/authmanager.php
  • Класс: for
  • Вызов: for::CheckFields
static function CheckFields($action, &$arFields)
{
	global $USER;

	if($action === 'ADD')
	{
		if(isset($arFields["EXTERNAL_AUTH_ID"]) && $arFields["EXTERNAL_AUTH_ID"] == '')
		{
			return false;
		}

		if(isset($arFields["SITE_ID"]) && $arFields["SITE_ID"] == '')
		{
			$arFields["SITE_ID"] = SITE_ID;
		}

		if(!isset($arFields["USER_ID"]))
		{
			$arFields["USER_ID"] = $USER->GetID();
		}

		$dbCheck = UserTable::getList([
			'filter' => [
				'=USER_ID' => $arFields["USER_ID"],
				'=EXTERNAL_AUTH_ID' => $arFields["EXTERNAL_AUTH_ID"],
			],
			'select' => ["ID"]
		]);
		if($dbCheck->fetch())
		{
			return false;
		}
	}

	if(is_set($arFields, "PERSONAL_PHOTO"))
	{
		$res = CFile::CheckImageFile($arFields["PERSONAL_PHOTO"]);
		if($res <> '')
		{
			unset($arFields["PERSONAL_PHOTO"]);
		}
		else
		{
			$arFields["PERSONAL_PHOTO"]["MODULE_ID"] = "socialservices";
			CFile::SaveForDB($arFields, "PERSONAL_PHOTO", "socialservices");
		}
	}

	return true;
}