Exemplo n.º 1
0
    $_REQUEST['form'] = 'clone';
} else {
    if (isset($_REQUEST['cancel_new_timeperiod'])) {
        unset($_REQUEST['new_timeperiod']);
    } else {
        if (isset($_REQUEST['save'])) {
            if (!count(get_accessible_nodes_by_user($USER_DETAILS, PERM_READ_WRITE, PERM_RES_IDS_ARRAY))) {
                access_deny();
            }
            $maintenance = array('name' => $_REQUEST['mname'], 'maintenance_type' => $_REQUEST['maintenance_type'], 'description' => $_REQUEST['description'], 'active_since' => $_REQUEST['active_since'], 'active_till' => zbx_empty($_REQUEST['active_till']) ? 0 : $_REQUEST['active_till']);
            $timeperiods = get_request('timeperiods', array());
            DBstart();
            // update available_hosts after ACTIONS
            $available_hosts = get_accessible_hosts_by_user($USER_DETAILS, PERM_READ_WRITE, PERM_RES_IDS_ARRAY, null, AVAILABLE_NOCACHE);
            if (isset($_REQUEST['maintenanceid'])) {
                delete_timeperiods_by_maintenanceid($_REQUEST['maintenanceid']);
            }
            $timeperiodids = array();
            foreach ($timeperiods as $id => $timeperiod) {
                $timeperiodid = add_timeperiod($timeperiod);
                $timeperiodids[$timeperiodid] = $timeperiodid;
            }
            if (isset($_REQUEST['maintenanceid'])) {
                $maintenanceid = $_REQUEST['maintenanceid'];
                $result = update_maintenance($maintenanceid, $maintenance);
                $msg1 = S_MAINTENANCE_UPDATED;
                $msg2 = S_CANNOT_UPDATE_MAINTENANCE;
            } else {
                $result = $maintenanceid = add_maintenance($maintenance);
                $msg1 = S_MAINTENANCE_ADDED;
                $msg2 = S_CANNOT_ADD_MAINTENANCE;
Exemplo n.º 2
0
function delete_maintenance($maintenanceids)
{
    zbx_value2array($maintenanceids);
    delete_timeperiods_by_maintenanceid($maintenanceids);
    DBexecute('DELETE FROM maintenances_hosts WHERE ' . DBcondition('maintenanceid', $maintenanceids));
    DBexecute('DELETE FROM maintenances_groups WHERE ' . DBcondition('maintenanceid', $maintenanceids));
    $result = DBexecute('DELETE FROM maintenances WHERE ' . DBcondition('maintenanceid', $maintenanceids));
    return $result;
}