/** * Updates an affiliate * * @since 1.0 * @return bool */ function affwp_update_affiliate($data = array()) { if (empty($data['affiliate_id'])) { return false; } $args = array(); $affiliate_id = absint($data['affiliate_id']); $affiliate = affwp_get_affiliate($affiliate_id); $user_id = empty($affiliate->user_id) ? absint($data['user_id']) : $affiliate->user_id; $args['account_email'] = !empty($data['account_email']) && is_email($data['account_email']) ? sanitize_text_field($data['account_email']) : ''; $args['payment_email'] = !empty($data['payment_email']) && is_email($data['payment_email']) ? sanitize_text_field($data['payment_email']) : ''; $args['rate'] = isset($data['rate']) && '' !== $data['rate'] ? sanitize_text_field($data['rate']) : ''; $args['rate_type'] = !empty($data['rate_type']) ? sanitize_text_field($data['rate_type']) : ''; $args['user_id'] = $user_id; if (affiliate_wp()->affiliates->update($affiliate_id, $args, '', 'affiliate')) { // update affiliate's account email if (wp_update_user(array('ID' => $user_id, 'user_email' => $args['account_email']))) { return true; } } return false; }
<?php $affiliate = affwp_get_affiliate(absint($_GET['affiliate_id'])); $user_info = get_userdata($affiliate->user_id); $rate_type = !empty($affiliate->rate_type) ? $affiliate->rate_type : ''; $rate = !empty($affiliate->rate) ? $affiliate->rate : ''; $email = !empty($affiliate->payment_email) ? $affiliate->payment_email : ''; ?> <div class="wrap"> <h2><?php _e('Edit Affiliate', 'affiliate-wp'); ?> </h2> <form method="post" id="affwp_edit_affiliate"> <?php do_action('affwp_edit_affiliate_top', $affiliate); ?> <table class="form-table"> <tr class="form-row form-required"> <th scope="row"> <label for="affiliate_id"><?php _e('Affiliate ID', 'affiliate-wp'); ?> </label> </th>
function test_delete_affiliate() { affwp_delete_affiliate($this->_affiliate_id2); $affiliate = affwp_get_affiliate($this->_affiliate_id2); $this->assertNull($affiliate); }
/** * Check if it is a valid affiliate * * @since 1.0 */ public function is_valid_affiliate($affiliate_id = 0) { if (empty($affiliate_id)) { $affiliate_id = $this->get_affiliate_id(); } $ret = false; $affiliate = affwp_get_affiliate($affiliate_id); if ($affiliate) { $is_self = is_user_logged_in() && get_current_user_id() == $affiliate->user_id; $active = 'active' === $affiliate->status; $ret = !$is_self && $active; } return apply_filters('affwp_tracking_is_valid_affiliate', $ret, $affiliate_id); }
/** * Determine if the passed email belongs to the affiliate * * @access public * @since 1.6 * @return bool */ public function is_affiliate_email($email = '') { global $wpdb; $ret = false; $affiliate = affwp_get_affiliate($this->affiliate_id); if (!empty($affiliate->payment_email) && is_email($affiliate->payment_email)) { if ($email == $affiliate->payment_email) { $ret = true; } } if (!empty($affiliate->user_id)) { $user_email = $wpdb->get_var($wpdb->prepare("SELECT user_email FROM {$wpdb->users} WHERE ID = '%d' LIMIT 1", $affiliate->user_id)); if ($email == $user_email) { $ret = true; } } return apply_filters('affwp_is_customer_email_affiliate_email', $ret, $email, $this->affiliate_id); }