function make_cache($type, $from, $to, $cache_time, $rewrite = false) { $hour_key = date('H', $from); // Кэш дневной ленты переходов $params = array('type' => 'basic', 'part' => 'hour', 'filter' => array(), 'group_by' => $type, 'subgroup_by' => $type, 'conv' => 'all', 'mode' => '', 'col' => 'sale_lead', 'from' => date('Y-m-d H:i:s', $from), 'to' => date('Y-m-d H:i:s', $to), 'cache' => 2); $arr_report_data = get_clicks_report_grouped2($params); /* dmp($params); dmp($arr_report_data); die();*/ $str = join('', $arr_report_data['click_params']) . join('', $arr_report_data['campaign_params']); echo $str . '<br />'; if (empty($arr_report_data['data'])) { return false; } foreach ($arr_report_data['data'] as $k => $v) { $r = $v[$hour_key]; $ins = array('type' => $type, 'id' => $r['id'], 'time' => $cache_time, 'name' => $r['name'], 'price' => $r['price'], 'unique' => $r['unique'], 'income' => $r['income'], 'direct' => $r['direct'], 'sale' => $r['sale'], 'lead' => $r['lead'], 'act' => $r['act'], 'out' => $r['out'], 'cnt' => $r['cnt'], 'sale_lead' => $r['sale_lead'], 'rebuild' => 0, 'params' => bindec($str)); $q = insertsql($ins, 'tbl_clicks_cache_hour', true); echo $q . '<br />'; db_query($q); } if ($rewrite) { $q = "update `tbl_clicks_cache_hour` set `rebuild` = '0' where `time` = '" . $cache_time . "'"; db_query($q); } return true; }
$assign['arr_dates'] = $report['dates']; //click_params // Заголовок отчета echo tpx('report_name', $assign); // Фильтры //echo tpx('report_conv', $assign); // Фильтры echo tpx('report_groups', $assign); // Таблица отчета echo tpx('report_table', $assign); // Если в Отчете по переходам выбран разрез Источник, то выводим таблицу Целевые страницы, добавляем к ней столбец Целевая страница и делаем источники кликабельными. //if(in_array($params['group_by'], array('source_name', 'ads_name', 'campaign_name', 'referer', 'country'))) { $params['where'] = ''; $params['mode'] = 'lp'; $assign['report_params'] = $params; $report_lp = get_clicks_report_grouped2($params); $assign['arr_report_data'] = $report_lp['data']; if (!empty($report_lp['data'])) { echo '<div class="col-sm-9"><h3>Целевые страницы</h3></div>'; // Таблица отчета echo tpx('report_table', $assign); } // Возвращаем режим на место, иначе кнопки внизу будут вести на этот тип отчёта $params['mode'] = $assign['report_params']['mode'] = ''; //} } break; case 'all_stats': if ($from == '') { if ($to == '') { $from = get_current_day('-6 days');
<style> .sortdata { display: none; } </style> <?php $date = rq('date', 4, get_current_day()); $hour = rq('hour', 2); $prev_date = date('Y-m-d', strtotime('-1 days', strtotime($date))); $next_date = date('Y-m-d', strtotime('+1 days', strtotime($date))); // Кнопки панели управления $group_actions = array('act' => array('cnt_act', 'conversion_a', 'roi', 'epc', 'profit'), 'sale' => array('cnt_sale', 'conversion', 'roi', 'epc', 'profit'), 'lead' => array('cnt_lead', 'conversion_l', 'cpl')); $main_type = rq('report_type', 0, 'source_name'); $limited_to = ''; $params = array('type' => 'basic', 'part' => 'hour', 'filter' => array(), 'group_by' => $main_type, 'subgroup_by' => $main_type, 'conv' => 'all', 'mode' => '', 'col' => 'sale_lead', 'from' => $date, 'to' => $date); $arr_report_data = get_clicks_report_grouped2($params); /********/ $arr_hourly = array(); foreach ($arr_report_data['data'] as $row_name => $row_data) { foreach ($row_data as $cur_hour => $data) { $arr_hourly[$row_name][$cur_hour] = get_clicks_report_element2($data, true, false, $group_actions); } } echo "<div class='row'>"; echo "<div class='col-md-12'>"; echo "<p align=center>"; if ($date != get_current_day()) { echo "<a style='float:right;' href='?date={$next_date}&report_type={$main_type}'>" . mysqldate2string($next_date) . " →</a>"; } else { echo "<a style='float:right; visibility:hidden;' href='?date={$next_date}&report_type={$main_type}'>" . mysqldate2string($next_date) . " →</a>"; }