function wpam_generate_refkey_from_affiliate_id($aff_id)
{
    $db = new WPAM_Data_DataAccess();
    $affiliateRepos1 = $db->getAffiliateRepository();
    $wpam_refkey = NULL;
    $affiliate = $affiliateRepos1->loadBy(array('affiliateId' => $aff_id, 'status' => 'active'));
    if ($affiliate === NULL) {
        //affiliate with this ID does not exist
        WPAM_Logger::log_debug("generate_refkey_from_affiliate_id function - affiliate ID " . $aff_id . " does not exist");
    } else {
        $default_creative_id = get_option(WPAM_PluginConfig::$DefaultCreativeId);
        if (!empty($default_creative_id)) {
            $creative = $db->getCreativesRepository()->load($default_creative_id);
            $linkBuilder = new WPAM_Tracking_TrackingLinkBuilder($affiliate, $creative);
            $strRefKey = $linkBuilder->getTrackingKey()->pack();
            $refKey = new WPAM_Tracking_TrackingKey();
            $refKey->unpack($strRefKey);
            $idGenerator = new WPAM_Tracking_UniqueIdGenerator();
            $trackTokenModel = new WPAM_Data_Models_TrackingTokenModel();
            $trackTokenModel->dateCreated = time();
            $trackTokenModel->sourceAffiliateId = $aff_id;
            $trackTokenModel->sourceCreativeId = $refKey->getCreativeId();
            $trackTokenModel->trackingKey = $idGenerator->generateId();
            $trackTokenModel->referer = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : NULL;
            /* add a new visit so it doesn't fail while awarding commission */
            $db->getTrackingTokenRepository()->insert($trackTokenModel);
            $db->getEventRepository()->quickInsert(time(), $trackTokenModel->trackingKey, 'visit');
            /* */
            $binConverter = new WPAM_Util_BinConverter();
            $wpam_refkey = $binConverter->binToString($trackTokenModel->trackingKey);
        }
    }
    return $wpam_refkey;
}
 public static function record_click()
 {
     if (isset($_REQUEST[WPAM_PluginConfig::$RefKey]) && !empty($_REQUEST[WPAM_PluginConfig::$RefKey])) {
         //this is the old tracking code (deprecated). This will be removed once the new tracking system is functional.
         global $wpdb;
         $strRefKey = trim(strip_tags($_REQUEST[WPAM_PluginConfig::$RefKey]));
         $aff_id = "";
         if (is_numeric($strRefKey)) {
             //wpam_refkey contains affiliate ID. If a record is found save it
             $query = "SELECT * FROM " . WPAM_AFFILIATES_TBL . " WHERE affiliateId = %d";
             $affiliate = $wpdb->get_row($wpdb->prepare($query, $strRefKey));
             if ($affiliate != null && $affiliate->status == "active") {
                 $aff_id = $strRefKey;
             }
         } else {
             if (is_email($strRefKey)) {
                 //wpam_refkey contains email. Find the ID associated with that email and save it
                 $query = "SELECT * FROM " . WPAM_AFFILIATES_TBL . " WHERE email = %s";
                 $affiliate = $wpdb->get_row($wpdb->prepare($query, $strRefKey));
                 if ($affiliate != null && $affiliate->status == "active") {
                     $aff_id = $affiliate->affiliateId;
                 }
             } else {
                 //TODO start - wpam_refkey contains long tracking key. Find affiliate ID from it and save it. This block of code will just be here for backwards compatibilty
                 $refKey = new WPAM_Tracking_TrackingKey();
                 $refKey->unpack($strRefKey);
                 $db = new WPAM_Data_DataAccess();
                 $affiliateRepos = $db->getAffiliateRepository();
                 $affiliateId = $affiliateRepos->getAffiliateIdFromRefKey($refKey->getAffiliateRefKey());
                 if ($affiliateId === NULL) {
                 } else {
                     $aff_id = $affiliateId;
                 }
             }
         }
         //TODO end
         if (!empty($aff_id)) {
             $cookie_life_time = wpam_get_cookie_life_time();
             setcookie('wpam_id', $aff_id, $cookie_life_time, "/", COOKIE_DOMAIN);
         }
     }
     //this will be the new affiliate link. A click will be tracked when wpam_id is present in the URL
     if (isset($_REQUEST[WPAM_PluginConfig::$wpam_id]) && !empty($_REQUEST[WPAM_PluginConfig::$wpam_id])) {
         $aff_id = trim(strip_tags($_REQUEST[WPAM_PluginConfig::$wpam_id]));
         $cookie_life_time = wpam_get_cookie_life_time();
         setcookie('wpam_id', $aff_id, $cookie_life_time, "/", COOKIE_DOMAIN);
         $args = array();
         $args['dateCreated'] = date("Y-m-d H:i:s", time());
         $args['sourceAffiliateId'] = $aff_id;
         $args['trackingKey'] = uniqid();
         //save a unique ID to avoid error
         $args['sourceCreativeId'] = '';
         // remove this column from the click tracking menu in the settings
         $args['referer'] = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '';
         $args['affiliateSubCode'] = '';
         WPAM_Click_Tracking::insert_click_data($args);
     }
 }
 public function processRequest($request)
 {
     $db = new WPAM_Data_DataAccess();
     if (isset($request['viewDetail']) && is_numeric($request['viewDetail'])) {
         $affiliateFields = $db->getAffiliateFieldRepository()->loadMultipleBy(array('enabled' => true), array('order' => 'asc'));
         $id = (int) $request['viewDetail'];
         $model = $db->getAffiliateRepository()->load($id);
         if ($model == null) {
             wp_die("Invalid affiliate ID.");
         }
         if (isset($request['action']) && $request['action'] == 'saveInfo') {
             $validator = new WPAM_Validation_Validator();
             //validate bounty type & amount if they're in the appropriate status
             if (!$model->isPending() && !$model->isBlocked() && !$model->isDeclined()) {
                 $validator->addValidator('ddBountyType', new WPAM_Validation_SetValidator(array('fixed', 'percent')));
                 if ($request['ddBountyType'] === 'fixed') {
                     $validator->addValidator('txtBountyAmount', new WPAM_Validation_MoneyValidator());
                 } else {
                     if ($request['ddBountyType'] === 'percent') {
                         $validator->addValidator('txtBountyAmount', new WPAM_Validation_NumberValidator());
                     }
                 }
                 $validator->addValidator('ddPaymentMethod', new WPAM_Validation_SetValidator(array('check', 'paypal')));
                 if ($request['ddPaymentMethod'] === 'paypal') {
                     $validator->addValidator('txtPaypalEmail', new WPAM_Validation_EmailValidator());
                 }
             }
             $affiliateHelper = new WPAM_Util_AffiliateFormHelper();
             $vr = $affiliateHelper->validateForm($validator, $request, $affiliateFields, TRUE);
             if ($vr->getIsValid()) {
                 $affiliateHelper->setModelFromForm($model, $affiliateFields, $request);
                 $affiliateHelper->setPaymentFromForm($model, $request);
                 $db->getAffiliateRepository()->update($model);
             } else {
                 return $this->getDetailForm($affiliateFields, $model, $request, $vr);
             }
         }
         return $this->getDetailForm($affiliateFields, $model, $request);
     } else {
         //Show all the affiliates list.
         //Lets include the affiliates_list.php file
         $response = new WPAM_Pages_TemplateResponse('admin/affiliates_list');
     }
     return $response;
 }
 public function processRequest($request)
 {
     $db = new WPAM_Data_DataAccess();
     $affiliateFields = $db->getAffiliateFieldRepository()->loadMultipleBy(array('enabled' => true), array('order' => 'asc'));
     if (isset($request['action']) && $request['action'] == 'submit') {
         $form_validated = false;
         $affiliateHelper = new WPAM_Util_AffiliateFormHelper();
         $vr = $affiliateHelper->validateForm(new WPAM_Validation_Validator(), $request, $affiliateFields);
         if ($vr->getIsValid()) {
             $form_validated = true;
         }
         $output = apply_filters('wpam_validate_registration_form_submission', '', $request);
         if (!empty($output)) {
             $form_validated = false;
         }
         if ($form_validated) {
             $model = $affiliateHelper->getNewAffiliate();
             $affiliateHelper->setModelFromForm($model, $affiliateFields, $request);
             //Fire the action hook
             do_action('wpam_front_end_registration_form_submitted', $model, $request);
             //Check if automatic affiliate approval option is enabled
             if (get_option(WPAM_PluginConfig::$AutoAffiliateApproveIsEnabledOption) == 1) {
                 $userHandler = new WPAM_Util_UserHandler();
                 $userHandler->AutoapproveAffiliate($model);
                 return new WPAM_Pages_TemplateResponse('aff_app_submitted_auto_approved');
             }
             //Do the non auto approval process
             $db = new WPAM_Data_DataAccess();
             $id = $db->getAffiliateRepository()->insert($model);
             if ($id == 0) {
                 if (WPAM_DEBUG) {
                     echo '<pre>', var_export($model, true), '</pre>';
                 }
                 wp_die(__('Error submitting your details to the database. This is a bug, and your application was not submitted.', 'affiliates-manager'));
             }
             $mailer = new WPAM_Util_EmailHandler();
             //Notify admin that affiliate has registered
             $blogname = wp_specialchars_decode(get_option('blogname'), ENT_QUOTES);
             $message = sprintf(__('New affiliate registration on your site %s:', 'affiliates-manager'), $blogname) . "\r\n\r\n";
             $message .= sprintf(__('Name: %s %s', 'affiliates-manager'), $request['_firstName'], $request['_lastName']) . "\r\n";
             $message .= sprintf(__('Email: %s', 'affiliates-manager'), $request['_email']) . "\r\n";
             $message .= sprintf(__('Company: %s', 'affiliates-manager'), $request['_companyName']) . "\r\n";
             $message .= sprintf(__('Website: %s', 'affiliates-manager'), $request['_websiteUrl']) . "\r\n\r\n";
             $message .= sprintf(__('View Application: %s', 'affiliates-manager'), admin_url('admin.php?page=wpam-affiliates&viewDetail=' . $id)) . "\r\n";
             $mailer->mailAffiliate(get_option('admin_email'), __('New Affiliate Registration', 'affiliates-manager'), $message);
             //Notify affiliate of their application
             $affsubj = sprintf(__('Affiliate application for %s', 'affiliates-manager'), $blogname);
             $affmessage = WPAM_MessageHelper::GetMessage('affiliate_application_submitted_email');
             $mailer->mailAffiliate($request['_email'], $affsubj, $affmessage);
             return new WPAM_Pages_TemplateResponse('affiliate_application_submitted');
         } else {
             return $this->getForm($affiliateFields, $request, $vr);
         }
     }
     //else
     return $this->getForm($affiliateFields);
 }
 public function isActiveAffiliate($wpUser)
 {
     $db = new WPAM_Data_DataAccess();
     $affiliate = $db->getAffiliateRepository()->loadByUserId($wpUser->ID);
     if ($affiliate !== NULL) {
         $status = $affiliate->status;
         if ($status != 'declined' && $status != 'pending') {
             return true;
         }
     }
     return false;
 }
 public function isAvailable($wpUser)
 {
     $db = new WPAM_Data_DataAccess();
     $affiliate = $db->getAffiliateRepository()->loadByUserId($wpUser->ID);
     return $affiliate !== NULL && $affiliate->isPending();
 }
 public function AutoapproveAffiliate($affiliate, $bountyType = '', $bountyAmount = '')
 {
     $sendEmail = true;
     $mailer = new WPAM_Util_EmailHandler();
     $db = new WPAM_Data_DataAccess();
     //Create Affiliate account in WP (1.1.2 if they don't have one)
     //and send them an email telling them they're approved
     $userLogin = sanitize_user($affiliate->email);
     $userEmail = apply_filters('user_registration_email', $affiliate->email);
     $blogname = wp_specialchars_decode(get_option('blogname'), ENT_QUOTES);
     $message = sprintf(__('New affiliate registration for %s: has been approved!', 'wpam'), $blogname) . "\r\n\r\n";
     if (username_exists($userLogin)) {
         $user = new WP_User(get_userdatabylogin($userLogin)->ID);
         if ($user->has_cap(WPAM_PluginConfig::$AffiliateCap)) {
             throw new Exception(__('User already has an account and is already an affiliate', 'wpam'));
         } else {
             $user->add_cap(WPAM_PluginConfig::$AffiliateCap);
             $message .= __('Log into the site with your existing account and get started.', 'wpam') . "\r\n";
             $userId = $user->ID;
         }
     } elseif (email_exists($userEmail)) {
         $user = new WP_User(get_user_by('email', $userEmail)->ID);
         if ($db->getAffiliateRepository()->existsBy(array('userId' => $user->ID))) {
             throw new Exception(__('User already has an account and is already an affiliate', 'wpam'));
         } else {
             $user->add_cap(WPAM_PluginConfig::$AffiliateCap);
             $message .= __('Log into the site with your existing account and get started.', 'wpam') . "\r\n";
             $userId = $user->ID;
         }
     } else {
         //user not found by email address as username and no account with that email address exists
         //create new user using email address as username
         $userPass = wp_generate_password();
         $userId = wp_create_user($userLogin, $userPass, $userEmail);
         if (is_wp_error($userId)) {
             throw new Exception($userId->get_error_message());
         }
         //$mailer->mailNewAffiliate( $userId, $userPass );
         $mailer->mailNewApproveAffiliate($userId, $userPass);
         $sendEmail = false;
         $user = new WP_User($userId);
         $user->add_cap(WPAM_PluginConfig::$AffiliateCap);
     }
     $affiliate->activate();
     $affiliate->userId = $userId;
     if (isset($bountyType) && !empty($bountyType)) {
         $affiliate->bountyType = $bountyType;
     } else {
         $affiliate->bountyType = get_option(WPAM_PluginConfig::$AffBountyType);
     }
     if (isset($bountyAmount) && !empty($bountyAmount)) {
         $affiliate->bountyAmount = $bountyAmount;
     } else {
         $affiliate->bountyAmount = get_option(WPAM_PluginConfig::$AffBountyAmount);
     }
     $id = $db->getAffiliateRepository()->insert($affiliate);
     if ($id == 0) {
         if (WPAM_DEBUG) {
             echo '<pre>', var_export($model, true), '</pre>';
         }
         wp_die(__('Error submitting your details to the database. This is a bug, and your application was not submitted.', 'wpam'));
     }
     //Notify admin that affiliate has registered
     $admin_message = sprintf(__('New affiliate registration on your site %s:', 'wpam'), $blogname) . "\r\n\r\n";
     $admin_message .= sprintf(__('Name: %s %s', 'wpam'), $affiliate->firstName, $affiliate->lastName) . "\r\n";
     $admin_message .= sprintf(__('Email: %s', 'wpam'), $affiliate->email) . "\r\n";
     $admin_message .= sprintf(__('Company: %s', 'wpam'), $affiliate->companyName) . "\r\n";
     $admin_message .= sprintf(__('Website: %s', 'wpam'), $affiliate->websiteUrl) . "\r\n\r\n";
     $admin_message .= sprintf(__('View Application: %s', 'wpam'), admin_url('admin.php?page=wpam-affiliates&viewDetail=' . $id)) . "\r\n";
     $mailer->mailAffiliate(get_option('admin_email'), __('New Affiliate Registration', 'wpam'), $admin_message);
     //Send user email indicating they're approved
     if ($sendEmail) {
         $mailer->mailAffiliate($userEmail, sprintf(__('Affiliate Application for %s', 'wpam'), $blogname), $message);
     }
 }
 protected function confirmAffiliate($affiliate, $request)
 {
     $affiliate->confirm();
     if ($request['ddPaymentMethod'] === 'paypal') {
         $affiliate->setPaypalPaymentMethod($request['txtPaypalEmail']);
     } else {
         if ($request['ddPaymentMethod'] === 'check') {
             $affiliate->setCheckPaymentMethod($request['txtCheckTo']);
         }
     }
     $db = new WPAM_Data_DataAccess();
     $db->getAffiliateRepository()->update($affiliate);
 }
 public function addTransaction($affiliateId, $type, $amount, $description = NULL)
 {
     if (!wp_get_current_user()->has_cap(WPAM_PluginConfig::$AdminCap)) {
         throw new Exception(__('Access denied.', 'affiliates-manager'));
     }
     if (!in_array($type, array('credit', 'payout', 'adjustment'))) {
         throw new Exception(__('Invalid transaction type.', 'affiliates-manager'));
     }
     if (!is_numeric($amount)) {
         throw new Exception(__('Invalid value for amount.', 'affiliates-manager'));
     }
     $db = new WPAM_Data_DataAccess();
     if (!$db->getAffiliateRepository()->exists($affiliateId)) {
         throw new Exception(__('Invalid affiliate', 'affiliates-manager'));
     }
     $transaction = new WPAM_Data_Models_TransactionModel();
     $transaction->type = $type;
     $transaction->affiliateId = $affiliateId;
     $transaction->amount = $amount;
     $transaction->dateCreated = time();
     $transaction->description = $description;
     $db->getTransactionRepository()->insert($transaction);
     return new JsonResponse(JsonResponse::STATUS_OK);
 }
Ejemplo n.º 10
0
 public function filterUserEmail($email)
 {
     $user = wp_get_current_user();
     $newEmail = get_option($user->ID . '_new_email');
     if (!empty($newEmail) && isset($_GET['newuseremail'])) {
         $db = new WPAM_Data_DataAccess();
         $affiliate = $db->getAffiliateRepository()->loadByUserId($user->ID);
         $affiliate->email = $email;
         $db->getAffiliateRepository()->update($affiliate);
     }
     return $email;
 }
 public function isEmailInUse($value)
 {
     $db = new WPAM_Data_DataAccess();
     $affRepo = $db->getAffiliateRepository();
     return !$affRepo->existsBy(array('email' => $value, 'status' => array('!=', 'declined')));
 }
 public function handleImpression($request)
 {
     $strRefKey = NULL;
     if (isset($request[WPAM_PluginConfig::$RefKey])) {
         $strRefKey = $request[WPAM_PluginConfig::$RefKey];
     } else {
         throw new Exception(__('no refkey in request.', 'wpam'));
     }
     $refKey = new WPAM_Tracking_TrackingKey();
     $refKey->unpack($strRefKey);
     $db = new WPAM_Data_DataAccess();
     $affiliateRepos = $db->getAffiliateRepository();
     $affiliateId = $affiliateRepos->getAffiliateIdFromRefKey($refKey->getAffiliateRefKey());
     if ($affiliateId === NULL) {
         throw new Exception(__('invalid refkey data: ', 'wpam') . $strRefKey);
     }
     $impressionModel = new WPAM_Data_Models_ImpressionModel();
     $impressionModel->dateCreated = time();
     $impressionModel->sourceAffiliateId = $affiliateId;
     $impressionModel->sourceCreativeId = $refKey->getCreativeId();
     $impressionModel->referer = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : NULL;
     if (isset($request['wpam_affiliateSubCode'])) {
         $impressionModel->affiliateSubCode = $request['wpam_affiliateSubCode'];
     }
     $db->getImpressionRepository()->insert($impressionModel);
 }
 private function processSelectAffiliatesRequest($request)
 {
     $db = new WPAM_Data_DataAccess();
     $aff_db = $db->getAffiliateRepository();
     $response = new WPAM_Pages_TemplateResponse('admin/paypalpayments/select_affiliates');
     $where = array('paymentMethod' => 'paypal');
     $affiliateHelper = new WPAM_Util_AffiliateFormHelper();
     $affiliateHelper->addTransactionDateRange($where, $request, $response);
     $response->viewData['affiliates'] = $aff_db->loadAffiliateSummary($where, '0.01', array('balance' => 'desc'));
     $response->viewData['notShownCount'] = $aff_db->count(array('paymentMethod' => array('!=', 'paypal'), 'status' => array('IN', array('active', 'inactive'))));
     $response->viewData['minPayout'] = get_option(WPAM_PluginConfig::$MinPayoutAmountOption);
     return $response;
 }
    $alink_email = '';
    if($record_found){
        $aid = $affiliate->affiliateId;
        $alink_id = add_query_arg( array( WPAM_PluginConfig::$RefKey => $aid ), home_url('/') );
        $aemail = $affiliate->email;
        $alink_email = add_query_arg( array( WPAM_PluginConfig::$RefKey => $aemail ), home_url('/') );
        $trackingKey = new WPAM_Tracking_TrackingKey();
        $trackingKey->setAffiliateRefKey($affiliate->uniqueRefKey);
        $trackingKey->setCreativeId($creative->creativeId);
        $alink = add_query_arg( array( WPAM_PluginConfig::$RefKey => $trackingKey->pack() ), home_url('/') );
    }
    ****/
$db = new WPAM_Data_DataAccess();
$currentUser = wp_get_current_user();
$alink_id = '';
$affiliateRepos = $db->getAffiliateRepository();
$affiliate = $affiliateRepos->loadBy(array('userId' => $currentUser->ID, 'status' => 'active'));
if ($affiliate === NULL) {
    //affiliate with this WP User ID does not exist
} else {
    $alink_id = add_query_arg(array(WPAM_PluginConfig::$wpam_id => $affiliate->affiliateId), home_url('/'));
}
?>

    <div class="wrap">
        <?php 
if (!empty($alink_id)) {
    ?>
        <h3><?php 
    _e('Your Affiliate Link Using Affiliate ID', 'affiliates-manager');
    ?>
 public function processRequest($request)
 {
     $db = new WPAM_Data_DataAccess();
     if (isset($request['viewDetail']) && is_numeric($request['viewDetail'])) {
         $affiliateFields = $db->getAffiliateFieldRepository()->loadMultipleBy(array('enabled' => true), array('order' => 'asc'));
         $id = (int) $request['viewDetail'];
         $model = $db->getAffiliateRepository()->load($id);
         if ($model == null) {
             wp_die("Invalid affiliate ID.");
         }
         if (isset($request['action']) && $request['action'] == 'saveInfo') {
             $validator = new WPAM_Validation_Validator();
             //validate bounty type & amount if they're in the appropriate status
             if (!$model->isPending() && !$model->isBlocked() && !$model->isDeclined()) {
                 $validator->addValidator('ddBountyType', new WPAM_Validation_SetValidator(array('fixed', 'percent')));
                 if ($request['ddBountyType'] === 'fixed') {
                     $validator->addValidator('txtBountyAmount', new WPAM_Validation_MoneyValidator());
                 } else {
                     if ($request['ddBountyType'] === 'percent') {
                         $validator->addValidator('txtBountyAmount', new WPAM_Validation_NumberValidator());
                     }
                 }
                 $validator->addValidator('ddPaymentMethod', new WPAM_Validation_SetValidator(array('check', 'paypal')));
                 if ($request['ddPaymentMethod'] === 'paypal') {
                     $validator->addValidator('txtPaypalEmail', new WPAM_Validation_EmailValidator());
                 }
             }
             $affiliateHelper = new WPAM_Util_AffiliateFormHelper();
             $vr = $affiliateHelper->validateForm($validator, $request, $affiliateFields, TRUE);
             if ($vr->getIsValid()) {
                 $affiliateHelper->setModelFromForm($model, $affiliateFields, $request);
                 $affiliateHelper->setPaymentFromForm($model, $request);
                 $db->getAffiliateRepository()->update($model);
             } else {
                 return $this->getDetailForm($affiliateFields, $model, $request, $vr);
             }
         }
         return $this->getDetailForm($affiliateFields, $model, $request);
     } else {
         if (isset($_GET['orderby'])) {
             $current_orderby = $_GET['orderby'];
         } else {
             $current_orderby = 'affiliateId';
         }
         if (isset($_GET['order']) && 'desc' == $_GET['order']) {
             $current_order = 'desc';
         } else {
             $current_order = 'asc';
         }
         $orderBy = array($current_orderby => $current_order);
         $filterWhere = array();
         $minPayout = NULL;
         if (!isset($request['statusFilter'])) {
             $request['statusFilter'] = 'all_active';
         }
         if ($request['statusFilter'] !== 'all') {
             switch ($request['statusFilter']) {
                 case 'all_active':
                     $filterWhere['status'] = array('NOT IN', array('declined', 'blocked', 'inactive'));
                     break;
                 case 'all':
                     break;
                 case 'active':
                 case 'applied':
                 case 'approved':
                 case 'confirmed':
                 case 'declined':
                 case 'blocked':
                 case 'inactive':
                     $filterWhere['status'] = $request['statusFilter'];
                 default:
                     break;
             }
         }
         if (isset($request['overPayout']) && $request['overPayout'] === 'true') {
             $minPayout = get_option(WPAM_PluginConfig::$MinPayoutAmountOption);
         }
         $models = $db->getAffiliateRepository()->loadAffiliateSummary($filterWhere, $minPayout, $orderBy);
         $response = new WPAM_Pages_TemplateResponse('admin/affiliates_list');
         $response->viewData['minPayoutAmount'] = get_option(WPAM_PluginConfig::$MinPayoutAmountOption);
         $response->viewData['affiliates'] = $models;
         $response->viewData['request'] = $request;
         $response->viewData['statusFilters'] = array('all_active' => __('All Active', 'wpam'), 'all' => __('All (Including Closed)', 'wpam'), '---' => '---', 'active' => __('Status: Active', 'wpam'), 'applied' => __('Status: Applied', 'wpam'), 'approved' => __('Status: Approved', 'wpam'), 'confirmed' => __('Status: Confirmed', 'wpam'), 'declined' => __('Status: Declined', 'wpam'), 'blocked' => __('Status: Blocked', 'wpam'), 'inactive' => __('Status: Inactive', 'wpam'));
         $response->viewData['current_orderby'] = $current_orderby;
         $response->viewData['current_order'] = $current_order;
     }
     return $response;
 }