*/
paginaPresidenziale(null, null, APP_OBIETTIVO, OBIETTIVO_1);
controllaParametri(['id', 'direttori'], 'admin.corsi.crea&err');
$c = $direttore = null;
try {
    $c = Corso::id(intval($_POST['id']));
    if (!$c->modificabile()) {
        redirect('formazione.corsi.riepilogo&id=' . $c->id . '&err=1');
    }
    $direttore = Volontario::id(intval($_POST['direttori']));
    if (empty($c) || empty($direttore)) {
        throw new Exception('Manomissione');
    }
} catch (Exception $e) {
    redirect('admin.corsi.crea&err');
}
$c->direttore = $direttore->id;
$c->aggiornaStato();
$partecipazione = new PartecipazioneCorso();
$partecipazione->aggiungi($c, $direttore, CORSO_RUOLO_DIRETTORE);
if (!empty($_POST['wizard'])) {
    $tipoCorso = TipoCorso::id($c->tipo);
    if ($tipoCorso->giorni > 1) {
        redirect('formazione.corsi.lezioni&id=' . $c->id . '&wizard=1');
        die;
    } else {
        redirect('formazione.corsi.docenti&id=' . $c->id . '&wizard=1');
        die;
    }
}
redirect('formazione.corsi.riepilogo&id=' . $c->id);
                // se il nuovo è anche tra i vecchi, lo toglie dalla lista di quelli da eliminare
                unset($daEliminare[$d]);
            } else {
                // se il nuovo non è tra i vecchi, lo aggiunge dalla lista di quelli da aggiungere
                $daAggiungere[$d] = true;
            }
        }
        $daAggiungere = array_keys($daAggiungere);
        $daEliminare = array_keys($daEliminare);
        foreach ($daEliminare as $d) {
            PartecipazioneCorso::id($d)->cancella();
        }
        foreach ($daAggiungere as $d) {
            $docente = Volontario::id($d);
            // aggiungere verifica del fatto che sia effettivamente un docente
            $part = new PartecipazioneCorso();
            $part->aggiungi($c, $docente, CORSO_RUOLO_DOCENTE);
        }
    } else {
        throw new Exception('Manomissione');
    }
    $c->aggiornaStato();
} catch (Exception $e) {
    die($e->getMessage());
    redirect('admin.corsi.crea&err');
}
if (!empty($_POST['wizard'])) {
    redirect('formazione.corsi.affiancamenti&id=' . $c->id . '&wizard=1');
    die;
}
redirect('formazione.corsi.riepilogo&id=' . $c->id);
                unset($daEliminare[$id]);
            } else {
                // se il nuovo non è tra i vecchi, lo aggiunge dalla lista di quelli da aggiungere
                $daAggiungere[$id] = true;
            }
        }
        $daAggiungere = array_keys($daAggiungere);
        $daEliminare = array_keys($daEliminare);
        /*
        var_dump($c);
        var_dump($_POST);
        var_dump($discenti);
        var_dump($daAggiungere);
        var_dump($daEliminare);
        die;
        */
        foreach ($daEliminare as $id) {
            PartecipazioneCorso::id($id)->cancella();
        }
        foreach ($daAggiungere as $id) {
            $discente = Volontario::id($id);
            // aggiungere verifica del fatto che sia effettivamente un istruttore
            $part = new PartecipazioneCorso();
            $part->aggiungi($c, $discente, CORSO_RUOLO_DISCENTE);
        }
    }
    $c->aggiornaStato();
} catch (Exception $e) {
    redirect('admin.corsi.crea&err');
}
redirect('formazione.corsi.riepilogo&id=' . $c->id);
                    unset($daEliminare[$id]);
                } else {
                    // se il nuovo non è tra i vecchi, lo aggiunge dalla lista di quelli da aggiungere
                    $daAggiungere[$id] = true;
                }
            }
            $daAggiungere = array_keys($daAggiungere);
            $daEliminare = array_keys($daEliminare);
            foreach ($daEliminare as $id) {
                PartecipazioneCorso::id($id)->cancella();
            }
            foreach ($daAggiungere as $id) {
                $docente = Volontario::id($id);
                // aggiungere verifica del fatto che sia effettivamente un docente
                $part = new PartecipazioneCorso();
                $part->aggiungi($c, $docente, CORSO_RUOLO_AFFIANCAMENTO);
            }
        } else {
            throw new Exception('Manomissione');
        }
        $c->aggiornaStato();
    }
} catch (Exception $e) {
    die($e->getMessage());
    redirect('admin.corsi.crea&err');
}
if (!empty($_POST['wizard'])) {
    redirect('formazione.corsi.discenti&id=' . $c->id . '&wizard=1');
    die;
}
redirect('formazione.corsi.riepilogo&id=' . $c->id);
} catch (Exception $e) {
    redirect('admin.corsi.crea&err');
}
if (!empty($_GET['err']) && is_int($_GET['err'])) {
    if (!empty($conf['errori_corsi'][$_GET['err']])) {
        $err = $conf['errori_corsi'][$_GET['err']];
    } else {
        $err = 'errore sconosciuto';
    }
}
global $db;
$db->beginTransaction();
try {
    $l = new GiornataCorso();
    $l->corso = $id;
    $l->nome = normalizzaNome($_POST['nome']);
    $data = DT::createFromFormat('d/m/Y H:i', $_POST["data"]);
    $l->data = $data->getTimestamp();
    $l->luogo = normalizzaNome($_POST['luogo']);
    $l->note = addslashes($_POST['note']);
    $l->docente = intval($_POST['docenti'][0]);
    $docente = Volontario::id(intval($_POST['docenti'][0]));
    $part = new PartecipazioneCorso();
    $part->aggiungi(Corso::id($id), $docente, CORSO_RUOLO_DOCENTE);
    $db->commit();
} catch (Exception $e) {
    $db->rollBack();
    redirect("formazione.corsi.lezioni&id={$id}&err");
    die;
}
redirect("formazione.corsi.lezioni&id={$id}");