Beispiel #1
0
 /**
  * Retrieves the rate and type for a specific product
  *
  * @access  public
  * @since   1.7
  * @return  float
  */
 public function get_product_rate($level_id = 0, $args = array())
 {
     $rate = get_option('affwp_rcp_level_rate_' . $level_id, true);
     if (empty($rate)) {
         $rate = affwp_get_affiliate_rate($this->affiliate_id);
     }
     return apply_filters('affwp_get_product_rate', (double) $rate, $level_id, $args, $this->affiliate_id, $this->context);
 }
 /**
  * Get the data being exported
  *
  * @access public
  * @since 1.3
  * @return array $data Data for Export
  */
 public function get_data()
 {
     $args = array('status' => $this->status, 'number' => -1);
     $data = array();
     $affiliates = affiliate_wp()->affiliates->get_affiliates($args);
     if ($affiliates) {
         foreach ($affiliates as $affiliate) {
             $data[] = array('affiliate_id' => $affiliate->affiliate_id, 'email' => affwp_get_affiliate_email($affiliate->affiliate_id), 'payment_email' => affwp_get_affiliate_payment_email($affiliate->affiliate_id), 'username' => affwp_get_affiliate_login($affiliate->affiliate_id), 'rate' => affwp_get_affiliate_rate($affiliate->affiliate_id), 'rate_type' => affwp_get_affiliate_rate_type($affiliate->affiliate_id), 'earnings' => $affiliate->earnings, 'referrals' => $affiliate->referrals, 'visits' => $affiliate->visits, 'status' => $affiliate->status, 'date_registered' => $affiliate->date_registered);
         }
     }
     $data = apply_filters('affwp_export_get_data', $data);
     $data = apply_filters('affwp_export_get_data_' . $this->export_type, $data);
     return $data;
 }
Beispiel #3
0
 /**
  * Render the earnings column
  *
  * @access public
  * @since 1.0
  * @param array $affiliate Contains all the data for the earnings column
  * @return string earnings link
  */
 function column_rate($affiliate)
 {
     return affwp_get_affiliate_rate($affiliate->affiliate_id, true);
 }
function affwp_calc_referral_amount($amount = '', $affiliate_id = 0, $reference = 0, $rate = '', $product_id = 0)
{
    // If the affiliate has a custom rate set, use it. If no rate is specified, use the fallback
    $rate = affwp_get_affiliate_rate($affiliate_id, false, $rate);
    if ('percentage' == affwp_get_affiliate_rate_type($affiliate_id)) {
        $referral_amount = round($amount * $rate, 2);
    } else {
        $referral_amount = $rate;
    }
    if ($referral_amount < 0) {
        $referral_amount = 0;
    }
    return apply_filters('affwp_calc_referral_amount', $referral_amount, $affiliate_id, $amount, $reference, $product_id);
}
</th>
				<th><?php 
_e('Commission Rate', 'affiliate-wp');
?>
</th>
			</tr>
		</thead>

		<tbody>
			<tr>
				<td><?php 
echo affwp_get_affiliate_unpaid_earnings(affwp_get_affiliate_id(), true);
?>
</td>
				<td><?php 
echo affwp_get_affiliate_earnings(affwp_get_affiliate_id(), true);
?>
</td>
				<td><?php 
echo affwp_get_affiliate_rate(affwp_get_affiliate_id(), true);
?>
</td>
			</tr>
		</tbody>
	</table>

	<?php 
do_action('affwp_affiliate_dashboard_after_earnings', affwp_get_affiliate_id());
?>

</div>
 function test_get_affiliate_rate()
 {
     $this->assertEquals('0.2', affwp_get_affiliate_rate($this->_affiliate_id));
     $this->assertEquals('20%', affwp_get_affiliate_rate($this->_affiliate_id, true));
 }
Beispiel #7
0
 /**
  * Render the earnings column
  *
  * @access public
  * @since 1.0
  * @param array $affiliate Contains all the data for the earnings column
  * @return string earnings link
  */
 function column_rate($affiliate)
 {
     $value = affwp_get_affiliate_rate($affiliate->affiliate_id, true);
     return apply_filters('affwp_affiliate_table_rate', $value, $affiliate);
 }
/**
 * Calculate the referral amount
 *
 * @param  string  $amount
 * @param  int     $affiliate_id
 * @param  int     $reference
 * @param  string  $rate
 * @param  int     $product_id
 * @return float
 */
function affwp_calc_referral_amount($amount = '', $affiliate_id = 0, $reference = 0, $rate = '', $product_id = 0)
{
    $rate = affwp_get_affiliate_rate($affiliate_id, false, $rate, $reference);
    $type = affwp_get_affiliate_rate_type($affiliate_id);
    $decimals = affwp_get_decimal_count();
    $referral_amount = 'percentage' === $type ? round($amount * $rate, $decimals) : $rate;
    if ($referral_amount < 0) {
        $referral_amount = 0;
    }
    return (string) apply_filters('affwp_calc_referral_amount', $referral_amount, $affiliate_id, $amount, $reference, $product_id);
}
Beispiel #9
0
 /**
  * Retrieves the rate and type for a specific product
  *
  * @access  public
  * @since   1.2
  * @return  float
  */
 public function get_product_rate($product_id = 0, $args = array())
 {
     $rate = get_post_meta($product_id, '_affwp_' . $this->context . '_product_rate', true);
     if (empty($rate)) {
         $rate = affwp_get_affiliate_rate($this->affiliate_id);
     }
     return apply_filters('affwp_get_product_rate', (double) $rate, $product_id, $args, $this->affiliate_id, $this->context);
 }
 /**
  * Show an affiliate's commission rate
  *
  * [affiliate_commission_rate]
  *
  * @since  1.1
  */
 function affiliate_commission_rate($atts, $content = null)
 {
     if (!(affwp_is_affiliate() && affwp_is_active_affiliate())) {
         return;
     }
     $content = affwp_get_affiliate_rate(affwp_get_affiliate_id(), true);
     return do_shortcode($content);
 }