function glink($v, $li = false, $name = '') { global $group_types, $params; // Если параметр уже есть в фильтре - не показываем этот тип группировки // Для группиров ads_name убираем campaign_name тоже if (array_key_exists($v, $params['filter'][0]) or $v == 'campaign_name' and array_key_exists('ads_name', $params['filter'][0])) { return ''; } if ($li) { $class = ' class="dropdown-link"'; } else { $class = ' class="btn btn-default' . (($v == $params['group_by'] and $params['mode'] != 'popular') ? ' active' : '') . '"'; } $out = '<a href="' . report_lnk($params, array('group_by' => $v, 'mode' => $params['mode'] == 'lp_offers' ? $params['mode'] : '')) . '"' . $class . '>' . ($name == '' ? $group_types[$v][0] : $name) . '</a>'; if ($li) { $out = '<li>' . $out . '</li>'; } return $out; }
if ($r['out'] > 0) { continue; } foreach ($r as $k => $v) { $column_total_data[$k] += $v; } $group_link = $subtype == 'out_id' ? 'source_name' : 'out_id'; $name = $r['name']; // Ограничиваем глубину фильтров if (empty($var['report_params']['filter'][0]) or count($var['report_params']['filter'][0]) < 5) { $lnk_arr = array('filter_str' => array_merge($var['report_params']['filter_str'], array($var['report_params']['group_by'] => _e($r['id'])))); if (count($var['report_params']['filter'][0]) == 0) { $lnk_arr['mode'] = 'popular'; $lnk_arr['group_by'] = ''; } $name = '<a href="' . report_lnk($var['report_params'], $lnk_arr) . '">' . _e($name) . '</a>'; } else { $name = _e($name); } echo '<tr><td nowrap="" class="report-header">' . $name . '</td><td>' . $r['cnt'] . '</td><td class="col_s">' . $r['sale'] . '</td><td class="col_l">' . $r['lead'] . '</td><td class="col_a">' . $r['act'] . '</td><td class="col_s">' . t_conversion($r) . '</td><td class="col_l">' . t_conversion_l($r) . '</td><td class="col_a">' . t_conversion_a($r) . '</td><td>' . t_price($r) . '</td><td class="col_s col_a ' . pos_class($r['income'] - $r['price']) . '">' . t_profit($r) . '</td><td class="col_s">' . t_epc($r) . '</td><td class="col_s col_a">' . t_roi($r) . '</td><td class="col_l">' . t_cpl($r) . '</td></tr>'; } ?> </tbody> <tfoot> <tr><td>Итого</td><?php $r = $column_total_data; echo '<td>' . $r['cnt'] . '</td><td class="col_s">' . $r['sale'] . '</td><td class="col_l">' . $r['lead'] . '</td><td class="col_a">' . $r['act'] . '</td><td class="col_s">' . t_conversion($r) . '</td><td class="col_l">' . t_conversion_l($r) . '</td><td class="col_a">' . t_conversion_a($r) . '</td><td>' . t_price($r) . '</td><td class="col_s col_a">' . t_profit($r) . '</td><td class="col_s">' . t_epc($r) . '</td><td class="col_s col_a">' . t_roi($r) . '</td><td class="col_l">' . t_cpl($r) . '</td>'; ?> </tr> </tfoot> </table>
<?php if (!$include_flag) { exit; } if (isset($_REQUEST['act']) && $_REQUEST['act'] != 'reports') { $reports_lnk = '?act=reports&type=basic'; $reports_lnk_lp = '?act=reports&type=basic&mode=lp'; } else { $params = report_options(); $reports_lnk = report_lnk($params, array('filter_str' => array(), 'mode' => '', 'type' => 'basic', 'part' => 'all', 'col' => 'act', 'conv' => 'all', 'group_by' => 'out_id')); $reports_lnk_lp = report_lnk($params, array('filter_str' => array(), 'mode' => 'lp', 'type' => 'basic', 'part' => 'all', 'col' => 'act', 'conv' => 'all', 'group_by' => 'out_id')); } ?> <div class="sidebar-left<?php echo $menu_toggle_class; ?> "> <!-- Button sidebar left toggle --> <div class="btn-collapse-sidebar-left icon-dynamic<?php echo $menu_icon_class; ?> " data-toggle="tooltip" data-placement="bottom" title="Свернуть левое меню"></div> <ul class="sidebar-menu"<?php echo $menu_sidebar_style; ?> > <li> <a class="logo-brand" href="<?php echo _HTML_ROOT_PATH; ?>
function type_subpanel2($params, $type, $mode = '') { // Кнопки типов статистики $type_buttons = array('all' => 'Все', 'day' => 'По дням', 'month' => 'По месяцам'); $out = ''; foreach ($type_buttons as $k => $v) { $add_params = array('part' => $k, 'type' => $type, 'mode' => $mode); // Дефолтные параметры для переключения на дни и месяцы if ($k == 'month') { $add_params['from'] = date('Y-m-01', strtotime(get_current_day('-6 months'))); $add_params['to'] = date('Y-m-t', strtotime(get_current_day())); } elseif ($k == 'day' and $params['part'] == 'month') { $add_params['from'] = get_current_day('-6 days'); $add_params['to'] = get_current_day(); } echo '<li class="' . ($params['part'] == $k ? 'active' : '') . '"><a href="' . report_lnk($params, $add_params) . '">' . $v . '</a></li>'; } return $out; }
<?php if (!$include_flag) { exit; } $params = $var['report_params']; // Кнопки типов статистики $type_buttons = array('all' => 'Все', 'day' => 'По дням', 'month' => 'По месяцам'); echo '<div class="btn-group">'; foreach ($type_buttons as $k => $v) { $add_params = array('part' => $k); // Дефолтные параметры для переключения на дни и месяцы if ($k == 'month') { $add_params['from'] = date('Y-m-01', strtotime(get_current_day('-6 months'))); $add_params['to'] = date('Y-m-t', strtotime(get_current_day())); } elseif ($k == 'day' and $params['part'] == 'month') { $add_params['from'] = get_current_day('-6 days'); $add_params['to'] = get_current_day(); } echo '<a href="' . report_lnk($params, $add_params) . '" type="button" class="btn btn-default ' . ($params['part'] == $k ? 'active' : '') . '">' . $v . '</a>'; } echo '</div>';
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>"; } // Следующие колонки, данные foreach ($var['arr_dates'] as $cur_date) { stat_inc_total($cur_date, $data[$cur_date]); $arr_sparkline[$i][] = $data[$cur_date]['cnt'] + 0; echo '<td>' . get_clicks_report_element2($data[$cur_date], true, false) . '</td>'; } // Колонка Итого echo '<td>' . get_clicks_report_element2($row_total_data, false, false) . '</td></tr>'; }
list($v, $type) = explode(':', $v); $v = current(explode('|', $v)); $source_name = param_val($v, $k, $params['filter'][0]['source_name']); // Текущая ссылка if ($i == count($params['filter_str'])) { if ($params['group_by'] != '') { //echo 1; if ($params['mode'] == 'lp_offers') { echo '<li class="active">' . $source_type . '' . _e($source_name) . '</li> <li class="active">' . col_name($params) . '</a></li>'; //$group_types[$params['group_by']][0] } else { echo '<li class="active">' . $source_type . '<a href="' . report_lnk($params, array('group_by' => '', 'mode' => 'popular', 'subgroup_by' => '')) . '">' . _e($source_name) . '</a></li> <li class="active">' . col_name($params) . '</a></li>'; //$group_types[$params['group_by']][0] } } else { //echo 2; echo '<li class="active">' . $source_type . _e($source_name) . '</li>'; echo '<li class="active">Популярные</li>'; } } else { //echo 3; echo '<li class="active">' . $source_type . '<a href="' . report_lnk($params, array('filter_str' => array_slice($params['filter_str'], 0, $i))) . '">' . _e($source_name) . '</a></li>'; } $i++; } echo '</ol></div>'; } ?>
if ($params['mode'] != 'popular' and 0) { ?> data-toggle="buttons"<?php } ?> > <?php // Изначально этот фильтр позволял переключать колонки без перезагрузки страницы, потому что они они все уже были на странице. // Но с появлением режима "Популярные" появляется необходимость перезагружать страницу, а с появлением фильтров конверсии (Все, Только продажи, и.т.д.) эта необходимость переходит на все отчёты // Все действия, продажи, лиды foreach ($option_leads_type as $k => $v) { $new_params = array('col' => $k); if (in_array($params['conv'], array('sale', 'lead', 'act'))) { $new_params['conv'] = $k; } echo '<a class="btn btn-default' . ($col == $k ? ' active' : '') . '" href="' . report_lnk($params, $new_params) . '">' . $v . '</a>'; } ?> </div> <?php } ?> <div id="rt_currency_section" class="btn-group pull-right margin5rb" data-toggle="buttons"> <?php // Переключение валют foreach ($option_currency as $k => $v) { echo '<label class="btn btn-default ' . ($currency == $k ? ' active' : '') . '" onclick="update_cols(\'currency_' . $k . '\');"> <input type="radio" name="option_leads_type"> ' . $v . ' </label>'; }
//dmp($r); // Если конверсия по действию, а действий нет if (in_array($var['report_params']['conv'], array('act', 'sale', 'lead')) and $r[$var['report_params']['conv']] == 0) { continue; } $name = param_name($r['name'], $var['report_params']['filter'][0]['source_name']); $popular_str = substr(param_val($r['popular'], $k), 0, 50); // Ограничиваем глубину фильтров if (empty($var['report_params']['filter'][0]) or count($var['report_params']['filter'][0]) < 5) { $r['popular'] = '<a href="' . report_lnk($var['report_params'], array('filter_str' => array_merge($var['report_params']['filter_str'], array($r['name'] => _e($r['popular']))))) . '" title="' . _e($r['popular']) . '">' . _e($popular_str) . '</a>'; } else { $r['popular'] = _e($popular_str); } echo '<tr><td nowrap=""><b><a href="' . report_lnk($var['report_params'], array('mode' => '', 'group_by' => $r['name'])) . '">' . $name . '</a></b></td><td>' . $r['popular'] . '</td>'; } else { echo '<tr><td nowrap=""><a href="' . report_lnk($var['report_params'], array('group_by' => '', 'filter_str' => array_merge($var['report_params']['filter_str'], array($var['report_params']['group_by'] => _e($k))))) . '">' . $k . '</a></td>'; } echo '<td>' . $r['cnt'] . '</td><td>' . round3($r['cnt'] / $r['total'] * 100) . '%</td>'; if ($var['report_params']['conv'] != 'none') { echo '<td class="col_s">' . $r['sale'] . '</td><td class="col_l">' . $r['lead'] . '</td><td class="col_a">' . $r['act'] . '</td><td class="col_s">' . t_conversion($r) . '</td><td class="col_l">' . t_conversion_l($r) . '</td><td class="col_a">' . t_conversion_a($r) . '</td>'; } echo '<td>' . t_price($r) . '</td>'; if ($var['report_params']['conv'] != 'none') { echo '<td class="col_s col_a">' . t_profit($r) . '</td><td>' . t_epc($r) . '</td><td class="col_s col_a">' . t_roi($r) . '</td><td class="col_s">' . t_cps($r) . '</td><td class="col_l">' . t_cpl($r) . '</td><td class="col_a">' . t_cpa($r) . '</td>'; } echo '</tr>'; } ?> </tbody> </table> </div>
} elseif($var[$group_by_fld] == 'referer') { $name = str_replace('https://', '', $r['name']); $name = str_replace('http://', '', $name); if(substr($name, -1) == '/') $name = substr($name, 0, strlen($name)-1); if(substr($key, -1) == '/') $key = substr($key, 0, strlen($key)-1); } else { } }*/ $name = $r['name']; // Ограничиваем глубину фильтров if (empty($var['filter'][1]) or 1) { $name = '<a href="' . report_lnk($var['report_params'], array('filter_str' => array_merge($var['report_params']['filter_str'], array($var['report_params'][$group_by_fld] => _e($r['id']) . '|' . (empty($var['parent']) ? '0' : $var['parent']['id']) . ':1')))) . '">' . _e($name) . '</a>'; } else { $name = _e($name); } echo '<tr class="' . $var['class'] . '"><td class="name"><table class="sparktable"><tr><td> ' . $name . "</td><td><span style='float:right; margin-left:10px;'><div id='sparkline_" . $sparkline . "'></div></span></td></tr></table></td>"; //echo '<tr class="'.$var['class'].'"><td class="name"> ' . $name . "<span style='float:right; margin-left:10px; position: absolute'><div id='sparkline_".$sparkline."'></div></span></td>"; // Следующие колонки, данные //dmp($r); foreach ($var['arr_dates'] as $cur_date) { $row = $r[$cur_date]; // Преобразования для дневной статистики $var_sub = $var; if ($var_sub['parent'] != '') { $var_sub['parent'] = $var['parent'][$cur_date]; } $row['order'] = $r['order'];
</thead> <tbody> <?php $column_total_data = array(); foreach ($var['arr_report_data'] as $r) { foreach ($r as $k => $v) { $column_total_data[$k] += $v; } //$srch = round($r['income'] / $r['sale'], 2); //$cps = currencies_span(round2($r['price'] / $r['sale'])); $group_link = $subtype == 'out_id' ? 'source_name' : 'out_id'; $name = $r['name']; //$name = (empty($r['name'] or $r['name'] == '{empty}') ? $group_types[$group_by][1] : $r['name']); // Ограничиваем глубину фильтров if (empty($var['report_params']['filter'][0]) or count($var['report_params']['filter'][0]) < 5) { $name = '<a href="' . report_lnk($var['report_params'], array('filter_str' => array_merge($var['report_params']['filter_str'], array($var['report_params']['group_by'] => _e($r['id']))))) . '">' . _e($name) . '</a>'; } else { $name = _e($name); } echo '<tr><td nowrap="" class="report-header">' . $name . '</td><td>' . $r['cnt'] . '</td><td>' . t_repeated($r) . '</td><td>' . t_lpctr($r) . '</td><td>' . $r['out'] . '</td><td class="col_s">' . $r['sale'] . '</td><td class="col_l">' . $r['lead'] . '</td><td class="col_a">' . $r['act'] . '</td><td class="col_s">' . t_conversion($r) . '</td><td class="col_l">' . t_conversion_l($r) . '</td><td class="col_a">' . t_conversion_a($r) . '</td><td>' . t_price($r) . '</td><td class="col_s col_a ' . pos_class($r['income'] - $r['price']) . '">' . t_profit($r) . '</td><td class="col_s">' . t_epc($r) . '</td><td class="col_s">' . t_roi($r) . '</td><td class="col_s">' . t_cps($r) . '</td><td class="col_l">' . t_cpl($r) . '</td><td class="col_a">' . t_cpa($r) . '</td>' . '</tr>'; } ?> </tbody> <tfoot> <tr><td>Итого</td><?php $r = $column_total_data; echo '<td>' . $r['cnt'] . '</td><td>' . t_repeated($r) . '</td><td>' . t_lpctr($r) . '</td><td>' . $r['out'] . '</td><td class="col_s">' . $r['sale'] . '</td><td class="col_l">' . $r['lead'] . '</td><td class="col_a">' . $r['act'] . '</td><td class="col_s">' . t_conversion($r) . '</td><td class="col_l">' . t_conversion_l($r) . '</td><td class="col_a">' . t_conversion_a($r) . '</td><td>' . t_price($r) . '</td><td class="col_s col_a">' . t_profit($r) . '</td><td class="col_s">' . t_epc($r) . '</td><td class="col_s">' . t_roi($r) . '</td><td class="col_s">' . t_cps($r) . '</td><td class="col_l">' . t_cpl($r) . '</td><td class="col_a">' . t_cpa($r) . '</td>'; ?> </tr> </tfoot> </table>
<?php if (!$include_flag) { exit; } $params = $var['report_params']; // Кнопки типов статистики $type_buttons = array('all' => array('Все переходы', ''), 'sale' => array('Только продажи', 'col_s'), 'lead' => array('Только лиды', 'col_l'), 'act' => array('Только действия', 'col_a'), 'none' => array('Без конверсий', '')); echo '<div class="btn-group margin5rb" id="rt_conv_section">'; foreach ($type_buttons as $k => $v) { echo '<a href="' . report_lnk($params, array('conv' => $k)) . '" type="button" class="btn btn-default' . ($params['conv'] == $k ? ' active' : '') . ($v[1] != '' ? ' ' . $v[1] : '') . '">' . $v[0] . '</a>'; } echo '</div>';
</li> <li> <a class="dropdown-link" href="<?php echo report_lnk($var['report_params'], array('from' => date('Y-m-d', time() - 86400 * 7), 'to' => date('Y-m-d', time() - 86400))); ?> " onclick="go(this)">Последняя неделя</a> </li> <li> <a class="dropdown-link" href="<?php echo report_lnk($var['report_params'], array('from' => date('Y-m-d', time() - 86400 * 30), 'to' => date('Y-m-d', time() - 86400))); ?> " onclick="go(this)">Последний месяц</a> </li> <li> <a class="dropdown-link" href="<?php echo report_lnk($var['report_params'], array('from' => date('Y-m-d', time() - 86400 * 90), 'to' => date('Y-m-d', time() - 86400))); ?> " onclick="go(this)">Последний квартал</a> </li> <li class="dropdown-footer"> <a title="" data-original-title="" href="#" onclick="return false;" class="dropdown-link" data-popover-content="#date-range" data-toggle="range-popover">Свой интервал<i class="cpa cpa-angle-right pull-right"></i></a> </li> </ul> <?php } ?> </div> </div> <!--Popover content-->