kate522
425ca6cd2e
feat(forum): plate lists widget payload + REST
...
Shared query_payload for plate lists and
/forum/frontend/widgets/plates for remote refresh.
2026-07-20 20:50:58 +08:00
kate522
5cb6928b1e
feat(forum): topic list widget AJAX load-more like zibll
...
Shared query_payload + REST /forum/frontend/widgets/topics wired
to ajax-list for sidebar forum posts lists.
2026-07-19 02:25:59 +08:00
kate522
24330653f0
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
2026-07-18 23:31:57 +08:00
kate522
770fa83332
feat(forum): detail/mini topic list item 1:1 structure
...
Expand render_topic_row into zibll-like detail cards (author card,
cover, excerpt, multi-image grid, vote strip, plate + action-meta)
and keep mini compact variant for dense lists.
2026-07-18 16:47:30 +08:00
kate522
2ce1b550ff
fix(forum): accept plate CPT IDs when creating topics
...
Compose UI and board search already send aksrt_forum_plate post IDs as
board_id, but create_topic still validated aksrt_forum_board term IDs and
never wrote _aksrt_plate_id — so real plates failed with 版块不存在.
Validate/store under the plate model (and fix move_board the same way).
2026-07-17 18:01:24 +08:00
kate522
1210556bfd
fix(forum): relax cap_cache meta hook arg types
...
deleted_post_meta passes meta_ids as array; strict int $meta_id fatals
on draft save when post meta is deleted. Match WP hook signatures.
2026-07-17 16:46:13 +08:00
kate522
0f8517bb8d
fix(forum): return JSON on draft AJAX fatals
...
Partial deploys still 500 HTML via draft_service; catch Throwable and
wp_send_json_error so the client can show the real exception message.
2026-07-17 16:32:39 +08:00
kate522
60ce32f57e
fix(forum): drop legacy draft service require_once
...
PSR-4 already loads DraftService; require class-aksrt-forum-draft-service.php fatals on compose.
2026-07-17 16:11:43 +08:00
kate522
68d2e78d77
fix(ns): class_exists() must use FQCN after PSR-4
...
Bare class_exists('Balance') looks up global Balance, always false
under AKSRT\* namespaces → REST 403 on balance exchange and friends.
Rewrite string checks to AKSRT\{Domain}\{Class}.
2026-07-17 15:40:20 +08:00
kate522
1e21911b03
fix(ns): root-qualify WP_* classes after PSR-4 move
...
Bare WP_REST_Server etc. resolve under AKSRT\* namespaces; prefix with
\ for Balance REST and other type hints / constructors.
2026-07-17 15:12:14 +08:00
kate522
aaf458af1c
refactor(autoload): migrate theme classes to Composer PSR-4
...
Move 288 types from global AKSRT_* + inc/classes manual requires into
namespace AKSRT\{Domain} under src/AKSRT/, wire composer.json psr-4,
and slim bootstrap to helpers/modules/hooks only. Split multi-class
widget/gateway files, update admin contract audit paths, and document
the layout in ADR/README.
2026-07-17 13:29:22 +08:00