* 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 !'); } if ($_SESSION['SESAMATH_ID'] == ID_DEMO && $_GET['action'] != 'initialiser') { exit('Action désactivée pour la démo...'); } $action = isset($_POST['f_action']) ? $_POST['f_action'] : ''; $tab_modifs = isset($_POST['tab_modifs']) ? explode(',', $_POST['tab_modifs']) : array(); // //////////////////////////////////////////////////////////////////////////////////////////////////// // Ajouter | Retirer un professeur à un groupe // //////////////////////////////////////////////////////////////////////////////////////////////////// if (in_array($action, array('ajouter', 'retirer')) && count($tab_modifs)) { $etat = $action == 'ajouter' ? TRUE : FALSE; foreach ($tab_modifs as $key => $id_modifs) { list($groupe_id, $prof_id) = explode('_', $id_modifs); $groupe_id = Clean::entier($groupe_id); $prof_id = Clean::entier($prof_id); if ($groupe_id && $prof_id) { DB_STRUCTURE_ADMINISTRATEUR::DB_modifier_liaison_user_groupe_par_admin($prof_id, 'professeur', $groupe_id, 'groupe', $etat); } } exit('ok'); } // //////////////////////////////////////////////////////////////////////////////////////////////////// // On ne devrait pas en arriver là... // //////////////////////////////////////////////////////////////////////////////////////////////////// exit('Erreur avec les données transmises !');
} $user_email_origine = $courriel ? 'admin' : ''; // Insérer l'enregistrement $user_id = DB_STRUCTURE_COMMUN::DB_ajouter_utilisateur($sconet_id, $sconet_num, $reference, $profil, $genre, $nom, $prenom, $birth_date_mysql, $courriel, $user_email_origine, $login, crypter_mdp($password), 0, $id_ent, $id_gepi); // Il peut (déjà !) falloir lui affecter une date de sortie... if ($box_sortie_date) { $sortie_date = '-'; $sortie_date_mysql = SORTIE_DEFAUT_MYSQL; } else { $sortie_date_mysql = convert_date_french_to_mysql($sortie_date); DB_STRUCTURE_ADMINISTRATEUR::DB_modifier_user($user_id, array(':sortie_date' => $sortie_date_mysql)); } // Si on inscrit un élève après avoir fait afficher une classe ou un groupe, alors on l'affecte dans la classe ou le groupe en question $tab_groupe_type = array('c' => 'classe', 'g' => 'groupe'); if (isset($tab_groupe_type[$groupe_type]) && $groupe_id) { DB_STRUCTURE_ADMINISTRATEUR::DB_modifier_liaison_user_groupe_par_admin($user_id, 'eleve', $groupe_id, $tab_groupe_type[$groupe_type], TRUE); } // Afficher le retour echo '<tr id="id_' . $user_id . '" class="new">'; echo '<td class="nu"><input type="checkbox" name="f_ids" value="' . $user_id . '" /></td>'; echo '<td class="label">' . html($id_ent) . '</td>'; echo '<td class="label">' . html($id_gepi) . '</td>'; echo '<td class="label">' . html($sconet_id) . '</td>'; echo '<td class="label">' . html($sconet_num) . '</td>'; echo '<td class="label">' . html($reference) . '</td>'; echo '<td class="label">' . Html::$tab_genre['enfant'][$genre] . '</td>'; echo '<td class="label">' . html($nom) . '</td>'; echo '<td class="label">' . html($prenom) . '</td>'; echo '<td class="label">' . $birth_date . '</td>'; echo '<td class="label new">' . html($login) . ' <img alt="" src="./_img/bulle_aide.png" width="16" height="16" title="Pensez à relever le login généré !" /></td>'; echo '<td class="label new">' . html($password) . ' <img alt="" src="./_img/bulle_aide.png" width="16" height="16" title="Pensez à noter le mot de passe !" /></td>';
$tab_eleve = isset($_POST['f_eleve']) ? is_array($_POST['f_eleve']) ? $_POST['f_eleve'] : explode(',', $_POST['f_eleve']) : array(); $tab_classe = isset($_POST['f_classe']) ? is_array($_POST['f_classe']) ? $_POST['f_classe'] : explode(',', $_POST['f_classe']) : array(); $tab_eleve = array_filter(Clean::map_entier($tab_eleve), 'positif'); $tab_classe = array_filter(Clean::map_entier($tab_classe), 'positif'); // Ajouter des élèves à des classes if ($action == 'ajouter') { $classe_id = current($tab_classe); // un élève ne peut être affecté qu'à 1 seule classe : inutile de toutes les passer en revue foreach ($tab_eleve as $user_id) { DB_STRUCTURE_ADMINISTRATEUR::DB_modifier_liaison_user_groupe_par_admin($user_id, 'eleve', $classe_id, 'classe', TRUE); } } elseif ($action == 'retirer') { // on doit tout passer en revue car on ne sait pas si la classe de l'élève est dans la liste transmise foreach ($tab_eleve as $user_id) { foreach ($tab_classe as $classe_id) { DB_STRUCTURE_ADMINISTRATEUR::DB_modifier_liaison_user_groupe_par_admin($user_id, 'eleve', $classe_id, 'classe', FALSE); } } } // Affichage du bilan des affectations des élèves dans les classes ; en deux requêtes pour récupérer les élèves sans classes et les classes sans élèves $tab_niveau_groupe = array(); $tab_user = array(); $tab_niveau_groupe[0][0] = 'sans classe'; $tab_user[0] = ''; // Récupérer la liste des classes $DB_TAB = DB_STRUCTURE_ADMINISTRATEUR::DB_lister_classes_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 / classes
{ foreach($tab_id2 as $matiere_id => $etat) { DB_STRUCTURE_ADMINISTRATEUR::DB_modifier_liaison_professeur_matiere($user_id,$matiere_id,$etat); } } } // Ajouter des associations users/groupes (profs ou élèves) $nb_asso_groupes = count($tab_post['groupe']); if($nb_asso_groupes) { foreach($tab_post['groupe'] as $user_id => $tab_id2) { foreach($tab_id2 as $groupe_id => $etat) { DB_STRUCTURE_ADMINISTRATEUR::DB_modifier_liaison_user_groupe_par_admin($user_id,$import_profil,$groupe_id,'groupe',$etat); } } } // Afficher le résultat if($import_profil=='professeur') { echo'<p><label class="valide">Modifications associations utilisateurs / classes effectuées : '.$nb_asso_classes.'</label></p>'.NL; if($import_origine=='sconet') { echo'<p><label class="valide">Modifications associations utilisateurs / p.principal effectuées : '.$nb_asso_pps.'</label></p>'.NL; echo'<p><label class="valide">Modifications associations utilisateurs / matières effectuées : '.$nb_asso_matieres.'</label></p>'.NL; } } echo'<p><label class="valide">Modifications associations utilisateurs / groupes effectuées : '.$nb_asso_groupes.'</label></p>'.NL; echo'<ul class="puce p"><li><a href="#step90" id="passer_etape_suivante">Passer à l\'étape 7.</a><label id="ajax_msg"> </label></li></ul>'.NL;