$avg30['by_u_from_c'] = $u_summary['by_u_from_c_30d'] / 30; $avg30['by_e_from_t'] = $u_summary['by_e_from_t_30d'] / 30; $avg30['by_f_from_t'] = $u_summary['by_f_from_t_30d'] / 30; $avg30['by_u_from_t'] = $u_summary['by_u_from_t_30d'] / 30; $avg30['by_e_from_o'] = $u_summary['by_e_from_o_30d'] / 30; $avg30['by_f_from_o'] = $u_summary['by_f_from_o_30d'] / 30; $avg30['by_u_from_o'] = $u_summary['by_u_from_o_30d'] / 30; $nday = date('Y-m-d', $time - 27 * (24 * 3600)); $prev27 = NULL; $pro_days = NULL; $K_wC = 0.0; // недельный искусственный прирост посещаемости "из каталога". $npcnt = 0; // сколько дней на данный момент посчитано, с использованием предшествующих прогнозов (с возвращением к $next30 в день ранее). $next30 = NULL; $coeffs = promotion::GetWeekCoeffs(); $j = 0; if ($add_from_c) { // Также как и GetProCatalogByDay() считает, что если сейчас у юзера такая специализация, // то и 27 дней назад она же и была. Не очень хорошо, но шо поделать. if ($pro_periods = promotion::GetProPeriods($u_spec, $nday, $YESTERDAY)) { foreach ($pro_periods as $pd) { $i = 0; $frtm = strtotime($pd['from']); do { $from = date('Y-m-d', $frtm + $i * 24 * 3600); $pro_days[$from] = true; } while ($from != $pd['to'] && ++$i <= 27); if ($i > 27) { break; }