security_check(); if ($resultat_session == 'c') { header("Location: ../utilisateurs/mon_compte.php?change_mdp=yes"); die(); } else if ($resultat_session == '0') { header("Location: ../logout.php?auto=1"); die(); } if (!checkAccess()) { header("Location: ../logout.php?auto=1"); die(); } //**************** EN-TETE ***************** $titre_page = "Outil d'initialisation de l'année : Importation des enseignants"; require_once("../lib/header.inc.php"); //**************** FIN EN-TETE ***************** // Utilisation de la classe LDAP chargee et configuree $ldap = new LDAPServerScribe(); echo "

Retour Retour

"; if ($_POST['step'] == "4") { check_token(false); // On se connecte au LDAP $ldap->connect(); // Si on a bien les donnees dans la session, on peut continuer /* * Recherche de tous les profs de l'établissement (pour ce RNE) */ $profs = $ldap->get_all_profs(); $nb_profs = $profs['count']; /* * Ajout des profs */ // Infos nécessaires pour le prof $nom_complet = ''; $uid_as_login = ''; $mail = ''; // On parcours tous les profs et on les ajoute for($cpt=0; $cpt<$profs['count']; $cpt++) { $uid_as_login = $profs[$cpt][$ldap->champ_login][0]; $nom = $profs[$cpt][$ldap->champ_nom][0]; $prenom = $profs[$cpt][$ldap->champ_prenom][0]; $civ = $profs[$cpt]['personaltitle'][0]; $mail = $profs[$cpt][$ldap->champ_email][0]; // On test si l'uid est deja connu de GEPI $compte_utilisateur_prof = UtilisateurProfessionnelPeer::retrieveByPK($uid_as_login); if ($compte_utilisateur_prof != null) { // Un prof ayant cet UID existe deja : soit c'est le même, on ne touche pas // Soit c'est un prof différent qui a cet uid echo "le professeur " .$compte_utilisateur_prof->getPrenom() .$compte_utilisateur_prof->getNom() ." (".$compte_utilisateur_prof->getLogin() .") existe déjà
"; } else { $new_compte_utilisateur = new UtilisateurProfessionnel(); $new_compte_utilisateur->setAuthMode('sso'); $new_compte_utilisateur->setCivilite($civ); $new_compte_utilisateur->setEmail($mail); $new_compte_utilisateur->setEtat('actif'); $new_compte_utilisateur->setLogin($uid_as_login); $new_compte_utilisateur->setNom($nom); $new_compte_utilisateur->setPrenom($prenom); $new_compte_utilisateur->setShowEmail('no'); $new_compte_utilisateur->setStatut('professeur'); $new_compte_utilisateur->save(); } // Insertion de sa qualité de prof principal si c'est le cas if ($profs[$cpt]['typeadmin'][0] == 2) { for($cl=0; $cladd(ClassePeer::CLASSE, $profs[$cpt]['divcod'][$cl]); // indice contient le nom de la classe (son numero) $classe_courante = ClassePeer::doSelect($crit_classe_courante); $error = false; if ($classe_courante == null) { $error = true; echo "Erreur : impossible de recuperer la classe $indice
"; } if (count($classe_courante) > 1) { $error = true; echo "Erreur : plusieurs classes ayant le nom '$indice' sont présentes.
"; } // Si on trouve la classe, et qu'il y en a bien qu'une seule, on recupere son id technique if (!$error) { $crit_eleves_de_la_classe = new Criteria(); $crit_eleves_de_la_classe->add(JEleveClassePeer::ID_CLASSE, $classe_courante[0]->getId()); $eleves_de_la_classe = JEleveClassePeer::doSelect($crit_eleves_de_la_classe); if ($eleves_de_la_classe != null) { foreach($eleves_de_la_classe as $eleve) { $sql_ajout_rel_prof_princ = "INSERT INTO j_eleves_professeurs VALUES('".$eleve->getLogin()."','$uid_as_login',".$classe_courante[0]->getId().")"; mysqli_query($GLOBALS["mysqli"], $sql_ajout_rel_prof_princ); } } } } } else { echo "Le prof $prenom $nom n'est pas professeur principal
"; } } // fin parcours de tous les profs /* * Résumé des profs trouvés : */ echo "

Professeurs trouvés : $nb_profs"."

"; echo "
"; //echo add_token_field(); echo ""; echo ""; echo "

Passer à l'étape 5 :

"; echo ""; echo "
"; } else { // Affichage de la page des explications de l'etape 4 (aucune donnee postee) echo "

L'étape 4 vous permet d'importer les professeurs et leur qualité de professeur principal.

"; echo "
"; echo add_token_field(); echo ""; echo ""; echo "
"; echo "
"; require("../lib/footer.inc.php"); } ?>