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;
}
 $row_total_data = array();
 // суммирование по строкам
 $i++;
 // Первая колонка, название
 $source_name_full = param_val($source_name, $var['group_by'], $var['filter'][0]['source_name']);
 if ($var['report_params']['mode'] == 'popular') {
     $name = str_replace('Параметр перехода', 'ПП', $group_types[$source_name_full][0]);
     $name = str_replace('Параметр перехода', 'ПС', $name);
     $source_name_full = '<b><a href="' . report_lnk($var['report_params'], array('filter_str' => array_merge($var['report_params']['filter_str'], array('group_by' => _e($source_name))))) . '">' . $name . '</a></b>';
     $data['popular'] = '<a href="' . report_lnk($var['report_params'], array('filter_str' => array_merge($var['report_params']['filter_str'], array($source_name => _e($data['popular']))))) . '">' . _e(param_val($data['popular'], $source_name)) . '</a>';
     echo "<tr><td><table class=\"sparktable\"><tr><td>" . $source_name_full . "</td><td><span style='float:right; margin-left:10px;'><div id='sparkline_{$i}'></div></span></td></tr></table></td><td>" . $data['popular'] . "</td>";
 } else {
     // Ограничиваем глубину фильтров
     if (empty($var['report_params']['filter'][0]) or count($var['report_params']['filter'][0]) < 5) {
         // Ссылка "Другие"
         if (is_other_link($source_name, $var['group_by'])) {
             $lnk_arr = array('no_other' => 1);
         } else {
             $lnk_arr = array('filter_str' => array_merge($var['report_params']['filter_str'], array($var['report_params']['group_by'] => _e($source_name))));
             // Первый фильтр - переход в режим "Популярные"
             if (count($var['report_params']['filter'][0]) == 0) {
                 $lnk_arr['mode'] = 'popular';
                 $lnk_arr['group_by'] = '';
             }
         }
         $source_name_full = '<a href="' . report_lnk($var['report_params'], $lnk_arr) . '">' . _e($source_name_full) . '</a>';
     } else {
         $source_name_full = _e($source_name_full);
     }
     //echo "<tr><td><table class=\"sparktable\"><tr><td>" . $source_name_full . "</td><td><span style='float:right; margin-left:10px;'><div id='sparkline_{$i}'></div></span></td></tr></table></td>";
     echo "<tr><td>" . $source_name_full . "</td><td><span style='float:right; margin-left:10px;'><div id='sparkline_{$i}'></div></span></td>";