8namespace Bitrix\Main\Controller;
11use Bitrix\Main\Component;
12use Bitrix\Main\Localization\Loc;
13use Bitrix\Main\Authentication;
14use Bitrix\Main\Authentication\Method;
22 if((
$params = static::extractData($signedData)) ===
false)
24 $this->
addError(
new Main\
Error(Loc::getMessage(
"main_register_incorrect_request"),
"ERR_SIGNATURE"));
27 if(
$params[
"phoneNumber"] ==
'')
29 $this->
addError(
new Main\
Error(Loc::getMessage(
"main_register_incorrect_request"),
"ERR_PARAMS"));
32 if(
$params[
"smsTemplate"] ==
'')
34 $params[
"smsTemplate"] =
"SMS_USER_CONFIRM_NUMBER";
46 'DATA_SIGN' => static::signData([
47 'phoneNumber' =>
$params[
"phoneNumber"],
48 'smsTemplate' =>
$params[
"smsTemplate"]
50 'DATE_SEND' => \CUser::PHONE_CODE_RESEND_INTERVAL,
61 $userId = $signer->unsign($signedData, static::SIGNATURE_SALT);
65 $this->
addError(
new Main\
Error(Loc::getMessage(
'main_register_incorrect_request'),
'ERR_SIGNATURE'));
70 if (!preg_match(
'/^[0-9]{6}$/',
$code))
72 $this->
addError(
new Main\
Error(Loc::getMessage(
'main_err_confirm_code_format'),
'ERR_CONFIRM_CODE'));
81 'select' => [
'USER_ID',
'PHONE_NUMBER',
'USER.ID',
'USER.ACTIVE'],
86 $this->
addError(
new Main\
Error(Loc::getMessage(
'main_register_no_user'),
'ERR_NOT_FOUND'));
91 if (\CUser::VerifyPhoneCode($phoneRecord->getPhoneNumber(),
$code))
93 if($phoneRecord->getUser()->getActive() && !
$USER->IsAuthorized())
97 ->setMethod(Method::PhoneCode)
106 $this->
addError(
new Main\
Error(Loc::getMessage(
'main_err_confirm'),
'ERR_CONFIRM_CODE'));
117 Main\Engine\ActionFilter\Authentication::class,
122 Main\Engine\ActionFilter\Authentication::class,
if(!is_object($USER)||! $USER->IsAuthorized()) $userId
static signParameters($componentName, $parameters)
static unsignParameters($componentName, $signedParameters)
confirmAction(string $code, string $signedData)
resendCodeAction($signedData)
static extractData($signedData)
static signData(array $data)
static getList(array $parameters=array())
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
if(!is_null($config))($config as $configItem)(! $configItem->isVisible()) $code
if($inWords) echo htmlspecialcharsbx(Number2Word_Rus(roundEx($totalVatSum $params['CURRENCY']