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
";
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 "";
}
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 "
";
require("../lib/footer.inc.php");
}
?>