$_rurl = $action == 'partner' ? fn_url("profiles.add?aff_id=" . $auth['user_id'], 'C', 'http') : fn_url(Registry::get('config.http_location') . '/' . Registry::get('config.customer_index') . "?aff_id={$auth['user_id']}"); $_u_data = fn_get_user_info($auth['user_id']); $_u_name = empty($_u_data['firstname']) ? '' : $_u_data['firstname']; $_u_name .= empty($_u_name) || empty($_u_data['lastname']) ? '' : ' '; $_u_name .= empty($_u_data['lastname']) ? '' : $_u_data['lastname']; $view->assign('_tout', $_tout); $view->assign('_rurl', $_rurl); $view->assign('_u_name', $_u_name); $file_content = trim($view->display('affiliate/redirect.tpl', false)); // FIX-TEMPLATE header("Content-type: text/html"); header("Content-disposition: attachment; filename={$action}.html"); echo $file_content; exit; } $affiliate_plan = fn_get_affiliate_plan_data_by_partner_id($auth['user_id']); if (!empty($affiliate_plan['plan_id'])) { $affiliate_plan['min_payment'] = floatval($affiliate_plan['min_payment']); $linked_products = array(); foreach ($affiliate_plan['product_ids'] as $prod_id => $sale) { $linked_products[$prod_id] = fn_get_product_data($prod_id, $auth); $linked_products[$prod_id]['sale'] = $sale; } $view->assign('linked_products', $linked_products); $linked_categories = array(); foreach ($affiliate_plan['category_ids'] as $cat_id => $sale) { $linked_categories[$cat_id]['category'] = fn_get_category_name($cat_id, CART_LANGUAGE); $linked_categories[$cat_id]['category_id'] = $cat_id; $linked_categories[$cat_id]['sale'] = $sale; } $view->assign('linked_categories', $linked_categories);
} $statistic_search_data['amount_from'] = empty($statistic_search_data['amount_from']) ? 0 : floatval($statistic_search_data['amount_from']); if (!empty($statistic_search_data['amount_from'])) { $statistic_conditions .= db_quote(" AND (amount >= ?d) ", fn_convert_price($statistic_search_data['amount_from'])); } $statistic_search_data['amount_to'] = empty($statistic_search_data['amount_to']) ? 0 : floatval($statistic_search_data['amount_to']); if (!empty($statistic_search_data['amount_to'])) { $statistic_conditions .= db_quote(" AND (amount <= ?d) ", fn_convert_price($statistic_search_data['amount_to'])); } $view->assign('statistic_search', $statistic_search_data); $general_stats = db_get_hash_array("SELECT action, COUNT(action) as count, SUM(amount) as sum, AVG(amount) as avg, COUNT(distinct partner_id) as partners FROM ?:aff_partner_actions as actions WHERE {$statistic_conditions} GROUP BY action", 'action'); $general_stats['total'] = db_get_row("SELECT 'total' as action, COUNT(action) as count, SUM(amount) as sum, AVG(amount) as avg, COUNT(distinct partner_id) as partners FROM ?:aff_partner_actions as actions WHERE {$statistic_conditions}"); $view->assign('general_stats', $general_stats); $additional_stats = array(); $additional_stats['click_vs_show'] = empty($general_stats['show']['count']) ? '---' : (empty($general_stats['click']['count']) ? '0' : round($general_stats['click']['count'] / $general_stats['show']['count'] * 100, 1) . '% (' . intval($general_stats['click']['count']) . '/' . intval($general_stats['show']['count']) . ')'); $additional_stats['sale_vs_click'] = empty($general_stats['click']['count']) ? '---' : (empty($general_stats['sale']['count']) ? '0' : round($general_stats['sale']['count'] / $general_stats['click']['count'] * 100, 1) . '% (' . intval($general_stats['sale']['count']) . '/' . intval($general_stats['click']['count']) . ')'); $view->assign('additional_stats', $additional_stats); $list_plans = fn_get_affiliate_plans_list(); $view->assign('list_plans', $list_plans); $view->assign('affiliate_plan', fn_get_affiliate_plan_data_by_partner_id($auth['user_id'])); $sort_order = empty($_REQUEST['sort_order']) ? 'desc' : $_REQUEST['sort_order']; $sort_by = empty($_REQUEST['sort_by']) ? 'date' : $_REQUEST['sort_by']; $list_stats = fn_get_affiliate_actions($_SESSION['statistic_conditions'], array('sort_order' => $sort_order, 'sort_by' => $sort_by), true, @$_REQUEST['page']); $view->assign('sort_order', $sort_order == 'asc' ? 'desc' : 'asc'); $view->assign('sort_by', $sort_by); if (!empty($list_stats)) { $view->assign('list_stats', $list_stats); } $order_status_descr = fn_get_statuses(STATUSES_ORDER, true, true, true); $view->assign('order_status_descr', $order_status_descr); }
function fn_affiliate_get_products(&$params, &$fields, &$sortings, &$condition, &$join) { if (!empty($params['display']) && $params['display'] == "affiliate") { $plan_data = fn_get_affiliate_plan_data_by_partner_id($_SESSION['auth']['user_id']); $condition .= db_quote(" AND (products.product_id IN(?n) OR ?:categories.category_id IN(?n)) ", array_keys($plan_data['product_ids']), array_keys($plan_data['category_ids'])); } }