false, 'required' => false, 'links_html' => '', 'label_html' => '', 'field_name' => 'agree_terms']; $referral = $settings ? $settings::get_referral_registration_settings() : ['enabled' => false, 'register_field' => 'hidden']; $ref_mode = !empty($referral['enabled']) ? (string) ($referral['register_field'] ?? 'hidden') : 'hidden'; $ref_hint = $ref_mode === 'required' ? (string) ($referral['required_desc'] ?? '') : (string) ($referral['open_desc'] ?? ''); $ref_value = !empty($_GET['ref']) ? sanitize_key(wp_unslash((string) $_GET['ref'])) : (!empty($_COOKIE['jio_referral']) ? sanitize_key(wp_unslash((string) $_COOKIE['jio_referral'])) : ''); $invite_code_settings = $settings ? $settings::get_invite_code_registration_settings() : ['enabled' => false, 'register_field' => 'hidden', 'open_desc' => '', 'required_desc' => '']; $invite_mode = !empty($invite_code_settings['enabled']) ? (string) ($invite_code_settings['register_field'] ?? 'hidden') : 'hidden'; $invite_hint = $invite_mode === 'required' ? (string) ($invite_code_settings['required_desc'] ?? '') : (string) ($invite_code_settings['open_desc'] ?? ''); $oauth_providers = class_exists('\Jio\Auth\OAuth') ? \Jio\Auth\OAuth::get_instance()->get_auth_providers_data() : []; $wechat_qr = false; foreach ($oauth_providers as $provider) { if (($provider['name'] ?? '') === 'weixingzh') { $wechat_qr = true; break; } } $show_logo = !empty($jio_auth_context['show_logo']); $redirect_to = esc_url_raw((string) ($jio_auth_context['redirect_to'] ?? home_url('/'))); $unique = $is_modal ? 'modal' : 'page'; $oauth_user_data = $is_oauth_bind && !empty($oauth_bind_data['user_data']) && is_array($oauth_bind_data['user_data']) ? $oauth_bind_data['user_data'] : []; $oauth_name = sanitize_user((string) ($oauth_user_data['name'] ?? $oauth_user_data['nickname'] ?? $oauth_user_data['login'] ?? ''), true); $oauth_email = sanitize_email((string) ($oauth_user_data['email'] ?? '')); $oauth_avatar = esc_url_raw((string) ($oauth_user_data['avatar'] ?? '')); if ($oauth_avatar === '' && function_exists('jio_get_default_avatar_url')) { $oauth_avatar = jio_get_default_avatar_url(); } $oauth_provider_name = $is_oauth_bind ? \Jio\Auth\Service::get_oauth_provider_name((string) ($oauth_bind_data['provider'] ?? '')) : ''; $oauth_intent = sanitize_key((string) ($jio_auth_context['oauth_intent'] ?? ($_GET['oauth_intent'] ?? 'login'))); $oauth_intent = $oauth_intent === 'bind' ? 'bind' : 'login'; $oauth_bind_pass = $oauth_intent === 'bind' ? sanitize_text_field((string) ($jio_auth_context['bind_pass'] ?? ($_GET['bind_pass'] ?? ''))) : ''; $initial_tab = $auth_tab; if ($initial_tab === 'signin' && $close_signin) { // Account login is off: land on registration when it is open, otherwise on // the social/QR pane so the modal never opens on an empty sign-in panel. $initial_tab = $registration_open ? 'signup' : ($wechat_qr ? 'oauth' : 'signin'); } if ($initial_tab === 'signup' && !$registration_open) { $initial_tab = 'signin'; } if ($initial_tab === 'oauth' && !$wechat_qr) { $initial_tab = $close_signin && $registration_open ? 'signup' : 'signin'; } if ($initial_tab === 'bind' && !$is_oauth_bind) { $initial_tab = 'signin'; } $show_nopas = $passwordless; $show_pas = !$passwordless || $passwordless_mode !== 'only_nopas'; $nopas_active = $show_nopas && $passwordless_mode !== 'pas'; $signin_user_hint = ($passwordless || $signin_phone) ? __('用户名/手机号/邮箱', 'jio') : __('用户名或邮箱', 'jio'); $social_html = ''; if (!$is_oauth_bind && !empty($oauth_providers) && class_exists('\Jio\Auth\OAuth')) { $social_html = \Jio\Auth\OAuth::get_instance()->render_social_buttons(__('社交账号登录', 'jio')); } $ref_tooltip = $ref_hint !== '' ? wp_strip_all_tags($ref_hint) : ''; $invite_tooltip = ($invite_mode === 'optional' && $invite_hint !== '') ? wp_strip_all_tags($invite_hint) : ''; ?>