Beispiel #1
0
  $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)) {