} else {
    $toDate = zbxDateToTime($this->data['active_till']);
    $activeTill = $this->data['active_till'];
}
$maintenanceForm->addVar('active_till', $activeTill);
$maintenanceFormList->addRow(_('Active since'), createDateSelector('active_since', $fromDate, 'active_till'));
$maintenanceFormList->addRow(_('Active till'), createDateSelector('active_till', $toDate, 'active_since'));
$maintenanceFormList->addRow(_('Description'), new CTextArea('description', $this->data['description']));
/*
 * Maintenance period tab
 */
$maintenancePeriodFormList = new CFormList('maintenancePeriodFormList');
$maintenancePeriodTable = new CTable(_('No maintenance periods defined.'), 'formElementTable');
$maintenancePeriodTable->setHeader(array(_('Period type'), _('Schedule'), _('Period'), _('Action')));
foreach ($this->data['timeperiods'] as $id => $timeperiod) {
    $maintenancePeriodTable->addRow(array(new CCol(timeperiod_type2str($timeperiod['timeperiod_type']), 'nowrap'), new CCol(shedule2str($timeperiod), 'wraptext'), new CCol(zbx_date2age(0, $timeperiod['period']), 'nowrap'), new CCol(array(new CSubmit('edit_timeperiodid[' . $id . ']', _('Edit'), null, 'link_menu'), SPACE . SPACE, new CSubmit('del_timeperiodid[' . $id . ']', _('Remove'), null, 'link_menu')), 'nowrap')));
    if (isset($timeperiod['timeperiodid'])) {
        $maintenanceForm->addVar('timeperiods[' . $id . '][timeperiodid]', $timeperiod['timeperiodid']);
    }
    $maintenanceForm->addVar('timeperiods[' . $id . '][timeperiod_type]', $timeperiod['timeperiod_type']);
    $maintenanceForm->addVar('timeperiods[' . $id . '][every]', $timeperiod['every']);
    $maintenanceForm->addVar('timeperiods[' . $id . '][month]', $timeperiod['month']);
    $maintenanceForm->addVar('timeperiods[' . $id . '][dayofweek]', $timeperiod['dayofweek']);
    $maintenanceForm->addVar('timeperiods[' . $id . '][day]', $timeperiod['day']);
    $maintenanceForm->addVar('timeperiods[' . $id . '][start_time]', $timeperiod['start_time']);
    $maintenanceForm->addVar('timeperiods[' . $id . '][start_date]', $timeperiod['start_date']);
    $maintenanceForm->addVar('timeperiods[' . $id . '][period]', $timeperiod['period']);
}
$periodsDiv = new CDiv($maintenancePeriodTable, 'objectgroup inlineblock border_dotted');
if (!isset($_REQUEST['new_timeperiod'])) {
    $periodsDiv->addItem(new CSubmit('new_timeperiod', _('New'), null, 'link_menu'));
Exemplo n.º 2
0
function get_maintenance_periods()
{
    $tblPeriod = new CTableInfo();
    $tblPeriod->addOption('style', 'background-color: #CCC;');
    if (isset($_REQUEST['maintenanceid']) && !isset($_REQUEST["form_refresh"])) {
        $timeperiods = array();
        $sql = 'SELECT DISTINCT mw.maintenanceid, tp.* ' . ' FROM timeperiods tp, maintenances_windows mw ' . ' WHERE mw.maintenanceid=' . $_REQUEST['maintenanceid'] . ' AND tp.timeperiodid=mw.timeperiodid ' . ' ORDER BY tp.timeperiod_type ASC';
        $db_timeperiods = DBselect($sql);
        while ($timeperiod = DBfetch($db_timeperiods)) {
            $timeperiods[] = $timeperiod;
        }
    } else {
        $timeperiods = get_request('timeperiods', array());
    }
    $tblPeriod->SetHeader(array(new CCheckBox('all_periods', null, 'CheckAll("' . S_PERIOD . '","all_periods","g_timeperiodid");'), S_PERIOD_TYPE, S_SHEDULE, S_PERIOD, S_ACTION));
    //		zbx_rksort($timeperiods);
    foreach ($timeperiods as $id => $timeperiod) {
        $period_type = timeperiod_type2str($timeperiod['timeperiod_type']);
        $shedule_str = shedule2str($timeperiod);
        $tblPeriod->addRow(array(new CCheckBox('g_timeperiodid[]', 'no', null, $id), $period_type, new CCol($shedule_str, 'wraptext'), zbx_date2age(0, $timeperiod['period']), new CButton('edit_timeperiodid[' . $id . ']', S_EDIT)));
        $tblPeriod->addItem(new Cvar('timeperiods[' . $id . '][timeperiod_type]', $timeperiod['timeperiod_type']));
        $tblPeriod->addItem(new Cvar('timeperiods[' . $id . '][every]', $timeperiod['every']));
        $tblPeriod->addItem(new Cvar('timeperiods[' . $id . '][month]', $timeperiod['month']));
        $tblPeriod->addItem(new Cvar('timeperiods[' . $id . '][dayofweek]', $timeperiod['dayofweek']));
        $tblPeriod->addItem(new Cvar('timeperiods[' . $id . '][day]', $timeperiod['day']));
        $tblPeriod->addItem(new Cvar('timeperiods[' . $id . '][start_time]', $timeperiod['start_time']));
        $tblPeriod->addItem(new Cvar('timeperiods[' . $id . '][date]', $timeperiod['date']));
        $tblPeriod->addItem(new Cvar('timeperiods[' . $id . '][period]', $timeperiod['period']));
    }
    unset($timeperiods);
    $tblPeriodFooter = new CTableInfo(null);
    $oper_buttons = array();
    if (!isset($_REQUEST['new_timeperiod'])) {
        $oper_buttons[] = new CButton('new_timeperiod', S_NEW);
    }
    if ($tblPeriod->ItemsCount() > 0) {
        $oper_buttons[] = new CButton('del_timeperiod', S_DELETE_SELECTED);
    }
    $td = new CCol($oper_buttons);
    $td->addOption('colspan', 7);
    $td->addOption('style', 'text-align: right;');
    $tblPeriodFooter->SetFooter($td);
    // end of condition list preparation
    return array($tblPeriod, $tblPeriodFooter);
}
    $activeTill = $toYear . $toMonth . $toDay . $toHours . $toMinutes;
} else {
    $toDate = zbxDateToTime($this->data['active_till']);
    $activeTill = $this->data['active_till'];
}
$maintenanceForm->addVar('active_till', $activeTill);
$maintenanceFormList->addRow(_('Active since'), createDateSelector('active_since', $fromDate, 'active_till'));
$maintenanceFormList->addRow(_('Active till'), createDateSelector('active_till', $toDate, 'active_since'));
$maintenanceFormList->addRow(_('Description'), (new CTextArea('description', $this->data['description']))->setWidth(ZBX_TEXTAREA_STANDARD_WIDTH));
/*
 * Maintenance period tab
 */
$maintenancePeriodFormList = new CFormList('maintenancePeriodFormList');
$maintenancePeriodTable = (new CTable())->setAttribute('style', 'width: 100%;')->setHeader([_('Period type'), _('Schedule'), _('Period'), _('Action')]);
foreach ($this->data['timeperiods'] as $id => $timeperiod) {
    $maintenancePeriodTable->addRow([(new CCol(timeperiod_type2str($timeperiod['timeperiod_type'])))->addClass(ZBX_STYLE_NOWRAP), shedule2str($timeperiod), (new CCol(zbx_date2age(0, $timeperiod['period'])))->addClass(ZBX_STYLE_NOWRAP), (new CCol(new CHorList([(new CSubmit('edit_timeperiodid[' . $id . ']', _('Edit')))->addClass(ZBX_STYLE_BTN_LINK), (new CSubmit('del_timeperiodid[' . $id . ']', _('Remove')))->addClass(ZBX_STYLE_BTN_LINK)])))->addClass(ZBX_STYLE_NOWRAP)]);
    if (isset($timeperiod['timeperiodid'])) {
        $maintenanceForm->addVar('timeperiods[' . $id . '][timeperiodid]', $timeperiod['timeperiodid']);
    }
    $maintenanceForm->addVar('timeperiods[' . $id . '][timeperiod_type]', $timeperiod['timeperiod_type'])->addVar('timeperiods[' . $id . '][every]', $timeperiod['every'])->addVar('timeperiods[' . $id . '][month]', $timeperiod['month'])->addVar('timeperiods[' . $id . '][dayofweek]', $timeperiod['dayofweek'])->addVar('timeperiods[' . $id . '][day]', $timeperiod['day'])->addVar('timeperiods[' . $id . '][start_time]', $timeperiod['start_time'])->addVar('timeperiods[' . $id . '][start_date]', $timeperiod['start_date'])->addVar('timeperiods[' . $id . '][period]', $timeperiod['period']);
}
$periodsDiv = (new CDiv($maintenancePeriodTable))->addClass(ZBX_STYLE_TABLE_FORMS_SEPARATOR)->setAttribute('style', 'min-width: ' . ZBX_TEXTAREA_BIG_WIDTH . 'px;');
if (!isset($_REQUEST['new_timeperiod'])) {
    $periodsDiv->addItem((new CSubmit('new_timeperiod', _('New')))->addClass(ZBX_STYLE_BTN_LINK));
}
$maintenancePeriodFormList->addRow(_('Periods'), $periodsDiv);
if (isset($_REQUEST['new_timeperiod'])) {
    if (is_array($_REQUEST['new_timeperiod']) && isset($_REQUEST['new_timeperiod']['id'])) {
        $saveLabel = _('Update');
    } else {
        $saveLabel = _('Add');
Exemplo n.º 4
0
 // }}} MAINTENANCE FORM
 // MAINTENANCE PERIODS {{{
 $tblPeriod = new CTableInfo();
 if (isset($_REQUEST['maintenanceid']) && !isset($_REQUEST['form_refresh'])) {
     $timeperiods = array();
     $sql = 'SELECT DISTINCT mw.maintenanceid, tp.* ' . ' FROM timeperiods tp, maintenances_windows mw ' . ' WHERE mw.maintenanceid=' . $_REQUEST['maintenanceid'] . ' AND tp.timeperiodid=mw.timeperiodid ' . ' ORDER BY tp.timeperiod_type ASC';
     $db_timeperiods = DBselect($sql);
     while ($timeperiod = DBfetch($db_timeperiods)) {
         $timeperiods[] = $timeperiod;
     }
 } else {
     $timeperiods = get_request('timeperiods', array());
 }
 $tblPeriod->setHeader(array(new CCheckBox('all_periods', null, 'checkAll("' . S_PERIOD . '","all_periods","g_timeperiodid");'), S_PERIOD_TYPE, S_SCHEDULE, S_PERIOD, S_ACTION));
 foreach ($timeperiods as $id => $timeperiod) {
     $tblPeriod->addRow(array(new CCheckBox('g_timeperiodid[]', 'no', null, $id), timeperiod_type2str($timeperiod['timeperiod_type']), new CCol(shedule2str($timeperiod), 'wraptext'), zbx_date2age(0, $timeperiod['period']), new CButton('edit_timeperiodid[' . $id . ']', S_EDIT)));
     $tblPeriod->addItem(new Cvar('timeperiods[' . $id . '][timeperiod_type]', $timeperiod['timeperiod_type']));
     $tblPeriod->addItem(new Cvar('timeperiods[' . $id . '][every]', $timeperiod['every']));
     $tblPeriod->addItem(new Cvar('timeperiods[' . $id . '][month]', $timeperiod['month']));
     $tblPeriod->addItem(new Cvar('timeperiods[' . $id . '][dayofweek]', $timeperiod['dayofweek']));
     $tblPeriod->addItem(new Cvar('timeperiods[' . $id . '][day]', $timeperiod['day']));
     $tblPeriod->addItem(new Cvar('timeperiods[' . $id . '][start_time]', $timeperiod['start_time']));
     $tblPeriod->addItem(new Cvar('timeperiods[' . $id . '][start_date]', $timeperiod['start_date']));
     $tblPeriod->addItem(new Cvar('timeperiods[' . $id . '][period]', $timeperiod['period']));
 }
 $footer = array();
 if (!isset($_REQUEST['new_timeperiod'])) {
     $footer[] = new CButton('new_timeperiod', S_NEW);
 }
 if ($tblPeriod->ItemsCount() > 0) {
     $footer[] = new CButton('del_timeperiod', S_DELETE_SELECTED);
$maintenanceTillYear->setAttribute('placeholder', _('yyyy'));
$maintenanceTillHour = new CNumericBox('mntc_till_hour', $hours, 2);
$maintenanceTillHour->setAttribute('placeholder', _('hh'));
$maintenanceTillMinute = new CNumericBox('mntc_till_minute', $minutes, 2);
$maintenanceTillMinute->setAttribute('placeholder', _('mm'));
$maintenanceFormList->addRow(_('Active till'), array($maintenanceTillDay, '/', $maintenanceTillMonth, '/', $maintenanceTillYear, SPACE, $maintenanceTillHour, ':', $maintenanceTillMinute, $calendarIcon));
zbx_add_post_js('create_calendar(null, ["mntc_till_day", "mntc_till_month", "mntc_till_year", "mntc_till_hour", "mntc_till_minute"], "mntc_active_till", "active_till");');
$maintenanceFormList->addRow(_('Description'), new CTextArea('description', $this->data['description']));
/*
 * Maintenance period tab
 */
$maintenancePeriodFormList = new CFormList('maintenancePeriodFormList');
$maintenancePeriodTable = new CTableInfo(_('No maintenance period defined.'));
$maintenancePeriodTable->setHeader(array(new CCheckBox('all_periods', null, 'checkAll("' . $maintenanceForm->getName() . '", "all_periods", "g_timeperiodid");'), _('Period type'), _('Schedule'), _('Period'), _('Action')));
foreach ($this->data['timeperiods'] as $id => $timeperiod) {
    $maintenancePeriodTable->addRow(array(new CCheckBox('g_timeperiodid[]', 'no', null, $id), timeperiod_type2str($timeperiod['timeperiod_type']), new CCol(shedule2str($timeperiod), 'wraptext'), zbx_date2age(0, $timeperiod['period']), new CSubmit('edit_timeperiodid[' . $id . ']', _('Edit'), null, 'link_menu')));
    if (isset($timeperiod['timeperiodid'])) {
        $maintenanceForm->addVar('timeperiods[' . $id . '][timeperiodid]', $timeperiod['timeperiodid']);
    }
    $maintenanceForm->addVar('timeperiods[' . $id . '][timeperiod_type]', $timeperiod['timeperiod_type']);
    $maintenanceForm->addVar('timeperiods[' . $id . '][every]', $timeperiod['every']);
    $maintenanceForm->addVar('timeperiods[' . $id . '][month]', $timeperiod['month']);
    $maintenanceForm->addVar('timeperiods[' . $id . '][dayofweek]', $timeperiod['dayofweek']);
    $maintenanceForm->addVar('timeperiods[' . $id . '][day]', $timeperiod['day']);
    $maintenanceForm->addVar('timeperiods[' . $id . '][start_time]', $timeperiod['start_time']);
    $maintenanceForm->addVar('timeperiods[' . $id . '][start_date]', $timeperiod['start_date']);
    $maintenanceForm->addVar('timeperiods[' . $id . '][period]', $timeperiod['period']);
}
$maintenancePeriodFormList->addRow(_('Periods'), array($maintenancePeriodTable, new CSubmit('new_timeperiod', _('New'), null, 'link_menu'), SPACE, SPACE, new CSubmit('del_timeperiod', _('Delete selected'), null, 'link_menu')));
if (isset($_REQUEST['new_timeperiod'])) {
    $label = is_array($_REQUEST['new_timeperiod']) && isset($_REQUEST['new_timeperiod']['id']) ? _('Edit maintenance period') : _('New maintenance period');