- Reuse pay_no_logged_in / pay_cookie_day; generalized guest cookie helpers - Topic + plate cash: guest preview/purchase (no balance), order.user_id=0, cookie unlock - View gates: can_view_topic pay + plate follow accept signed guest cookies - Templates: guest buy/follow CTAs; poll endpoint allows plate_follow guest orders
108 lines
5.8 KiB
Markdown
108 lines
5.8 KiB
Markdown
# zibll ↔ AKSRT gap matrix (admin ops entry)
|
|
|
|
Three-way mapping: **zibll current → AKSRT before migration → AKSRT target**.
|
|
|
|
Focus: admin **entry & page shape**. Runtime field parity is Phase 5+.
|
|
|
|
---
|
|
|
|
## Shop
|
|
|
|
| zibll | AKSRT before | AKSRT target | Data / service |
|
|
|-------|--------------|--------------|----------------|
|
|
| CPT `shop_product` pos 35, `dashicons-store`, super-admin `show_ui` | `aksrt_product` `show_ui=true`, **`show_in_menu=false`** | Native menu pos 35, store icon; gate on `shop_s` | CPT |
|
|
| Tax `shop_cat` | `aksrt_product_cat` show_ui false | show_ui + admin column under product | taxonomy |
|
|
| Tax `shop_tag` | `aksrt_product_tag` show_ui false | show_ui under product | taxonomy |
|
|
| Tax `shop_discount` | `shop_discount` show_ui false | show_ui under product | `AKSRT_Shop_Term_Meta` |
|
|
| Product list columns | Trait exists, wired in `functions.php` | Keep/enhance on native list | admin columns trait |
|
|
| Product edit meta | SPA `ShopProducts` + REST | Native meta box (Phase 1b) | product ops / post meta |
|
|
| Orders | SPA `ShopOrders` | `admin.php?page=aksrt_orders` | `AKSRT_Order` |
|
|
| Shipping | SPA `ShopShipping` | `aksrt_shipping` | `AKSRT_Shipping` |
|
|
| After-sale | SPA `ShopAfterSale` | `aksrt_after_sale` | `AKSRT_After_Sale` |
|
|
| Coupons | SPA `ShopCoupons` / zibpay coupon page | `aksrt_coupons` | `AKSRT_Coupon` |
|
|
| Shop CSF config | SPA shop schema | **Keep SPA schema** | `AKSRT_Settings::get_shop_settings()` |
|
|
|
|
---
|
|
|
|
## Forum / community
|
|
|
|
| zibll | AKSRT before | AKSRT target | Data / service |
|
|
|-------|--------------|--------------|----------------|
|
|
| CPT `plate` pos 40, forums icon | `aksrt_forum_plate` **show_in_menu false** | show_in_menu true, pos 40, `dashicons-buddicons-forums` | CPT |
|
|
| Tax `plate_cat` | `aksrt_plate_cat` | show_ui under plate | taxonomy |
|
|
| CPT `forum_post` pos 40, topics icon | `aksrt_forum_topic` default menu, comments icon | pos 40, `dashicons-buddicons-topics`, explicit menu | CPT |
|
|
| Tax `forum_topic` / `forum_tag` | `aksrt_forum_topic_cat` / `aksrt_forum_tag` | show_ui under topic | taxonomy |
|
|
| Legacy board tax | — | `aksrt_forum_board` keep rewrite bridge, **hide admin UI** (plate is canonical) | taxonomy |
|
|
| Boards/topics SPA | `ForumBoards` / `ForumTopics` | Native CPT lists | `AKSRT_Forum` |
|
|
| Moderators / applications | SPA | Plate meta box + optional subpage | moderation service |
|
|
| BBS CSF config | SPA forum schema | **Keep SPA schema** | `get_forum_settings()` |
|
|
|
|
---
|
|
|
|
## Payment / zibpay ops
|
|
|
|
| zibll page | Purpose | AKSRT before | Target slug | Service |
|
|
|------------|---------|--------------|-------------|---------|
|
|
| `zibpay_page` | Dashboard | SPA dashboards | `aksrt_pay` | aggregates |
|
|
| `zibpay_page#/order` | Orders (new) | SPA ShopOrders | `aksrt_orders` | `AKSRT_Order` |
|
|
| `zibpay_order_page` | Orders (legacy) | SPA | same native list | |
|
|
| `zibpay_page#/shipping` | Shipping | SPA | `aksrt_shipping` | `AKSRT_Shipping` |
|
|
| `zibpay_page#/after-sale` | After-sale | SPA | `aksrt_after_sale` | `AKSRT_After_Sale` |
|
|
| `zibpay_product_page` | Paid-post sales report | done | `aksrt_pay_products` | content pay (`AKSRT_Admin_Pay_Products` + order aggregation) |
|
|
| `zibpay_income_page` | Creator income | `PaymentRevenue` | `aksrt_income` | `AKSRT_Revenue` |
|
|
| `zibpay_rebate_page` | Rebate | `PaymentRebate` | `aksrt_rebate` | `AKSRT_Rebate` |
|
|
| `zibpay_withdraw` | Withdraw | `ShopWithdrawals` | `aksrt_withdraw` | `AKSRT_Withdrawal` |
|
|
| `zibpay_charge_card_page` | Charge cards | `PaymentChargeCard` | `aksrt_charge_cards` | `AKSRT_Charge_Card` |
|
|
| `zibpay_coupon_page` | Coupons | `ShopCoupons` | `aksrt_coupons` | `AKSRT_Coupon` |
|
|
| CSF pay sections | Gateways/VIP/… | SPA payment schema | **Keep SPA** | settings |
|
|
|
|
Note: zibll「商品管理」`zibpay_product_page` is **paid article sales**, not the physical `shop_product` CPT list.
|
|
|
|
---
|
|
|
|
## User governance
|
|
|
|
| zibll | slug | AKSRT before | Target |
|
|
|-------|------|--------------|--------|
|
|
| 消息管理 | `user_messags` under users.php | SPA `UsersMessages` | `users.php?page=aksrt_messages` |
|
|
| 邀请码管理 | `invit_code` | SPA `UsersInviteCodes` | `aksrt_invite_codes` |
|
|
| 身份认证 | `user_auth` | SPA `UsersVerify` queue | `aksrt_user_auth` |
|
|
| 举报&禁封申诉 | `user_ban` | SPA Ban + Report | single `aksrt_user_ban` with tabs |
|
|
| Credits column | users list | `AKSRT_User_Credits_Admin` | keep |
|
|
| CSF user config | — | SPA users schema | keep |
|
|
|
|
---
|
|
|
|
## SPA ops routes to delete (Phase 4)
|
|
|
|
### shop.js
|
|
`shop-products`, `shop-orders`, `shop-after-sale`, `shop-shipping`, `shop-coupons`, `shop-withdrawals`, `shop-dashboard`
|
|
|
|
### forum.js
|
|
`forum-boards`, `forum-topics`, `forum-moderators`, `forum-moderator-applications`, `forum-dashboard`
|
|
|
|
### payment.js
|
|
`payment-charge-card`, `payment-revenue`, `payment-rebate` (ops tables)
|
|
|
|
### users.js
|
|
`users-messages`, `users-invite-codes`, `users-ban`, `users-report` (queues)
|
|
|
|
---
|
|
|
|
## Phase status
|
|
|
|
| Phase | Status |
|
|
|-------|--------|
|
|
| 0 Docs + matrix | done |
|
|
| 1 Native CPT/tax menus | done |
|
|
| 2a Pay menu + orders/withdraw/cards | done |
|
|
| 2b Shipping/after-sale/coupons/income/rebate | done |
|
|
| 3 users.php submenus | done |
|
|
| 4 SPA strip | done (ops routes redirect to native) |
|
|
| 5+ behavior parity | done — native ops shell + plate follow-pay + topic pay matrix + multi-gateway topic cashier (`AKSRT_Topic_Pay` /pay/topic) + topic coupon burn (P1) + plate follow VIP1/2 + multi-gateway (`AKSRT_Plate_Follow_Pay` /pay/plate-follow) + cash creator revenue (content/topic/plate) + sales report/download logs + hidecontent + users commerce + order filters/clear-closed + post pay_type filter + bulk content-pay edit + income/rebate user filter |
|
|
| 5 remaining | optional polish only; guest topic/plate cash purchase + cookie unlock done (reuses pay_no_logged_in / pay_cookie_day) |
|
|
|
|
## Dual-UI rule
|
|
|
|
Native write path must work **before** removing the matching SPA ops route. No data migration: same tables/meta; UI only.
|