* 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 &laquo;&nbsp;Shift&nbsp;&raquo; pour une sélection multiple contiguë.<br />Utiliser la touche &laquo;&nbsp;Ctrl&nbsp;&raquo; 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 ) );
?>
Example #5
0
 /**
  * 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">&nbsp;</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">&nbsp;</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">&nbsp;</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 . '">&nbsp;</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>&nbsp;&nbsp;&nbsp;<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;
}