• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/classes/general/captcha.php
  • Класс: CCaptcha
  • Вызов: CCaptcha::Add
public function Add($arFields)
{
	global $DB;

	if (!is_set($arFields, "CODE") || $arFields["CODE"] == '')
		return false;

	if (!is_set($arFields, "ID") || $arFields["ID"] == '')
		$arFields["ID"] = $this->Generate32RandomString();

	if (!is_set($arFields, "IP") || $arFields["IP"] == '')
		$arFields["IP"] = $_SERVER["REMOTE_ADDR"];

	if (!is_set($arFields, "DATE_CREATE") || $arFields["DATE_CREATE"] == '' || !$DB->IsDate($arFields["DATE_CREATE"], false, LANG, "FULL"))
	{
		unset($arFields["DATE_CREATE"]);
		$arFields["~DATE_CREATE"] = CDatabase::CurrentTimeFunction();
	}

	$pool = BitrixMainApplication::getInstance()->getConnectionPool();
	$pool->useMasterOnly(true);

	$arInsert = $DB->PrepareInsert("b_captcha", $arFields);

	$result = $DB->Query("INSERT INTO b_captcha (".$arInsert[0].") VALUES (".$arInsert[1].")", true);

	$pool->useMasterOnly(false);

	if($result)
	{
		return $arFields["ID"];
	}
	return false;
}