Guest User

Untitled

a guest
Jun 23rd, 2018
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.65 KB | None | 0 0
  1. public function add_referral( $user_id, $price, $product_id, $order_id)
  2. {
  3. // See if affiliate ID present in cookie
  4. $affiliate_id = affiliate_wp()->tracking->get_affiliate_id();
  5. $affiliate_id = apply_filters('awp_idc_get_affiliate_id', $affiliate_id);
  6. if(!$affiliate_id){
  7. return;
  8. }
  9. // Ensure affiliate is active
  10. if ( !affwp_is_active_affiliate( $affiliate_id ) ) {
  11. return;
  12. }
  13. // Don't let users refer themselves
  14. if($user_id == affwp_get_affiliate_user_id($affiliate_id)){
  15. return;
  16. }
  17. // Get visit ID from cookie
  18. $visit_id = affiliate_wp()->tracking->get_visit_id();
  19. // Get referral rate
  20. $affiliate_rate = affiliate_wp()->settings->get( 'referral_rate', 15 );
  21. // Fetch order to get transaction ID and level name
  22. $order = new ID_Member_Order($order_id);
  23. $order_details = $order->get_order();
  24. $transaction_id = $order_details->transaction_id;
  25. $level = ID_Member_Level::get_level($product_id);
  26. $level_name = $level->level_name;
  27. // Log affiliate purchase
  28. $args = apply_filters('awp_idc_referrals_args', array(
  29. 'affiliate_id' => $affiliate_id,
  30. 'amount' => $price*$affiliate_rate/100,
  31. 'status' => 'unpaid',
  32. 'description' => "IgnitionDeck Package - $level_name \$$price",
  33. 'context' => 'ignitiondeck',
  34. 'campaign' => '',
  35. 'reference' => $transaction_id,
  36. 'visit_id' => $visit_id
  37. ), $affiliate_id, $price, $affiliate_rate, $level_name, $transaction_id, $visit_id);
  38. $referral_id = affwp_add_referral( $args );
  39. if( $referral_id ) {
  40. affiliate_wp()->visits->update( $visit_id, array( 'referral_id' => $referral_id ), '', 'visit' );
  41. }
  42. do_action('awp_idc_referral_created', $referral_id);
  43. }
Add Comment
Please, Sign In to add comment