__('添加邀请码', 'aksrt'), 'dialog' => 'aksrt-inv-add', 'primary' => true, 'icon' => 'dashicons-plus-alt2'],
['label' => __('导出邀请码', 'aksrt'), 'dialog' => 'aksrt-inv-export', 'icon' => 'dashicons-download'],
]
);
$settings = $service->registration_settings();
if (empty($settings['enabled'])) {
$settings_url = admin_url('admin.php?page=aksrt-settings#/users/auth');
echo '
';
}
$title = isset($_GET['aksrt_inv_title']) ? sanitize_text_field(rawurldecode((string) wp_unslash($_GET['aksrt_inv_title']))) : '';
$message = isset($_GET['aksrt_inv_msg']) ? sanitize_text_field(rawurldecode((string) wp_unslash($_GET['aksrt_inv_msg']))) : '';
$type = ($_GET['aksrt_inv_type'] ?? '') === 'error' ? 'error' : 'success';
if ($title !== '') {
echo '' . esc_html($title) . ''
. ($message !== '' ? ' ' . esc_html($message) : '') . '
';
}
$this->render_invite_codes_list($service, $this_url, $nonce);
$this->render_invite_codes_add($nonce);
$this->render_invite_codes_export($nonce);
echo '';
NativeUi::page_close();
}
private function render_invite_codes_list(\AKSRT\Payment\InviteCode $service, string $this_url, string $nonce): void {
$status = in_array(($_GET['status'] ?? 'all'), ['all', 'unused', 'used'], true) ? (string) $_GET['status'] : 'all';
$s = isset($_GET['s']) ? sanitize_text_field((string) wp_unslash($_GET['s'])) : '';
$remark = isset($_GET['remark']) ? sanitize_text_field((string) wp_unslash($_GET['remark'])) : '';
$data = $service->list_codes([
'page' => isset($_GET['paged']) ? max(1, (int) $_GET['paged']) : 1,
'status' => $status,
's' => $s,
'remark' => $remark,
'orderby' => isset($_GET['orderby']) ? sanitize_key((string) wp_unslash($_GET['orderby'])) : '',
'desc' => isset($_GET['desc']) ? sanitize_key((string) wp_unslash($_GET['desc'])) : '',
]);
$filters = ['status' => $status, 's' => $s, 'remark' => $remark, 'orderby' => $data['orderby'], 'desc' => $data['desc']];
$filter_url = add_query_arg($filters, $this_url);
NativeUi::card_open('', '', false, 'aksrt-inv-toolbar');
echo '';
if ($s !== '' || $remark !== '' || $status !== 'all') {
echo '';
if ($s !== '') {
echo '
' . esc_html(sprintf(__('关键词:%s', 'aksrt'), $s)) . '';
}
if ($remark !== '') {
echo '
' . esc_html(sprintf(__('标识:%s', 'aksrt'), $remark)) . '';
}
echo '
' . esc_html__('清除筛选', 'aksrt') . ' ';
}
NativeUi::card_close();
echo '';
}
}