if ($UID = Energine\share\gears\AuthUser::authenticate($_POST['user']['username'], $_POST['user']['password'])) { E()->UserSession->start($UID); } else { $response->addCookie(UserSession::FAILED_LOGIN_COOKIE_NAME, E()->Utils->translate('ERR_BAD_AUTH'), time() + 60); } //о том прошла ли аутентификация успешноыны LoginForm узнает из куков } elseif ($logout) { $_GET['return'] = '/'; E()->UserSession->kill(); } elseif ($fbAuth && ($appID = Primitive::getConfigValue('auth.fb.appID')) && ($secretKey = Primitive::getConfigValue('auth.fb.secretKey'))) { try { $fb = new FBOAuth(['appId' => $appID, 'secret' => $secretKey]); $userInfo = $fb->api('/me?fields=id,name,email,picture.type(small)'); if (is_array($userInfo) && !isset($_REQUEST['error'])) { //Смотрим есть ли такой юзер в списке зарегистрированных if (!($user = User::getFBUser($userInfo['id']))) { //Если нет - создаем $userData = ['u_name' => isset($userInfo['email']) ? $userInfo['email'] : $userInfo['id'] . '@facebook.com', 'u_fbid' => $userInfo['id'], 'u_password' => User::generatePassword(), 'u_fullname' => $userInfo['name'], 'u_avatar_img' => $userInfo['picture']['data']['url']]; $user = new User(); $user->create($userData); } E()->UserSession->start($UID); } } catch (\Exception $e) { $response->addCookie(UserSession::FAILED_LOGIN_COOKIE_NAME, $e->getMessage(), time() + 60); goto escape; } } elseif ($vkAuth && ($appID = Primitive::getConfigValue('auth.vk.appID')) && ($secretKey = Primitive::getConfigValue('auth.vk.secretKey'))) { try { $vk = new VKOAuth(['appId' => $appID, 'secret' => $secretKey], $_GET['return']); $vk->connect();