request)); $url = remove_query_arg(['fcom_action', 'fcom_url_hash'], $currentUrl); wp_redirect($url); exit(); } public function viewAuthPage() { $currentUserId = get_current_user_id(); // check if there has any invitation token $inivtationToken = Arr::get($_GET, 'invitation_token'); $inviation = null; if ($inivtationToken) { $inviation = apply_filters('fluent_community/auth/invitation', null, $inivtationToken); } if ($currentUserId && !$inviation) { wp_redirect(Helper::baseUrl()); exit(); } do_action('fluent_community/auth/before_auth_page_process', $currentUserId, $inviation); $acceptedForms = ['login', 'register', 'reset_password']; $targetForm = Arr::get($_GET, 'form'); if (!in_array($targetForm, $acceptedForms)) { $targetForm = 'login'; } if ($inviation && $targetForm != 'reset_password') { $isUserAvailable = get_user_by('email', $inviation->message); $targetForm = $isUserAvailable ? 'login' : 'register'; } if ($inviation && $currentUserId) { $invitedUser = get_user_by('email', $inviation->message); if ($invitedUser && $invitedUser->ID == $currentUserId) { $targetForm = 'accept_invitation'; } } $isFluentAuth = AuthHelper::isFluentAuthAvailable(); if (!$isFluentAuth && $targetForm == 'reset_password') { wp_redirect(wp_lostpassword_url(Helper::baseUrl())); exit(); } $portalSettings = Helper::generalSettings(); $titleVar = Arr::get($portalSettings, 'site_title'); $frameData = [ 'logo' => Arr::get($portalSettings, 'logo', ''), 'title' => sprintf(__('Join %s', 'fluent-community'), $titleVar), 'description' => __('Login or Signup to join the community', 'fluent-community'), 'loginBtnText' => __('Login', 'fluent-community'), 'signupBtnText' => __('Signup', 'fluent-community'), ]; $currentUrl = home_url(add_query_arg($_GET, $GLOBALS['wp']->request)); $pageVars = [ 'title' => $frameData['title'], 'description' => $frameData['description'], 'url' => $currentUrl, 'featured_image' => '', 'css_files' => [ Vite::getDynamicSrcUrl('theme-default.scss'), Vite::getDynamicSrcUrl('public/scss/user_registration.scss') ], 'js_files' => [ Vite::getDynamicSrcUrl('public/js/user_registration.js') ], 'js_vars' => [ 'fluentComRegistration' => [ 'ajax_url' => admin_url('admin-ajax.php'), 'is_logged_in' => is_user_logged_in(), ] ], 'scope' => 'user_registration', 'layout' => 'signup', 'portal' => [ 'logo' => Arr::get($portalSettings, 'logo', ''), 'title' => \sprintf( __('Welcome to %s', 'fluent-community'), Arr::get($portalSettings, 'site_title') ), 'description' => get_bloginfo('description') ] ]; if ($isFluentAuth) { $pageVars['js_files'][] = FLUENT_AUTH_PLUGIN_URL . 'dist/public/login_helper.js'; $pageVars['js_vars']['fluentAuthPublic'] = [ 'hide' => false, 'redirect_fallback' => site_url(), 'fls_login_nonce' => wp_create_nonce('fsecurity_login_nonce'), 'ajax_url' => admin_url('admin-ajax.php'), 'i18n' => [ 'Username_or_Email' => __('Email Address', 'fluent-community'), 'Password' => __('Password', 'fluent-community') ] ]; } add_action('fluent_community/headless/content', function ($context) use ($targetForm, $currentUrl, $frameData, $inviation) { if ($targetForm == 'login') { $this->showLoginForm($frameData, $inviation); } else if ($targetForm == 'reset_password') { $frameData['title'] = __('Reset your password', 'fluent-community'); ?>
' . __('You have successfully registered to the community', 'fluent-community') . '
' . __('You have successfully logged in to the community', 'fluent-community') . '