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}.
This commit is contained in:
kate522 committed 2026-07-17 15:40:20 +08:00
1 parent d55d1c6b62
commit 68d2e78d77
40 files changed
+105 -105

No files matched your search

+3 -3
View File
@@ -137,7 +137,7 @@ class AfterSale {
$items = $wpdb->get_results($wpdb->prepare($sql, $params), ARRAY_A);
$items = array_map([$this, 'decorate_record'], (array) $items);
if ($include_order_context && !empty($items) && class_exists('OrderRepository')) {
if ($include_order_context && !empty($items) && class_exists('AKSRT\\Payment\\OrderRepository')) {
$contexts = OrderRepository::get_instance()->get_admin_order_context_map(array_column($items, 'order_number'));
foreach ($items as &$item) {
$item['order_context'] = $contexts[(string) ($item['order_number'] ?? '')] ?? [];
@@ -174,7 +174,7 @@ class AfterSale {
return null;
}
$record['order_context'] = class_exists('OrderRepository')
$record['order_context'] = class_exists('AKSRT\\Payment\\OrderRepository')
? OrderRepository::get_instance()->get_admin_order_context((string) ($record['order_number'] ?? ''))
: [];
@@ -561,7 +561,7 @@ class AfterSale {
}
private function sync_order_status(array $record, string $new_status, string $note = ''): void {
if (!class_exists('OrderRepository') || !class_exists('Order')) {
if (!class_exists('AKSRT\\Payment\\OrderRepository') || !class_exists('AKSRT\\Payment\\Order')) {
return;
}
+4 -4
View File
@@ -330,7 +330,7 @@ class ChargeCard {
if (!$this->mark_used_cas($card_id, $user_id, $order_number)) {
// Race lost.
if (class_exists('Order')) {
if (class_exists('AKSRT\\Payment\\Order')) {
Order::get_instance()->update_status($order_number, Order::STATUS_CANCELLED, [
'note' => __('卡密已被使用,订单取消', 'aksrt'),
]);
@@ -343,7 +343,7 @@ class ChargeCard {
return $fulfill;
}
if (class_exists('Order')) {
if (class_exists('AKSRT\\Payment\\Order')) {
Order::get_instance()->update_status($order_number, Order::STATUS_PAID, [
'payment_method' => 'card_pass',
'payment_transaction_id' => 'card_pass_' . $card_id,
@@ -502,7 +502,7 @@ class ChargeCard {
* @param array<string,mixed> $meta
*/
private function create_redeem_order(int $user_id, string $type, array $meta, int $card_id, string $password): string {
if (!class_exists('OrderRepository') || !class_exists('\AKSRT\Core\DomainModel')) {
if (!class_exists('AKSRT\\Payment\\OrderRepository') || !class_exists('\AKSRT\Core\DomainModel')) {
return 'CARD' . $card_id . '_' . time();
}
@@ -536,7 +536,7 @@ class ChargeCard {
'product_id' => $product_id,
'amount' => $amount,
'currency' => $currency,
'status' => class_exists('Order') ? Order::STATUS_PENDING : 'pending',
'status' => class_exists('AKSRT\\Payment\\Order') ? Order::STATUS_PENDING : 'pending',
'payment_method' => 'card_pass',
'note' => is_string($note) ? $note : '',
'expires_at' => gmdate('Y-m-d H:i:s', time() + 30 * MINUTE_IN_SECONDS),
+1 -1
View File
@@ -26,7 +26,7 @@ class CreatorRevenue {
* Whether creator revenue settlement is enabled.
*/
private function is_enabled(): bool {
if (!class_exists('Revenue') || !class_exists('\AKSRT\Settings\Settings')) {
if (!class_exists('AKSRT\\Payment\\Revenue') || !class_exists('\AKSRT\Settings\Settings')) {
return false;
}
$settings = \AKSRT\Settings\Settings::get_payment_revenue_settings();
+1 -1
View File
@@ -212,7 +212,7 @@ class Gateway {
*/
public function complete_order(string $gateway_id, array $verify): bool {
$order_number = sanitize_text_field((string) ($verify['order_number'] ?? ''));
if ($order_number === '' || !class_exists('OrderRepository')) {
if ($order_number === '' || !class_exists('AKSRT\\Payment\\OrderRepository')) {
return false;
}
+3 -3
View File
@@ -63,10 +63,10 @@ trait OrderRepositoryAdmin {
}
$resolved_order_numbers = array_keys($orders);
$shipping_map = class_exists('Shipping')
$shipping_map = class_exists('AKSRT\\Payment\\Shipping')
? Shipping::get_instance()->get_summary_map($resolved_order_numbers)
: [];
$after_sale_map = class_exists('AfterSale')
$after_sale_map = class_exists('AKSRT\\Payment\\AfterSale')
? AfterSale::get_instance()->get_summary_map($resolved_order_numbers)
: [];
@@ -509,7 +509,7 @@ trait OrderRepositoryAdmin {
'summary' => [
'order_number' => (string) ($order['order_number'] ?? ''),
'status' => $status,
'status_label' => class_exists('Order') ? (Order::get_valid_statuses()[$status] ?? $status) : $status,
'status_label' => class_exists('AKSRT\\Payment\\Order') ? (Order::get_valid_statuses()[$status] ?? $status) : $status,
'amount' => $amount,
'currency_symbol' => '¥',
'created_at' => (string) ($order['created_at'] ?? ''),
+2 -2
View File
@@ -123,7 +123,7 @@ class Shipping {
$items = $wpdb->get_results($wpdb->prepare($sql, $params), ARRAY_A);
$items = array_map([$this, 'decorate_record'], (array) $items);
if ($include_order_context && !empty($items) && class_exists('OrderRepository')) {
if ($include_order_context && !empty($items) && class_exists('AKSRT\\Payment\\OrderRepository')) {
$contexts = OrderRepository::get_instance()->get_admin_order_context_map(array_column($items, 'order_number'));
foreach ($items as &$item) {
$item['order_context'] = $contexts[(string) ($item['order_number'] ?? '')] ?? [];
@@ -172,7 +172,7 @@ class Shipping {
return null;
}
$record['order_context'] = class_exists('OrderRepository')
$record['order_context'] = class_exists('AKSRT\\Payment\\OrderRepository')
? OrderRepository::get_instance()->get_admin_order_context((string) ($record['order_number'] ?? ''))
: [];
+2 -2
View File
@@ -10,7 +10,7 @@ defined('ABSPATH') || exit;
trait ShippingPart1 {
private function send_shipping_notification(string $order_number, string $carrier, string $tracking_no, string $note = ''): void {
if (!class_exists('OrderRepository')) {
if (!class_exists('AKSRT\\Payment\\OrderRepository')) {
return;
}
@@ -117,7 +117,7 @@ trait ShippingPart1 {
}
private function sync_order_status(string $order_number, string $shipping_status, string $note = ''): void {
if ($order_number === '' || !class_exists('OrderRepository') || !class_exists('Order')) {
if ($order_number === '' || !class_exists('AKSRT\\Payment\\OrderRepository') || !class_exists('AKSRT\\Payment\\Order')) {
return;
}