/** * afficher_form_element_checkbox_eleves_professeur * * @param bool $with_pourcent * @return string */ function afficher_form_element_checkbox_eleves_professeur($with_pourcent) { $affichage = ''; $tab_regroupements = array(); $tab_id = array('classe'=>'','groupe'=>''); // Recherche de la liste des classes et des groupes du professeur $DB_TAB = DB_STRUCTURE_PROFESSEUR::DB_lister_classes_groupes_professeur($_SESSION['USER_ID'],$_SESSION['USER_JOIN_GROUPES']); foreach($DB_TAB as $DB_ROW) { $tab_regroupements[$DB_ROW['groupe_id']] = array('nom'=>$DB_ROW['groupe_nom'],'eleve'=>array()); $tab_id[$DB_ROW['groupe_type']][] = $DB_ROW['groupe_id']; } // Recherche de la liste des élèves pour chaque classe du professeur if(is_array($tab_id['classe'])) { $listing = implode(',',$tab_id['classe']); $DB_TAB = DB_STRUCTURE_PROFESSEUR::DB_lister_eleves_classes($listing); foreach($DB_TAB as $DB_ROW) { $tab_regroupements[$DB_ROW['eleve_classe_id']]['eleve'][$DB_ROW['user_id']] = $DB_ROW['user_nom'].' '.$DB_ROW['user_prenom'].' ('.$DB_ROW['user_login'].')'; } } // Recherche de la liste des élèves pour chaque groupe du professeur if(is_array($tab_id['groupe'])) { $listing = implode(',',$tab_id['groupe']); $DB_TAB = DB_STRUCTURE_PROFESSEUR::DB_lister_eleves_groupes($listing); foreach($DB_TAB as $DB_ROW) { $tab_regroupements[$DB_ROW['groupe_id']]['eleve'][$DB_ROW['user_id']] = $DB_ROW['user_nom'].' '.$DB_ROW['user_prenom'].' ('.$DB_ROW['user_login'].')'; } } // Affichage de la liste des élèves (du professeur) pour chaque classe et groupe foreach($tab_regroupements as $groupe_id => $tab_groupe) { $gradient_pourcent = ($with_pourcent) ? '<span id="groupe_'.$groupe_id.'" class="gradient_pourcent"></span>' : '' ; $affichage .= '<ul class="ul_m1">'.NL; $affichage .= '<li class="li_m1"><span class="deja">'.html($tab_groupe['nom']).'</span>'.$gradient_pourcent.NL; $affichage .= '<ul class="ul_n3">'.NL; foreach($tab_groupe['eleve'] as $eleve_id => $eleve_nom) { // C'est plus compliqué que pour les items car un élève peut appartenir à une classe et plusieurs groupes => id du groupe mélé à l'id $affichage .= '<li class="li_n3"><input id="id_'.$eleve_id.'_'.$groupe_id.'" name="f_eleves[]" type="checkbox" value="'.$eleve_id.'" /><label for="id_'.$eleve_id.'_'.$groupe_id.'"> '.html($eleve_nom).'</label><span></span></li>'.NL; } $affichage .= '</ul>'.NL; $affichage .= '</li>'.NL; $affichage .= '</ul>'.NL; } return $affichage; }