$source = 'source'; */ // Прямая ссылка без редиректа! //$source == 'landing' or if ($direct) { list($out_id, $lnk) = get_first_rule_link($rule_id); } else { $lnk = tracklink() . '/' . $name . '/'; } if (array_key_exists($source, $source_config)) { if ($source != 'landing' and !$direct) { $lnk .= $source . '/campaign-ads/'; } if ($direct) { $source_text = $source == 'landing' ? 'source' : $source; $lnk .= (strstr($lnk, '?') === false ? '?' : '&') . 'utm_source=' . $source_text . '&rule_name=' . onlyword($name); // это безопасно потому что мы проверили наличие $source в нашем $source_config //. '&out_id=' . intval($out_id) } if ($source != 'source' and !empty($source_config[$source]['params'])) { $tmp = array(); foreach ($source_config[$source]['params'] as $param_name => $param_value) { if (empty($param_value['url']) or strstr($lnk, $param_value['url']) !== false) { continue; } $tmp[] = $param_name . '=' . $param_value['url']; } if (count($tmp) > 0) { $lnk .= (strstr($lnk, '?') === false ? '?' : '&') . join('&', $tmp); } }
$geo_data = get_geodata($ip); $cur_country = $geo_data['country']; $cur_state = $geo_data['state']; $cur_city = $geo_data['city']; $isp = $geo_data['isp']; // User language $user_lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2); // User-agent $str .= remove_tab($_SERVER['HTTP_USER_AGENT']) . "\t"; // 3 Referer $str .= remove_tab($_GET['referrer']) . "\t"; // 4 Link name $link_name = empty($_GET['rule_name']) ? '' : onlyword($_GET['rule_name']); $str .= $link_name . "\t"; // 5 Link source $link_source = empty($_GET['utm_source']) ? 'landing' : onlyword($_GET['utm_source']); $str .= $link_source . "\t"; // 6 Link ads name $link_ads_name = empty($_GET['utm_campaign']) ? 'landing' : $_GET['utm_campaign']; $str .= $link_ads_name . "\t"; // Subid $subid = date("YmdHis") . 'x' . sprintf("%05d", rand(0, 99999)); $str .= $subid . "\t"; // Subaccount $str .= $subid . "\t"; $out_id = empty($_GET['out_id']) ? 0 : intval($_GET['out_id']); $rule_id = empty($_GET['rule_id']) ? '' : intval($_GET['rule_id']); // Если id оффера не определен - берем первый из правила if ($out_id == 0) { $rules = get_rules($link_name); if ($rules and is_array($rules)) {