feat(ux): forum pay-hide depth, clogin OAuth, ban appeals admin, posts-navs widget
- Forum compose/save/draft: VIP prices, partial hide, coupons + shortcode tools - Rainbow clogin aggregate login (rewrite + schema + CLoginClient) - Native ban appeals tab: approve/reject + lift ban + notify - WidgetPostsNavs + register missing forum widgets - Submit editor shortcodes: login/reply/vip/payshow
This commit is contained in:
1 parent
25aabb71a3
commit
24330653f0
15 files changed
+834
-35
No files matched your search
@@ -94,10 +94,38 @@ trait TopicServicePart4 {
|
||||
if (isset($this->get_visibility_map()[$visibility])) {
|
||||
update_post_meta($topic_id, '_aksrt_visibility', $visibility);
|
||||
if ($visibility === self::VISIBILITY_CREDITS) {
|
||||
update_post_meta($topic_id, '_aksrt_credits_cost', max(0, (int) ($_POST['credits_cost'] ?? 0)));
|
||||
$cost = max(0, (int) ($_POST['credits_cost'] ?? 0));
|
||||
update_post_meta($topic_id, '_aksrt_credits_cost', $cost);
|
||||
update_post_meta($topic_id, '_aksrt_pay_credits', $cost);
|
||||
if (isset($_POST['credits_vip1']) && (string) $_POST['credits_vip1'] !== '') {
|
||||
update_post_meta($topic_id, '_aksrt_credits_vip1', max(0, (int) $_POST['credits_vip1']));
|
||||
} else {
|
||||
delete_post_meta($topic_id, '_aksrt_credits_vip1');
|
||||
}
|
||||
if (isset($_POST['credits_vip2']) && (string) $_POST['credits_vip2'] !== '') {
|
||||
update_post_meta($topic_id, '_aksrt_credits_vip2', max(0, (int) $_POST['credits_vip2']));
|
||||
} else {
|
||||
delete_post_meta($topic_id, '_aksrt_credits_vip2');
|
||||
}
|
||||
update_post_meta($topic_id, '_aksrt_pay_hide_part', !empty($_POST['pay_hide_part']) ? 1 : 0);
|
||||
}
|
||||
if ($visibility === self::VISIBILITY_PAY) {
|
||||
update_post_meta($topic_id, '_aksrt_pay_price', sanitize_text_field((string) ($_POST['pay_price'] ?? '')));
|
||||
if (isset($_POST['pay_vip1_price']) && (string) $_POST['pay_vip1_price'] !== '') {
|
||||
$v1 = max(0, (float) $_POST['pay_vip1_price']);
|
||||
update_post_meta($topic_id, '_aksrt_pay_vip1_price', $v1);
|
||||
update_post_meta($topic_id, '_aksrt_pay_vip_price', $v1);
|
||||
} else {
|
||||
delete_post_meta($topic_id, '_aksrt_pay_vip1_price');
|
||||
delete_post_meta($topic_id, '_aksrt_pay_vip_price');
|
||||
}
|
||||
if (isset($_POST['pay_vip2_price']) && (string) $_POST['pay_vip2_price'] !== '') {
|
||||
update_post_meta($topic_id, '_aksrt_pay_vip2_price', max(0, (float) $_POST['pay_vip2_price']));
|
||||
} else {
|
||||
delete_post_meta($topic_id, '_aksrt_pay_vip2_price');
|
||||
}
|
||||
update_post_meta($topic_id, '_aksrt_pay_hide_part', !empty($_POST['pay_hide_part']) ? 1 : 0);
|
||||
update_post_meta($topic_id, '_aksrt_topic_coupon_s', !empty($_POST['topic_coupon_s']) ? 1 : 0);
|
||||
}
|
||||
if ($visibility === self::VISIBILITY_ROLE) {
|
||||
$roles = isset($_POST['visibility_roles']) && is_array($_POST['visibility_roles'])
|
||||
@@ -227,6 +255,12 @@ trait TopicServicePart4 {
|
||||
'featured_video' => esc_url_raw((string) ($_POST['featured_video'] ?? '')),
|
||||
'credits_cost' => (int) ($_POST['credits_cost'] ?? 0),
|
||||
'pay_price' => sanitize_text_field((string) ($_POST['pay_price'] ?? '')),
|
||||
'credits_vip1' => isset($_POST['credits_vip1']) ? sanitize_text_field((string) $_POST['credits_vip1']) : '',
|
||||
'credits_vip2' => isset($_POST['credits_vip2']) ? sanitize_text_field((string) $_POST['credits_vip2']) : '',
|
||||
'pay_vip1_price' => isset($_POST['pay_vip1_price']) ? sanitize_text_field((string) $_POST['pay_vip1_price']) : '',
|
||||
'pay_vip2_price' => isset($_POST['pay_vip2_price']) ? sanitize_text_field((string) $_POST['pay_vip2_price']) : '',
|
||||
'pay_hide_part' => !empty($_POST['pay_hide_part']),
|
||||
'topic_coupon_s' => !empty($_POST['topic_coupon_s']),
|
||||
'visibility_roles' => isset($_POST['visibility_roles']) && is_array($_POST['visibility_roles'])
|
||||
? array_map('sanitize_key', $_POST['visibility_roles']) : [],
|
||||
];
|
||||
|
||||
Reference in new issue
Block a user