function param_val($row, $type, $source_name = '') { global $group_types, $source_config; static $outs = array(); static $links = array(); $name = ''; if (is_array($row)) { $v = $row[$type]; $source_name = $row['source_name']; } else { $v = $row; } // Ссылка "Другие" для площадок и пользовательских параметров if (is_other_link($v, $type)) { $name = 'Другие'; } else { if ($type == 'referer') { if (substr($v, 0, 4) == 'http' or strstr($v, '/') !== false) { $name = parse_url($v); $name = $name['host']; } else { $name = $v; } } elseif ($type == 'source_name') { if ($v == 'source' or $v == 'SOURCE') { // значение по умолчанию $name = ''; } else { $name = empty($source_config[$v]['name']) ? $v : $source_config[$v]['name']; } } elseif ($type == 'ads_name') { if ($v != '') { $name = is_array($row) ? $row['campaign_name'] . '-' . $row['ads_name'] : $row; } } elseif ($type == 'out_id') { if (isset($outs[$v])) { $name = $outs[$v]; } else { $name = current(get_out_description($v)); $outs[$v] = $name; } } elseif ($type == 'rule_id') { if (isset($links[$v])) { $name = $links[$v]; } else { $name = get_rule_description($v); $links[$v] = $name; } } else { // Специальные поля, определённые для источника в виде списка if (!empty($source_config[$source_name]['params']) and strstr($type, 'click_param_value') !== false) { $n = intval(str_replace('click_param_value', '', $type)); $i = 1; foreach ($source_config[$source_name]['params'] as $param) { if ($i == $n and !empty($param['list'][$v])) { $name = str_replace(' ', ' ', $param['list'][$v]); return $name; } $i++; } $name = $v; } else { $name = $v; } } } if (trim($name) == '' or $name == '{empty}' or $type == 'campaign_name' and $name == 'campaign' or $type == 'ads_name' and $name == 'campaign-ads') { $name = $group_types[$type][1]; } return $name; }
$icon_tablet = 'phone'; } elseif ($row['is_tablet'] == 1) { $icon_tablet = 'tablet'; } else { $icon_tablet = ''; } // Источник $source_name = empty($source_config[$row['source_name']]['name']) ? $row['source_name'] : $source_config[$row['source_name']]['name']; if ($row['source_name'] == 'source') { $source_name = '—'; } $rule_decs = get_rule_description($row['rule_id']); // Ссылка $date_url = (isset($_REQUEST['date']) and preg_match('/^\\d{4}-\\d{2}-\\d{2}$/', $_REQUEST['date'])) ? '&date=' . $_REQUEST['date'] : ''; if ($row['out_id'] > 0) { $out_text = "<a href='?filter_by=out_id&value={$row['out_id']}{$date_url}'>" . _e(current(get_out_description($row['out_id']))) . "</a>"; } else { $out_text = "Не определён"; } // Адрес $arr_locations = array(); if ($row['country'] != '') { $arr_locations[] = $row['country']; } if ($row['state'] != '') { $arr_locations[] = $row['state']; } if ($row['city'] != '') { $arr_locations[] = $row['city']; } $str_location = implode(', ', $arr_locations);
} if (!isset($data[$k])) { $data[$k] = array('id' => $r['out_id'], 'name' => $r['name'], 'price' => 0, 'unique' => 0, 'income' => 0, 'sale' => 0, 'out' => 0, 'cnt' => 0); } $data[$k]['cnt'] += $r['cnt']; $data[$k]['price'] += $r['click_price']; $data[$k]['unique'] += $r['is_unique']; $data[$k]['income'] += $r['conversion_price_main']; $data[$k]['sale'] += $r['is_sale']; $data[$k]['out'] += $r['out']; } $fromF = date('d.m.Y', strtotime($from)); $toF = date('d.m.Y', strtotime($to)); $value_date_range = "{$fromF} - {$toF}"; if ($limited_to) { $report_name = 'Переходы на ' . current(get_out_description($limited_to)) . ' за'; $report_name_tag = 'h5'; } else { $report_name = 'Переходы на целевые страницы за'; $report_name_tag = 'h3'; } // Выбор даты echo '<form method="post" name="datachangeform" id="range_form"> <div id="per_day_range" class="pull-right" style="margin-top:0px; margin-bottom:10px;"> <span class="glyphicon glyphicon-calendar"></span> <span id="cur_day_range">' . date('d.m.Y', strtotime($from)) . ' - ' . date('d.m.Y', strtotime($to)) . '</span> <b class="caret"></b> <input type="hidden" name="from" id="sStart" value=""> <input type="hidden" name="to" id="sEnd" value=""> </div> <div><' . $report_name_tag . '>' . _e($report_name) . '</' . $report_name_tag . '></div>