Example #1
0
 $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;
             }