feat(admin): add affiliate marketing screens and admin order integration
This commit is contained in:
@@ -672,6 +672,39 @@ class OrdersController
|
||||
}
|
||||
}
|
||||
|
||||
// Get related affiliate referral
|
||||
if (ModuleRegistry::is_enabled('affiliate')) {
|
||||
if (class_exists('\WooNooW\Modules\Affiliate\AffiliateTracker')) {
|
||||
global $wpdb;
|
||||
$referral = \WooNooW\Modules\Affiliate\AffiliateTracker::get_referral_for_order($id);
|
||||
if ($referral) {
|
||||
$affiliates_table = $wpdb->prefix . 'woonoow_affiliates';
|
||||
$affiliate = $wpdb->get_row($wpdb->prepare(
|
||||
"SELECT a.*, u.display_name as affiliate_name, u.user_email as affiliate_email
|
||||
FROM $affiliates_table a
|
||||
LEFT JOIN $wpdb->users u ON a.user_id = u.ID
|
||||
WHERE a.id = %d",
|
||||
$referral->affiliate_id
|
||||
));
|
||||
|
||||
if ($affiliate) {
|
||||
$data['affiliate'] = [
|
||||
'has_referral' => true,
|
||||
'referral_id' => (int) $referral->id,
|
||||
'commission' => (float) $referral->commission_amount,
|
||||
'currency' => $referral->currency,
|
||||
'status' => $referral->status,
|
||||
'cancelled_reason' => $referral->cancelled_reason ?: null,
|
||||
'affiliate_id' => (int) $affiliate->id,
|
||||
'affiliate_name' => $affiliate->affiliate_name ?: __('Unknown', 'woonoow'),
|
||||
'affiliate_email' => $affiliate->affiliate_email ?: '',
|
||||
'commission_rate' => (float) $affiliate->commission_rate,
|
||||
];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Allow plugins to modify response (Level 1 compatibility)
|
||||
$data = apply_filters('woonoow/order_api_data', $data, $order, $req);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user