コード例 #1
0
/**
 * 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;
}
コード例 #2
0
ファイル: edit.php プロジェクト: jwondrusch/AffiliateWP
<?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>
コード例 #3
0
 function test_delete_affiliate()
 {
     affwp_delete_affiliate($this->_affiliate_id2);
     $affiliate = affwp_get_affiliate($this->_affiliate_id2);
     $this->assertNull($affiliate);
 }
コード例 #4
0
 /**
  * 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);
 }
コード例 #5
0
ファイル: class-base.php プロジェクト: jwondrusch/AffiliateWP
 /**
  * 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);
 }