/**
 * 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;
}
示例#2
0
// [classe_id_groupe_id] (ligne) ; les indices [title] sont ceux des intitulés
$tab_affich[0]['title'] = '<td class="nu"></td>';
$tab_affich[0]['fiche'] = '<th class="hc" id="session_' . $annee_session_brevet . '">Session ' . $annee_session_brevet . $check . '</th>';
if ($_SESSION['USER_PROFIL_TYPE'] != 'professeur') {
    $droit_modifier_statut = $_SESSION['USER_PROFIL_TYPE'] == 'administrateur' || test_user_droit_specifique($_SESSION['DROIT_FICHE_BREVET_MODIFIER_STATUT']);
    $droit_appreciation_generale = $_SESSION['USER_PROFIL_TYPE'] == 'directeur' && test_user_droit_specifique($_SESSION['DROIT_FICHE_BREVET_APPRECIATION_GENERALE']);
    $droit_impression_pdf = $_SESSION['USER_PROFIL_TYPE'] == 'administrateur' || test_user_droit_specifique($_SESSION['DROIT_FICHE_BREVET_IMPRESSION_PDF']);
    $droit_voir_archives_pdf = $_SESSION['USER_PROFIL_TYPE'] == 'administrateur' || test_user_droit_specifique($_SESSION['DROIT_FICHE_BREVET_VOIR_ARCHIVE']);
    foreach ($tab_classe_etabl as $classe_id => $classe_nom) {
        $tab_classe[$classe_id][0] = compact('droit_modifier_statut', 'droit_appreciation_generale', 'droit_impression_pdf', 'droit_voir_archives_pdf');
        $tab_affich[$classe_id . '_0']['title'] = '<th id="groupe_' . $classe_id . '_0">' . html($classe_nom) . '</th>';
        $tab_affich[$classe_id . '_0']['fiche'] = '<td class="hc">-</td>';
        $tab_options_classes[$classe_id . '_0'] = '<option value="' . $classe_id . '_0">' . html($classe_nom) . '</option>';
    }
} else {
    $DB_TAB = DB_STRUCTURE_PROFESSEUR::DB_lister_classes_groupes_professeur($_SESSION['USER_ID'], $_SESSION['USER_JOIN_GROUPES']);
    foreach ($DB_TAB as $DB_ROW) {
        if ($DB_ROW['groupe_type'] == 'classe') {
            if (in_array($DB_ROW['groupe_id'], $tab_classes_concernees)) {
                // Pour les classes, RAS
                $droit_modifier_statut = test_user_droit_specifique($_SESSION['DROIT_FICHE_BREVET_MODIFIER_STATUT'], $DB_ROW['jointure_pp'], 0);
                $droit_appreciation_generale = test_user_droit_specifique($_SESSION['DROIT_FICHE_BREVET_APPRECIATION_GENERALE'], $DB_ROW['jointure_pp'], 0);
                $droit_impression_pdf = test_user_droit_specifique($_SESSION['DROIT_FICHE_BREVET_IMPRESSION_PDF'], $DB_ROW['jointure_pp'], 0);
                $droit_voir_archives_pdf = test_user_droit_specifique($_SESSION['DROIT_FICHE_BREVET_VOIR_ARCHIVE']);
                $tab_classe[$DB_ROW['groupe_id']][0] = compact('droit_modifier_statut', 'droit_appreciation_generale', 'droit_impression_pdf');
                $tab_affich[$DB_ROW['groupe_id'] . '_0']['title'] = '<th id="groupe_' . $DB_ROW['groupe_id'] . '_0">' . html($DB_ROW['groupe_nom']) . '</th>';
                $tab_affich[$DB_ROW['groupe_id'] . '_0']['fiche'] = '<td class="hc">-</td>';
                $tab_options_classes[$DB_ROW['groupe_id'] . '_0'] = '<option value="' . $DB_ROW['groupe_id'] . '_0">' . html($DB_ROW['groupe_nom']) . '</option>';
            }
        } else {
            // Pour les groupes, il faudra récupérer les classes dont sont issues les élèves