Используемые метод:
1. $USER->Register
2. $USER->Login
3. $user->Update
|
1 |
$USER->Login |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
<?php define("NO_KEEP_STATISTIC", true); // Не собираем стату по действиям AJAX require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php"); header('Content-Type: application/json'); global $USER; if($_REQUEST['sessid'] !== bitrix_sessid()){ $result = ['success' => false, 'message' => 'Невалидный токен, обновите страницу']; }else{ switch ($_REQUEST['method']){ case 'authorization': $login = $USER->Login($_REQUEST['user_email'],$_REQUEST['user_password'],'Y'); if($login === true){ $result = [ 'success' => true ]; }else{ $result = [ 'success' => false, 'message' => 'Неверный логин или пароль' ]; } break; case 'registration': $hasUser = CUser::GetList($by="email", $order="desc",array( 'EMAIL' => $_REQUEST['user_email']))->Fetch(); if($hasUser !== false){ $result = [ 'success' => false, 'message' => 'Пользователь с таким email уже зарегестрирован' ]; }else{ $arResult = $USER->Register($_REQUEST['user_email'], "", "", $_REQUEST['user_password'], $_REQUEST['user_password'], $_REQUEST['user_email']); if($arResult['TYPE'] = 'OK'){ //установим имя и телефон $user = new CUser; $fields = Array( "NAME" => $_REQUEST['user_name'], "PERSONAL_PHONE" => $_REQUEST['user_phone'] ); $user->Update($USER->GetID(), $fields); $USER->Login($_REQUEST['user_email'],$_REQUEST['user_password'],'Y'); $result = [ 'success' => true ]; }else{ $result = [ 'success' => false, 'message' => $arResult['MESSAGE'] ]; } } break; } } echo json_encode($result); require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_after.php"); |
