if(!defined('SACoche')) {exit('Ce fichier ne peut être appelé directement !');}
if(($_SESSION['SESAMATH_ID']==ID_DEMO)&&($_GET['action']!='initialiser')){exit('Action désactivée pour la démo...');}

$action         = (isset($_POST['f_action']))     ? $_POST['f_action']                 : '';
$eleve_id       = (isset($_POST['f_eleve_id']))   ? Clean::entier($_POST['f_eleve_id']) : 0 ;
$tab_parents_id = (isset($_POST['f_parents_id'])) ? Clean::map_entier( explode(',','0,'.$_POST['f_parents_id']) ) : array() ; // On ajoute "0," pour que les ids soient indexés sur 1;2;3;4 ($resp_legal_num)

// ////////////////////////////////////////////////////////////////////////////////////////////////////
// Modifier la liste des parents d'un élève
// ////////////////////////////////////////////////////////////////////////////////////////////////////

if( ($action=='enregistrer_parents') && $eleve_id && (count($tab_parents_id)==5) )
{
  $tab_parents_id = array_filter($tab_parents_id,'non_zero');
  // supprimer les liens de responsabilité de l'élève concerné (il est plus simple de réinitialiser que de traiter les resp un par un puis de vérifier s'il n'en reste pas à supprimer...)
  DB_STRUCTURE_ADMINISTRATEUR::DB_supprimer_jointures_parents_for_eleves($eleve_id);
  // modifier les liens de responsabilité
  foreach($tab_parents_id as $resp_legal_num => $parent_id)
  {
    DB_STRUCTURE_ADMINISTRATEUR::DB_ajouter_jointure_parent_eleve($parent_id,$eleve_id,$resp_legal_num);
  }
  // On enbraye sur l'affichage actualisé des parents de l'élève
  $action = 'afficher_parents';
}

// ////////////////////////////////////////////////////////////////////////////////////////////////////
// Charger la liste des parents d'un élève
// ////////////////////////////////////////////////////////////////////////////////////////////////////

if( ($action=='afficher_parents') && $eleve_id )
{
// ////////////////////////////////////////////////////////////////////////////////////////////////////
// Étape 82 - Traitement des liens de responsabilités des parents (sconet_parents | base_eleves_parents | tableur_parents)
// ////////////////////////////////////////////////////////////////////////////////////////////////////
// On récupère le fichier avec des infos sur les utilisateurs : $tab_memo_analyse[$eleve_id][$parent_id] = $resp_legal_num;
$tab_memo_analyse = load_fichier('memo_analyse');
// Récupérer les éléments postés
$tab_eleve_id = array();
$tab_check = isset($_POST['f_check']) ? explode(',', $_POST['f_check']) : array();
foreach ($tab_check as $check_infos) {
    if (substr($check_infos, 0, 4) == 'mod_') {
        $eleve_id = Clean::entier(substr($check_infos, 4));
        if (isset($tab_memo_analyse[$eleve_id])) {
            $tab_eleve_id[] = $eleve_id;
        }
    }
}
$nb_modifs_eleves = count($tab_eleve_id);
if ($nb_modifs_eleves) {
    // supprimer les liens de responsabilité des élèves concernés (il est plus simple de réinitialiser que de traiter les resp un par un puis de vérifier s'il n'en reste pas à supprimer...)
    DB_STRUCTURE_ADMINISTRATEUR::DB_supprimer_jointures_parents_for_eleves(implode(',', $tab_eleve_id));
    // modifier les liens de responsabilité
    foreach ($tab_eleve_id as $eleve_id) {
        foreach ($tab_memo_analyse[$eleve_id] as $parent_id => $resp_legal_num) {
            DB_STRUCTURE_ADMINISTRATEUR::DB_ajouter_jointure_parent_eleve($parent_id, $eleve_id, $resp_legal_num);
        }
    }
}
// Afficher le résultat
$s = $nb_modifs_eleves > 1 ? 's' : '';
echo '<p><label class="valide">Liens de responsabilités modifiés pour ' . $nb_modifs_eleves . ' élève' . $s . '</label></p>' . NL;
echo '<ul class="puce p"><li><a href="#step90" id="passer_etape_suivante">Passer à l\'étape 6.</a><label id="ajax_msg">&nbsp;</label></li></ul>' . NL;