} } // //////////////////////////////////////////////////////////////////////////////////////////////////// // associations profs/groupes ou élèves/groupes // //////////////////////////////////////////////////////////////////////////////////////////////////// // Garder trace des identités des utilisateurs de la base $tab_base_user_identite = array(); // On récupère le contenu de la base pour comparer : $tab_base_affectation[user_id_groupe_id]=TRUE et $tab_base_groupe[groupe_id]=groupe_nom // En deux requêtes sinon on ne récupère pas les groupes sans utilisateurs affectés. $tab_base_groupe = array(); $DB_TAB = DB_STRUCTURE_ADMINISTRATEUR::DB_lister_groupes(); foreach ($DB_TAB as $DB_ROW) { $tab_base_groupe[$DB_ROW['groupe_id']] = $DB_ROW['groupe_nom']; } $tab_base_affectation = array(); $DB_TAB = DB_STRUCTURE_ADMINISTRATEUR::DB_lister_users_avec_groupe($import_profil, TRUE); foreach ($DB_TAB as $DB_ROW) { $tab_base_affectation[$DB_ROW['user_id'] . '_' . $DB_ROW['groupe_id']] = TRUE; $tab_base_user_identite[$DB_ROW['user_id']] = $DB_ROW['user_nom'] . ' ' . $DB_ROW['user_prenom']; } // Parcourir chaque entrée du fichier à la recherche d'affectations utilisateurs/groupes foreach ($tab_users_fichier['groupe'] as $i_fichier => $tab_groupes) { if (count($tab_groupes)) { foreach ($tab_groupes as $i_groupe => $groupe_ref) { // On a trouvé une telle affectation ; comparer avec ce que contient la base if (isset($tab_i_fichier_TO_id_base[$i_fichier]) && isset($tab_i_groupe_TO_id_base[$i_groupe])) { $user_id = $tab_i_fichier_TO_id_base[$i_fichier]; $groupe_id = $tab_i_groupe_TO_id_base[$i_groupe]; if (isset($tab_base_affectation[$user_id . '_' . $groupe_id])) { if ($mode == 'complet') { $lignes_groupes_ras .= '<tr><th>Conserver</th><td>' . html($tab_users_fichier['nom'][$i_fichier] . ' ' . $tab_users_fichier['prenom'][$i_fichier]) . '</td><td>' . html($tab_base_groupe[$groupe_id]) . '</td></tr>' . NL;
foreach ($tab_groupe as $groupe_id) { DB_STRUCTURE_ADMINISTRATEUR::DB_modifier_liaison_user_groupe_par_admin($user_id, 'eleve', $groupe_id, 'groupe', FALSE); } } } // Affichage du bilan des affectations des élèves dans les groupes ; en deux requêtes pour récupérer les élèves sans groupes et les groupes sans élèves $tab_niveau_groupe = array(); $tab_user = array(); // Récupérer la liste des groupes $DB_TAB = DB_STRUCTURE_ADMINISTRATEUR::DB_lister_groupes_avec_niveaux(); foreach ($DB_TAB as $DB_ROW) { $tab_niveau_groupe[$DB_ROW['niveau_id']][$DB_ROW['groupe_id']] = html($DB_ROW['groupe_nom']); $tab_user[$DB_ROW['groupe_id']] = ''; } // Récupérer la liste des élèves / groupes $DB_TAB = DB_STRUCTURE_ADMINISTRATEUR::DB_lister_users_avec_groupe('eleve', TRUE); foreach ($DB_TAB as $DB_ROW) { $tab_user[$DB_ROW['groupe_id']] .= html($DB_ROW['user_nom'] . ' ' . $DB_ROW['user_prenom']) . '<br />'; } // Assemblage du tableau résultant $TH = array(); $TB = array(); $TF = array(); foreach ($tab_niveau_groupe as $niveau_id => $tab_groupe) { $TH[$niveau_id] = ''; $TB[$niveau_id] = ''; $TF[$niveau_id] = ''; foreach ($tab_groupe as $groupe_id => $groupe_nom) { $nb = mb_substr_count($tab_user[$groupe_id], '<br />', 'UTF-8'); $s = $nb > 1 ? 's' : ''; $TH[$niveau_id] .= '<th>' . $groupe_nom . '</th>';
} // //////////////////////////////////////////////////////////////////////////////////////////////////// // associations profs/groupes ou élèves/groupes // //////////////////////////////////////////////////////////////////////////////////////////////////// // Garder trace des identités des utilisateurs de la base $tab_base_user_identite = array(); // On récupère le contenu de la base pour comparer : $tab_base_affectation[user_id_groupe_id]=TRUE et $tab_base_groupe[groupe_id]=groupe_nom // En deux requêtes sinon on ne récupère pas les groupes sans utilisateurs affectés. $tab_base_groupe = array(); $DB_TAB = DB_STRUCTURE_ADMINISTRATEUR::DB_lister_groupes(); foreach($DB_TAB as $DB_ROW) { $tab_base_groupe[$DB_ROW['groupe_id']] = $DB_ROW['groupe_nom']; } $tab_base_affectation = array(); $DB_TAB = DB_STRUCTURE_ADMINISTRATEUR::DB_lister_users_avec_groupe( $import_profil , TRUE /*only_actuels*/ ); foreach($DB_TAB as $DB_ROW) { $tab_base_affectation[$DB_ROW['user_id'].'_'.$DB_ROW['groupe_id']] = TRUE; $tab_base_user_identite[$DB_ROW['user_id']] = $DB_ROW['user_nom'].' '.$DB_ROW['user_prenom']; } // Parcourir chaque entrée du fichier à la recherche d'affectations utilisateurs/groupes foreach( $tab_users_fichier['groupe'] as $i_fichier => $tab_groupes ) { if(count($tab_groupes)) { foreach( $tab_groupes as $i_groupe => $groupe_ref ) { // On a trouvé une telle affectation ; comparer avec ce que contient la base if( (isset($tab_i_fichier_TO_id_base[$i_fichier])) && (isset($tab_i_groupe_TO_id_base[$i_groupe])) ) {
} } } // Affichage du bilan des affectations des élèves dans les groupes ; en deux requêtes pour récupérer les élèves sans groupes et les groupes sans élèves $tab_niveau_groupe = array(); $tab_user = array(); // Récupérer la liste des groupes $DB_TAB = DB_STRUCTURE_ADMINISTRATEUR::DB_lister_groupes_avec_niveaux(); foreach($DB_TAB as $DB_ROW) { $tab_niveau_groupe[$DB_ROW['niveau_id']][$DB_ROW['groupe_id']] = html($DB_ROW['groupe_nom']); $tab_user[$DB_ROW['groupe_id']] = ''; } // Récupérer la liste des élèves / groupes $DB_TAB = DB_STRUCTURE_ADMINISTRATEUR::DB_lister_users_avec_groupe( 'eleve' /*profil_type*/ , TRUE /*only_actuels*/ ); foreach($DB_TAB as $DB_ROW) { $tab_user[$DB_ROW['groupe_id']] .= html($DB_ROW['user_nom'].' '.$DB_ROW['user_prenom']).'<br />'; } // Assemblage du tableau résultant $TH = array(); $TB = array(); $TF = array(); foreach($tab_niveau_groupe as $niveau_id => $tab_groupe) { $TH[$niveau_id] = ''; $TB[$niveau_id] = ''; $TF[$niveau_id] = ''; foreach($tab_groupe as $groupe_id => $groupe_nom) {