refactor: flatten src/AKSRT → src (drop theme-identifier dir)

Move all domain folders from src/AKSRT/{Domain} to src/{Domain}; remap
Composer PSR-4 "AKSRT\\": "src/"; update audit script + README + ADR
paths; remove dead tools/build-psr4-map.php (scanned deleted inc/classes).
This commit is contained in:
2026-08-02 22:06:06 +08:00
parent 56f1a8175f
commit 8c5b1555c9
285 changed files with 26 additions and 3600 deletions
@@ -0,0 +1,82 @@
<?php
/**
* @package AKSRT
*/
namespace AKSRT\Admin;
defined('ABSPATH') || exit;
trait UserControllerRestrictionOperations {
public function get_user_restrictions(\WP_REST_Request $request): \WP_REST_Response {
$user_id = (int) $request->get_param('user_id');
$user = get_userdata($user_id);
if (!$user) {
return $this->error('用户不存在', 404);
}
if (!class_exists('\AKSRT\User\Restriction')) {
return $this->success(['data' => ['restrictions' => []]]);
}
$restrictions = \AKSRT\User\Restriction::get_instance()->get_user_restrictions($user_id, false);
return $this->success(['data' => ['restrictions' => $restrictions]]);
}
public function add_user_restriction(\WP_REST_Request $request): \WP_REST_Response {
$user_id = (int) $request->get_param('user_id');
$user = get_userdata($user_id);
if (!$user) {
return $this->error('用户不存在', 404);
}
$params = $request->get_json_params() ?? [];
$type = sanitize_key((string) ($params['type'] ?? ''));
$reason = sanitize_textarea_field((string) ($params['reason'] ?? ''));
$scope = sanitize_key((string) ($params['scope'] ?? 'global'));
$expires_at = sanitize_text_field((string) ($params['expires_at'] ?? ''));
if (!$type) {
return $this->error('请选择限制类型');
}
if (!class_exists('\AKSRT\User\Restriction')) {
return $this->error('限制系统未启用', 501);
}
$result = \AKSRT\User\Restriction::get_instance()->restrict(
$user_id, $type, $reason, $scope, $expires_at, get_current_user_id()
);
if (!$result['success']) {
return $this->error($result['message']);
}
return $this->success(['message' => '限制已添加', 'data' => $result]);
}
public function remove_user_restriction(\WP_REST_Request $request): \WP_REST_Response {
$restriction_id = (int) $request->get_param('id');
if (!class_exists('\AKSRT\User\Restriction')) {
return $this->error('限制系统未启用', 501);
}
$result = \AKSRT\User\Restriction::get_instance()->remove_restriction($restriction_id);
if (!$result) {
return $this->error('移除失败', 500);
}
return $this->success(['message' => '限制已移除']);
}
public function get_restriction_stats(\WP_REST_Request $request): \WP_REST_Response {
if (!class_exists('\AKSRT\User\Restriction')) {
return $this->success(['data' => ['total' => 0, 'active' => 0, 'banned' => 0]]);
}
$stats = \AKSRT\User\Restriction::get_instance()->get_stats();
return $this->success(['data' => $stats]);
}
}