$niveau = (isset($_POST['f_niveau'])) ? Clean::entier($_POST['f_niveau']) : 0;
$ref    = (isset($_POST['f_ref']))    ? Clean::ref($_POST['f_ref'])       : '';
$nom    = (isset($_POST['f_nom']))    ? Clean::texte($_POST['f_nom'])     : '';

// ////////////////////////////////////////////////////////////////////////////////////////////////////
// Ajouter une nouvelle classe
// ////////////////////////////////////////////////////////////////////////////////////////////////////
if( ($action=='ajouter') && $niveau && $ref && $nom )
{
  // Vérifier que la référence de la classe est disponible
  if( DB_STRUCTURE_ADMINISTRATEUR::DB_tester_classe_reference($ref) )
  {
    exit('Erreur : référence de classe déjà existante !');
  }
  // Insérer l'enregistrement
  $groupe_id = DB_STRUCTURE_ADMINISTRATEUR::DB_ajouter_groupe_par_admin('classe',$ref,$nom,$niveau);
  // Afficher le retour
  echo'<tr id="id_'.$groupe_id.'" class="new">';
  echo  '<td>{{NIVEAU_NOM}}</td>';
  echo  '<td>'.html($ref).'</td>';
  echo  '<td>'.html($nom).'</td>';
  echo  '<td class="nu">';
  echo    '<q class="modifier" title="Modifier cette classe."></q>';
  echo    '<q class="supprimer" title="Supprimer cette classe."></q>';
  echo  '</td>';
  echo'</tr>';
}

// ////////////////////////////////////////////////////////////////////////////////////////////////////
// Modifier une classe existante
// ////////////////////////////////////////////////////////////////////////////////////////////////////
$tab_add = array();
$tab_tmp = !empty($_POST['f_add']) ? explode(',', $_POST['f_add']) : array();
if (count($tab_tmp)) {
    foreach ($tab_tmp as $add_infos) {
        list($i, $niv, $ref, $nom) = explode(']¤[', $add_infos);
        $tab_add[$i]['ref'] = Clean::ref($ref);
        $tab_add[$i]['nom'] = Clean::texte($nom);
        $tab_add[$i]['niv'] = Clean::entier($niv);
    }
}
// Ajouter des classes éventuelles
$nb_add = 0;
if (count($tab_add)) {
    foreach ($tab_add as $i => $tab) {
        if ($tab['ref'] && $tab['nom'] && $tab['niv']) {
            $classe_id = DB_STRUCTURE_ADMINISTRATEUR::DB_ajouter_groupe_par_admin('classe', $tab['ref'], $tab['nom'], $tab['niv']);
            $nb_add++;
            $tab_i_classe_TO_id_base[$i] = (int) $classe_id;
        }
    }
}
// Supprimer des classes éventuelles
$nb_del = 0;
$notification_contenu = '';
if (count($tab_del)) {
    $notification_intro = date('d-m-Y H:i:s') . ' ' . $_SESSION['USER_PRENOM'] . ' ' . $_SESSION['USER_NOM'];
    foreach ($tab_del as $groupe_id) {
        if ($groupe_id) {
            DB_STRUCTURE_ADMINISTRATEUR::DB_supprimer_groupe_par_admin($groupe_id, 'classe', TRUE);
            $nb_del++;
            // Log de l'action