/** * Obtain the referring affiliate's id. * @param string $service by name * @return int affiliate id or false if none applies */ public static function get_referrer_id($service = null) { $affiliate_id = false; switch ($service) { default: if (isset($_COOKIE[AFFILIATES_COOKIE_NAME])) { $affiliate_id = affiliates_check_affiliate_id_encoded(trim($_COOKIE[AFFILIATES_COOKIE_NAME])); } } if (!$affiliate_id) { if (get_option('aff_use_direct', true)) { // Assume a direct referral $affiliate_id = affiliates_get_direct_id(); } } return apply_filters('affiliates_service_affiliate_id', $affiliate_id, $service); }
/** * Renders the referrer's username. * @param array $atts * @param string $content not used * @return string */ public static function referrer_user($atts, $content = null) { $options = shortcode_atts(array('direct' => false, 'display' => 'user_login'), $atts); extract($options); $output = ''; require_once 'class-affiliates-service.php'; $affiliate_id = Affiliates_Service::get_referrer_id(); if ($affiliate_id) { if ($direct || $affiliate_id !== affiliates_get_direct_id()) { if ($user_id = affiliates_get_affiliate_user($affiliate_id)) { if ($user = get_user_by('id', $user_id)) { switch ($display) { case 'user_login': $output .= $user->user_login; break; case 'user_nicename': $output .= $user->user_nicename; break; case 'user_email': $output .= $user->user_email; break; case 'user_url': $output .= $user->user_url; break; case 'display_name': $output .= $user->display_name; break; default: $output .= $user->user_login; } $output = wp_strip_all_tags($output); } } } } return $output; }