27a28 > $page['scripts'] = array('class.calendar.js'); 51a53,64 > 'timesince_year'=> array(T_ZBX_STR, O_OPT, P_SYS, null, null), > 'timesince_month'=> array(T_ZBX_STR, O_OPT, P_SYS, null, null), > 'timesince_day'=> array(T_ZBX_STR, O_OPT, P_SYS, null, null), > 'timesince_hour'=> array(T_ZBX_STR, O_OPT, P_SYS, null, null), > 'timesince_minute'=> array(T_ZBX_STR, O_OPT, P_SYS, null, null), > 'timetill_year'=> array(T_ZBX_STR, O_OPT, P_SYS, null, null), > 'timetill_month'=> array(T_ZBX_STR, O_OPT, P_SYS, null, null), > 'timetill_day'=> array(T_ZBX_STR, O_OPT, P_SYS, null, null), > 'timetill_hour'=> array(T_ZBX_STR, O_OPT, P_SYS, null, null), > 'timetill_minute'=> array(T_ZBX_STR, O_OPT, P_SYS, null, null), > 'filter_rst'=> array(T_ZBX_STR, O_OPT, P_SYS, null, null), > 'filter_set' => array(T_ZBX_STR, O_OPT, P_SYS, null, null), 55a69,72 > $timesince = array(); > $timetill = array(); > $interval = 0; > 73,74d89 < $period = getRequest('period', 7 * 24); < $period_end = time(); 76,99c91,128 < switch ($period) { < case 'today': < $period_start = mktime(0, 0, 0, date('n'), date('j'), date('Y')); < break; < case 'week': < $period_start = strtotime('last sunday'); < break; < case 'month': < $period_start = mktime(0, 0, 0, date('n'), 1, date('Y')); < break; < case 'last_month': < $period_end = mktime(0, 0, 0, date('n'), 1, date('Y')); < $period_start = mktime(0, 0, 0, (date('n')-1)<1?12:(date('n')-1),1, (date('n')-1)<1?(date('Y')-1):date('Y')); < break; < case 'year': < $period_start = mktime(0, 0, 0, 1, 1, date('Y')); < break; < case 24: < case 24 * 7: < case 24 * 30: < case 24 * DAY_IN_YEAR: < $period_start = $period_end - ($period * 3600); < break; < } --- > if (hasRequest('filter_rst')) { > $timesince = zbxDateToTime(time() - 7*SEC_PER_DAY); > $timetill = zbxDateToTime(time()); > } > if (!hasRequest('filter_rst')) { > $timesince = zbxDateToTime(getRequest('timesince_year', 0).getRequest('timesince_month', 0).getRequest('timesince_day', 0).getRequest('timesince_hour', 0).getRequest('timesince_minute', 0)); > $timetill = zbxDateToTime(getRequest('timetill_year', 0).getRequest('timetill_month', 0).getRequest('timetill_day', 0).getRequest('timetill_hour', 0).getRequest('timetill_minute', 0)); > if ( $timetill == $timesince ) { > $timesince = zbxDateToTime(time() - 7*SEC_PER_DAY); > $timetill = zbxDateToTime(time()); > } > } > if ($timetill > 0 && $timesince > $timetill) { > zbx_swap($timesince, $timetill); > > } > > > $period_end = $timetill; > $period_start = $timesince; > > $interval = $period_end - $period_start; > > if ($interval <=24*3600 ){ > $period='today'; > } > elseif ($interval <=7*24*3600){ > $period='week'; > } > elseif($interval <=31*24*3600){ > $period='month'; > } > elseif($interval <=365*24*3600){ > $period='year'; > } > else { > $period=24*7; > } 158a188 > $reporttimetab = new CTable(null, 'calendar'); 160,164c190,200 < $period_combo = new CComboBox('period', $period, 'javascript: submit();'); < foreach ($periods as $key => $val) { < $period_combo->addItem($key, $val); < } < $r_form->addItem(array(_('Period').SPACE, $period_combo)); --- > $timeSinceRow = createDateSelector('timesince', $timesince, 'timesince'); > array_unshift($timeSinceRow, _('From').':'.SPACE); > $reporttimetab->addRow($timeSinceRow); > > $timeTillRow = createDateSelector('timetill', $timetill, 'timetill'); > array_unshift($timeTillRow, _('Till').':'.SPACE); > $reporttimetab->addRow($timeTillRow); > > $r_form->addItem($reporttimetab); > $r_form->addItem(new CSubmit('filter_set',_('Update'))); > $r_form->addItem(new CSubmit('filter_rst',_('Reset')));