feat: unify invite flow with referral ref

This commit is contained in:
kate522 committed 2026-08-17 13:49:59 +08:00
1 parent f1d6809109
commit b501cf4611
47 files changed
+1083 -2548

No files matched your search

+19 -21
View File
@@ -19,9 +19,9 @@ if (class_exists('\AKSRT\Auth\OAuth')) {
$registration_open = true;
$email_verification = false;
$close_signin = false;
$invite_field_mode = 'hidden';
$invite_field_hint = '';
$invite_prefill = '';
$ref_field_mode = 'hidden';
$ref_field_hint = '';
$ref_prefill = '';
$show_qrcode_tab = false;
if (class_exists('\AKSRT\Settings\Settings')) {
@@ -32,19 +32,17 @@ if (class_exists('\AKSRT\Settings\Settings')) {
$email_verification = \AKSRT\Settings\Settings::registration_requires_email_verification();
$close_signin = \AKSRT\Settings\Settings::close_signin();
$invite_cfg = \AKSRT\Settings\Settings::get_invite_registration_config();
$invite_field_mode = (string) ($invite_cfg['register_field'] ?? 'hidden');
$invite_field_hint = $invite_field_mode === 'required'
? (string) ($invite_cfg['must_desc'] ?? '')
: (string) ($invite_cfg['open_desc'] ?? '');
$ref_cfg = \AKSRT\Settings\Settings::get_referral_registration_settings();
$ref_field_mode = !empty($ref_cfg['enabled']) ? (string) ($ref_cfg['register_field'] ?? 'hidden') : 'hidden';
$ref_field_hint = $ref_field_mode === 'required'
? (string) ($ref_cfg['required_desc'] ?? '')
: (string) ($ref_cfg['open_desc'] ?? '');
}
if (!empty($_GET['ref'])) {
$invite_prefill = sanitize_key(wp_unslash($_GET['ref']));
} elseif (!empty($_GET['invite'])) {
$invite_prefill = sanitize_key(wp_unslash($_GET['invite']));
} elseif (!empty($_COOKIE['aksrt_invite'])) {
$invite_prefill = sanitize_key(wp_unslash($_COOKIE['aksrt_invite']));
if (!empty($_COOKIE['aksrt_referral'])) {
$ref_prefill = sanitize_key(wp_unslash($_COOKIE['aksrt_referral']));
} elseif (!empty($_GET['ref'])) {
$ref_prefill = sanitize_key(wp_unslash($_GET['ref']));
}
foreach ($oauth_providers as $provider) {
@@ -171,17 +169,17 @@ $logo_url = class_exists('\AKSRT\Settings\Settings') ? \AKSRT\Settings\Settings:
</div>
</div>
<?php if ($invite_field_mode !== 'hidden') : ?>
<?php if ($ref_field_mode !== 'hidden') : ?>
<div class="aksrt-modal-auth__field">
<label for="modal-reg-invite">
<?php esc_html_e('邀请码', 'aksrt'); ?>
<?php if ($invite_field_mode === 'optional') : ?>
<label for="modal-reg-ref">
<?php esc_html_e('推广码', 'aksrt'); ?>
<?php if ($ref_field_mode === 'optional') : ?>
<small><?php esc_html_e('(选填)', 'aksrt'); ?></small>
<?php endif; ?>
</label>
<input type="text" id="modal-reg-invite" name="invite_code" value="<?php echo esc_attr($invite_prefill); ?>" <?php echo $invite_field_mode === 'required' ? 'required' : ''; ?> placeholder="<?php esc_attr_e('请输入邀请码', 'aksrt'); ?>">
<?php if ($invite_field_hint !== '') : ?>
<p class="aksrt-modal-auth__hint"><?php echo wp_kses_post($invite_field_hint); ?></p>
<input type="text" id="modal-reg-ref" name="ref" maxlength="12" value="<?php echo esc_attr($ref_prefill); ?>" <?php echo $ref_field_mode === 'required' ? 'required' : ''; ?> placeholder="<?php esc_attr_e('请输入推广码', 'aksrt'); ?>">
<?php if ($ref_field_hint !== '') : ?>
<p class="aksrt-modal-auth__hint"><?php echo wp_kses_post($ref_field_hint); ?></p>
<?php endif; ?>
</div>
<?php endif; ?>