* SACoche est distribué dans l’espoir qu’il vous sera utile, mais SANS AUCUNE GARANTIE : * sans même la garantie implicite de COMMERCIALISABILITÉ ni d’ADÉQUATION À UN OBJECTIF PARTICULIER. * Consultez la Licence Publique Générale GNU Affero pour plus de détails. * * Vous devriez avoir reçu une copie de la Licence Publique Générale GNU Affero avec SACoche ; * si ce n’est pas le cas, consultez : <http://www.gnu.org/licenses/>. * */ if(!defined('SACoche')) {exit('Ce fichier ne peut être appelé directement !');} $TITRE = html(Lang::_("Personnels & matières / Personnels coordonnateurs")); ?> <?php // Fabrication des éléments select du formulaire $select_prof = HtmlForm::afficher_select(DB_STRUCTURE_COMMUN::DB_OPT_professeurs_etabl('all') , 'f_prof' /*select_nom*/ , FALSE /*option_first*/ , FALSE /*selection*/ , '' /*optgroup*/ , $multiple=TRUE); $select_matiere = HtmlForm::afficher_select(DB_STRUCTURE_COMMUN::DB_OPT_matieres_etabl() , 'f_matiere' /*select_nom*/ , FALSE /*option_first*/ , FALSE /*selection*/ , '' /*optgroup*/ , $multiple=TRUE); ?> <p><span class="manuel"><a class="pop_up" href="<?php echo SERVEUR_DOCUMENTAIRE ?>?fichier=support_administrateur__gestion_professeurs#toggle_affecter_matieres">DOC : Gestion des professeurs et personnels</a></span></p> <hr /> <form action="#" method="post" id="form_select"> <table><tr> <td class="nu" style="width:25em"> <b>Professeurs :</b><span class="check_multiple"><q class="cocher_tout" title="Tout cocher."></q><q class="cocher_rien" title="Tout décocher."></q></span><br /> <span id="f_prof" class="select_multiple"><?php echo $select_prof ?></span> </td> <td class="nu" style="width:20em"> <b>Matières :</b><span class="check_multiple"><q class="cocher_tout" title="Tout cocher."></q><q class="cocher_rien" title="Tout décocher."></q></span><br />
* sans même la garantie implicite de COMMERCIALISABILITÉ ni d’ADÉQUATION À UN OBJECTIF PARTICULIER. * Consultez la Licence Publique Générale GNU Affero pour plus de détails. * * Vous devriez avoir reçu une copie de la Licence Publique Générale GNU Affero avec SACoche ; * si ce n’est pas le cas, consultez : <http://www.gnu.org/licenses/>. * */ if (!defined('SACoche')) { exit('Ce fichier ne peut être appelé directement !'); } $TITRE = html(Lang::_("Professeurs & groupes")); ?> <?php // Fabrication des éléments select du formulaire $select_prof = HtmlForm::afficher_select(DB_STRUCTURE_COMMUN::DB_OPT_professeurs_etabl('config'), 'f_prof', FALSE, FALSE, '', $multiple = TRUE); $select_groupe = HtmlForm::afficher_select(DB_STRUCTURE_COMMUN::DB_OPT_groupes_etabl(), 'f_groupe', FALSE, FALSE, '', $multiple = TRUE); ?> <p><span class="manuel"><a class="pop_up" href="<?php echo SERVEUR_DOCUMENTAIRE; ?> ?fichier=support_administrateur__gestion_groupes">DOC : Gestion des groupes</a></span></p> <hr /> <form action="#" method="post" id="form_select"> <table><tr> <td class="nu" style="width:25em"> <b>Professeurs :</b><span class="check_multiple"><q class="cocher_tout" title="Tout cocher."></q><q class="cocher_rien" title="Tout décocher."></q></span><br /> <span id="f_prof" class="select_multiple"><?php
* SACoche est distribué dans l’espoir qu’il vous sera utile, mais SANS AUCUNE GARANTIE : * sans même la garantie implicite de COMMERCIALISABILITÉ ni d’ADÉQUATION À UN OBJECTIF PARTICULIER. * Consultez la Licence Générale Publique GNU pour plus de détails. * * Vous devriez avoir reçu une copie de la Licence Générale Publique GNU avec SACoche ; * si ce n’est pas le cas, consultez : <http://www.gnu.org/licenses/>. * */ if(!defined('SACoche')) {exit('Ce fichier ne peut être appelé directement !');} $TITRE = "Associer les professeurs à ses groupes de besoin"; ?> <?php // Fabrication des éléments select du formulaire $select_professeurs = Formulaire::afficher_select(DB_STRUCTURE_COMMUN::DB_OPT_professeurs_etabl() , $select_nom=false , $option_first='non' , $selection=false , $optgroup='non'); $select_groupe_besoin = Formulaire::afficher_select(DB_STRUCTURE_COMMUN::DB_OPT_besoins_professeur($_SESSION['USER_ID']) , $select_nom=false , $option_first='non' , $selection=false , $optgroup='non'); ?> <ul class="puce"> <li><span class="manuel"><a class="pop_up" href="<?php echo SERVEUR_DOCUMENTAIRE ?>?fichier=support_professeur__gestion_groupes_besoin">DOC : Gestion des groupes de besoin.</a></span></li> <li><span class="astuce">Vous pouvez associer des collègues à vos groupes de besoin, mais pas vous retirer de vos propres groupes de besoin !</span></li> </ul> <hr /> <form action="#" method="post"> <table><tr> <td class="nu" style="width:25em"> <b>Liste des professeurs :</b> <img alt="" src="./_img/bulle_aide.png" title="Utiliser la touche « Shift » pour une sélection multiple contiguë.<br />Utiliser la touche « Ctrl » pour une sélection multiple non contiguë." /><br /> <select id="select_professeurs" name="select_professeurs[]" multiple size="10" class="t8"><?php echo $select_professeurs; ?></select>
* * Vous devriez avoir reçu une copie de la Licence Publique Générale GNU Affero avec SACoche ; * si ce n’est pas le cas, consultez : <http://www.gnu.org/licenses/>. * */ // Mettre à jour l'élément de formulaire "select_professeurs" et le renvoyer en HTML if(!defined('SACoche')) {exit('Ce fichier ne peut être appelé directement !');} if($_SESSION['SESAMATH_ID']==ID_DEMO) {} $groupe_type = (isset($_POST['f_groupe_type'])) ? Clean::texte($_POST['f_groupe_type']) : 'd'; // d n c g $groupe_id = (isset($_POST['f_groupe_id'])) ? Clean::entier($_POST['f_groupe_id']) : 0; $selection = (empty($_POST['f_selection'])) ? FALSE : TRUE ; $multiple = (empty($_POST['f_multiple'])) ? FALSE : TRUE ; $tab_types = array('d'=>'all' , 'n'=>'niveau' , 'c'=>'classe' , 'g'=>'groupe'); if( ($groupe_id) && (!isset($tab_types[$groupe_type])) ) { exit('Erreur avec les données transmises !'); } // Autres valeurs à récupérer ou à définir. $select_nom = ($multiple) ? 'f_user' : FALSE ; $option_first = ($multiple) ? FALSE : '' ; exit( HtmlForm::afficher_select( DB_STRUCTURE_COMMUN::DB_OPT_professeurs_etabl($tab_types[$groupe_type],$groupe_id) , $select_nom , $option_first , $selection , '' /*optgroup*/ , $multiple ) ); ?>
/** * Retourner, sur une ou plusieurs colonnes, une liste HTML ordonnée des professeurs, avec un formulaire de choix d'un attribut pour chacun. * * @param string $only_profs * @param array $tab_options * @return string */ public static function afficher_select_collegues($only_profs, $tab_options) { $affichage = ''; // Affichage de la liste des professeurs $DB_TAB = $only_profs ? DB_STRUCTURE_COMMUN::DB_OPT_professeurs_etabl() : DB_STRUCTURE_COMMUN::DB_OPT_professeurs_directeurs_etabl(1); if (is_string($DB_TAB)) { echo $DB_TAB; } else { $nb_profs = !empty($DB_TAB) ? count($DB_TAB) : 0; $nb_profs_maxi_par_col = 20; $nb_cols = floor(($nb_profs - 1) / $nb_profs_maxi_par_col) + 1; $nb_profs_par_col = ceil($nb_profs / $nb_cols); $tab_div = array_fill(0, $nb_cols, ''); $select_options = '<option value="x">0</option>'; foreach ($tab_options as $option_texte => $option_value) { $select_options .= '<option value="' . $option_value . '">' . $option_texte . '</option>'; } foreach ($DB_TAB as $i => $DB_ROW) { if ($DB_ROW['valeur'] != $_SESSION['USER_ID']) { $tab_div[floor($i / $nb_profs_par_col)] .= '<select id="p_' . $DB_ROW['valeur'] . '" name="p_' . $DB_ROW['valeur'] . '" class="t9">' . $select_options . '</select><span class="select_img droit_x"> </span><label>' . html($DB_ROW['texte']) . '</label><br />'; } else { $tab_div[floor($i / $nb_profs_par_col)] .= '<select id="p_' . $DB_ROW['valeur'] . '" name="p_' . $DB_ROW['valeur'] . '" class="t9" disabled><option value="z">4</option></select><span class="droit_z"> </span><label>' . html($DB_ROW['texte']) . '</label><br />'; } } $affichage .= '<p class="hc">Choisir <label for="p_0_x"><input type="radio" name="prof_check_all" id="p_0_x" value="x" /><span class="select_img droit_x"> </span></label>'; foreach ($tab_options as $option_value) { $affichage .= ' ou <label for="p_0_' . $option_value . '"><input type="radio" name="prof_check_all" id="p_0_' . $option_value . '" value="' . $option_value . '" /><span class="select_img droit_' . $option_value . '"> </span></label>'; } $affichage .= ' pour tout le monde.</p>' . NL; $affichage .= '<div class="prof_liste">' . implode('</div>' . NL . '<div class="prof_liste">', $tab_div) . '</div>' . NL; } return $affichage; }
/** * afficher_form_element_checkbox_collegues * * @param void * @return string */ function afficher_form_element_checkbox_collegues() { $affichage = ''; // Affichage de la liste des professeurs $DB_TAB = DB_STRUCTURE_COMMUN::DB_OPT_professeurs_etabl(); if(is_string($DB_TAB)) { echo $DB_TAB; } else { $nb_profs = !empty($DB_TAB) ? count($DB_TAB) : 0 ; $nb_profs_maxi_par_col = 20; $nb_cols = floor(($nb_profs-1)/$nb_profs_maxi_par_col)+1; $nb_profs_par_col = ceil($nb_profs/$nb_cols); $tab_div = array_fill(0,$nb_cols,''); foreach($DB_TAB as $i => $DB_ROW) { $checked_and_disabled = ($DB_ROW['valeur']==$_SESSION['USER_ID']) ? ' checked disabled' : '' ; // readonly ne fonctionne pas sur un checkbox $tab_div[floor($i/$nb_profs_par_col)] .= '<input type="checkbox" name="f_profs[]" id="p_'.$DB_ROW['valeur'].'" value="'.$DB_ROW['valeur'].'"'.$checked_and_disabled.' /><label for="p_'.$DB_ROW['valeur'].'"> '.html($DB_ROW['texte']).'</label><br />'; } $affichage .= '<p><a href="#prof_liste" id="prof_check_all" class="cocher_tout">Tout le monde</a> <a href="#prof_liste" id="prof_uncheck_all" class="cocher_rien">Seulement moi</a></p>'.NL; $affichage .= '<div class="prof_liste">'.implode('</div>'.NL.'<div class="prof_liste">',$tab_div).'</div>'.NL; } return $affichage; }