/** * 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; } }
/** * 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)); }
/** * 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); }
<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); }