/**
 * Decreases an affiliate's total paid earnings by the specified amount
 *
 * @since 1.0
 * @return float|bool
 */
function affwp_decrease_affiliate_earnings($affiliate_id = 0, $amount = '')
{
    if (empty($affiliate_id)) {
        return false;
    }
    if (empty($amount) || floatval($amount) <= 0) {
        return false;
    }
    $earnings = affwp_get_affiliate_earnings($affiliate_id);
    $earnings -= $amount;
    $earnings = round($earnings, 2);
    if ($earnings < 0) {
        $earnings = 0;
    }
    if (affiliate_wp()->affiliates->update($affiliate_id, array('earnings' => $earnings), '', 'affiliate')) {
        $alltime = get_option('affwp_alltime_earnings');
        $alltime -= $amount;
        if ($alltime < 0) {
            $alltime = 0;
        }
        update_option('affwp_alltime_earnings', $alltime);
        return $earnings;
    } else {
        return false;
    }
}
Beispiel #2
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_earnings($affiliate)
 {
     return affwp_currency_filter(affwp_format_amount(affwp_get_affiliate_earnings($affiliate->affiliate_id)));
 }
			<tr>
				<th>Weekly Earnings</th>
				<th>Total Earnings</th>
				<th>Weekly Referrals</th>
				<th>Total Referrals</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_count_referrals(affwp_get_affiliate_id(), 'unpaid');
?>
</td>
				<td><?php 
echo affwp_count_referrals(affwp_get_affiliate_id(), 'paid');
?>
</td>
			</tr>
		</tbody>
	</table>

	<?php 
 function test_get_affiliate_earnings()
 {
     $this->assertEquals(0, affwp_get_affiliate_earnings($this->_affiliate_id));
 }
Beispiel #5
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_earnings($affiliate)
 {
     $value = affwp_currency_filter(affwp_format_amount(affwp_get_affiliate_earnings($affiliate->affiliate_id)));
     return apply_filters('affwp_affiliate_table_earnings', $value, $affiliate);
 }
Beispiel #6
0
				<th><?php 
_e('Total visits', 'affiliate-wp');
?>
</th>
				<?php 
do_action('affwp_view_affiliate_report_table_header', $affiliate_id);
?>
			</tr>

		</thead>

		<tbody>

			<tr>
				<td><?php 
echo affwp_currency_filter(affwp_get_affiliate_earnings($affiliate_id));
?>
</td>
				<td><?php 
echo affwp_get_affiliate_unpaid_earnings($affiliate_id, true);
?>
</td>
				<td><?php 
echo affwp_get_affiliate_referral_count($affiliate_id);
?>
</td>
				<td><?php 
echo affiliate_wp()->referrals->count(array('affiliate_id' => $affiliate_id, 'status' => 'unpaid'));
?>
</td>
				<td><?php 
 /**
  * Show an affiliate's total unpaid/paid earnings
  *
  * [affiliate_earnings status="paid"]
  * [affiliate_earnings status="unpaid"]
  *
  * @since  1.1
  */
 function affiliate_earnings($atts, $content = null)
 {
     if (!(affwp_is_affiliate() && affwp_is_active_affiliate())) {
         return;
     }
     $atts = shortcode_atts(array('status' => ''), $atts, 'affiliate_earnings');
     switch ($atts['status']) {
         case 'paid':
             $content = affwp_get_affiliate_earnings(affwp_get_affiliate_id(), true);
             break;
         case 'unpaid':
             $content = affwp_get_affiliate_unpaid_earnings(affwp_get_affiliate_id(), true);
             break;
     }
     return do_shortcode($content);
 }