$nouvelle_assoc_classe_eleve->setClasse($classe_courante); $nouvelle_assoc_classe_eleve->setEleve($nouvel_eleve); // Pour le moment on met 0 dans l'id de periode, car on les créera plus tard. // On veut simplement garder l'association eleve/classe pour ne pas avoir // a refaire une connexion au LDAP a l'etape suivante $nouvelle_assoc_classe_eleve->setPeriode(0); $nouvelle_assoc_classe_eleve->save(); $nouvel_eleve->addJEleveClasse($nouvelle_assoc_classe_eleve); } //Fin du if classe appartient a l'etablissement courant } //Fin du parcours des classes de l'eleve $nouvel_eleve->save(); // On créé maintenant son compte d'accès à Gepi // On test si l'uid est deja connu de GEPI $compte_utilisateur_eleve = UtilisateurProfessionnelPeer::retrieveByPK($nouvel_eleve->getLogin()); if ($compte_utilisateur_eleve != null) { // Un compte d'accès avec le même identifiant existe déjà. On ne touche à rien. echo "Un compte existe déjà pour l'identifiant " . $nouvel_eleve->getLogin() . ".<br/>"; } else { $new_compte_utilisateur = new UtilisateurProfessionnel(); $new_compte_utilisateur->setAuthMode('sso'); $new_compte_utilisateur->setCivilite($eleves[$nb]['personaltitle'][0]); $new_compte_utilisateur->setEmail($nouvel_eleve->getEmail()); $new_compte_utilisateur->setEtat('actif'); $new_compte_utilisateur->setLogin($nouvel_eleve->getLogin()); $new_compte_utilisateur->setNom($nouvel_eleve->getNom()); $new_compte_utilisateur->setPrenom($nouvel_eleve->getPrenom()); $new_compte_utilisateur->setShowEmail('no'); $new_compte_utilisateur->setStatut('eleve'); $new_compte_utilisateur->save();
die(); } else if ($resultat_session == '0') { header("Location: ../logout.php?auto=1"); die(); }; //debug_var(); // ============== traitement des variables ================== // ============== Code métier =============================== include("lib/erreurs.php"); try{ $test = UtilisateurProfessionnelPeer::retrieveByPK('admin'); }catch(exception $e){ affExceptions($e); } //**************** EN-TETE ***************** $titre_page = "Les absences"; require_once("../lib/header.inc"); require("lib/abs_menu.php"); //**************** FIN EN-TETE ***************** aff_debug($test); ?>
function purgeDonneesTest($logger) { echo "Purge des données<br/><br/>"; //purge de l'utilisateur echo "<br/>Purge de l'utilisateur : <br/>"; $utilisateurProfessionnel = UtilisateurProfessionnelPeer::retrieveByPK(UnitTestUtilisateurProfessionnel::getUtilisateurProfessionnel()->getLogin()); if ($utilisateurProfessionnel != null) { $utilisateurProfessionnel->delete(); } $logger->getDisplay(); //purge du groupe echo "<br/>Purge du groupe : <br/>"; $criteria = new Criteria(); $criteria->add(GroupePeer::NAME, UnitTestGroupe::getGroupe()->getName()); $groupe = GroupePeer::doSelectOne($criteria); if ($groupe != null) { $groupe->delete(); } $logger->getDisplay(); //purge de la classe echo "<br/>Purge de la classe :<br/>"; $criteria = new Criteria(); $criteria->add(ClassePeer::CLASSE, UnitTestClasse::getClasse()->getNom()); $classe = ClassePeer::doSelectOne($criteria); if ($classe != null) { $classe->delete(); } $logger->getDisplay(); //purge de l'eleve echo "<br/>Purge de l'eleve<br/>"; $criteria = new Criteria(); $criteria->add(ElevePeer::LOGIN, UnitTestEleve::getEleve()->getLogin()); $eleve = ElevePeer::doSelectOne($criteria); if ($eleve != null) { $eleve->delete(); } echo ($logger->getDisplay()); echo "<br/>Fin Purge des données<br/><br/>"; }
/* * Ajout des profs */ // Infos nécessaires $nom_complet = ''; $uid_as_login = ''; $mail = ''; // On parcours tous les utilisateurs et on les ajoute, si nécessaire for ($cpt = 0; $cpt < $personnels['count']; $cpt++) { $uid_as_login = $personnels[$cpt][$ldap->champ_login][0]; $nom = $personnels[$cpt][$ldap->champ_nom][0]; $prenom = $personnels[$cpt][$ldap->champ_prenom][0]; $civ = $personnels[$cpt]['personaltitle'][0]; $mail = $personnels[$cpt][$ldap->champ_email][0]; // On test si l'uid est deja connu de GEPI $compte_utilisateur = UtilisateurProfessionnelPeer::retrieveByPK($uid_as_login); if ($compte_utilisateur != null) { echo "L'utilisateur " . $compte_utilisateur->getPrenom() . $compte_utilisateur->getNom() . " (" . $compte_utilisateur->getLogin() . ") existe déjà<br>"; } 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('scolarite'); $new_compte_utilisateur->save(); }
function purgeDonneesTest($logger) { echo "Purge des données<br/><br/>"; //purge de l'utilisateur echo "<br/>Purge de l'utilisateur : <br/>"; $utilisateurProfessionnel = UtilisateurProfessionnelPeer::retrieveByPK(UnitTestUtilisateurProfessionnel::getUtilisateurProfessionnel()->getLogin()); if ($utilisateurProfessionnel != null) { foreach ($utilisateurProfessionnel->getAbsenceEleveTraitements() as $traitement) { $traitement->delete(); } $utilisateurProfessionnel->delete(); } echo ($logger->getDisplay()); //purge de l'eleve echo "<br/>Purge de l'eleve<br/>"; $criteria = new Criteria(); $criteria->add(ElevePeer::LOGIN, UnitTestEleve::getEleve()->getLogin()); $eleve = ElevePeer::doSelectOne($criteria); if ($eleve != null) { $eleve->delete(); } echo ($logger->getDisplay()); echo "<br/>Fin Purge des données<br/><br/>"; }
} $classes = ClasseQuery::create()->setFormatter(ModelCriteria::FORMAT_ON_DEMAND)->find(); // On boucle sur chaque équipe, ce qui revient à boucler sur les classes foreach ($classes as $classe_courante) { # On a une classe, on poursuit if (array_key_exists($classe_courante->getNom(), $donnees_equipes)) { # On initialisation la liste des élèves de la classe $students_query = mysqli_query($GLOBALS["mysqli"], "SELECT login FROM j_eleves_classes WHERE \n id_classe = '" . $classe_courante->getId() . "' AND\n periode = '1'"); unset($students); $students = array(); while ($row = mysqli_fetch_object($students_query)) { $students[] = $row->login; } # On passe tous les profs de l'équipe foreach ($donnees_equipes[$classe_courante->getNom()] as $login_prof) { $prof = UtilisateurProfessionnelPeer::retrieveByPK($login_prof); if ($prof) { # On a un prof. On créé un enseignement pour chacune des matières qui lui sont associées. $matieres = $prof->getMatieres(); foreach ($matieres as $matiere) { $rec_groupe = mysqli_query($GLOBALS["mysqli"], "INSERT INTO groupes SET\n name = '" . $matiere->getNomComplet() . "',\n description = '" . $matiere->getNomComplet() . "'"); $id_groupe = is_null($___mysqli_res = mysqli_insert_id($GLOBALS["mysqli"])) ? false : $___mysqli_res; $rec_mat = mysqli_query($GLOBALS["mysqli"], "INSERT INTO j_groupes_matieres SET\n id_matiere = '" . $matiere->getMatiere() . "',\n id_groupe = '" . $id_groupe . "'"); $rec_prof = mysqli_query($GLOBALS["mysqli"], "INSERT INTO j_groupes_professeurs SET\n login = '******',\n id_groupe = '" . $id_groupe . "'"); # Maintenant il faut mettre les élèves foreach ($students as $student) { foreach ($classe_courante->getPeriodeNotes() as $periode) { $rec = mysqli_query($GLOBALS["mysqli"], "INSERT INTO j_eleves_groupes SET\n login = '******',\n id_groupe = '" . $id_groupe . "',\n periode = '" . $periode->getNumPeriode() . "'"); } # Fin boucle périodes }
// TODO: tester si on a des adresses identiques, et n'utiliser qu'un seul objet adresse dans ce cas. //-- } // Ajout de la relation entre Responsable et Eleve dans la table "responsables2" pour chaque eleve $req_ajout_lien_eleve_resp = "INSERT INTO responsables2 VALUES('{$eleve_associe_ele_id}','" . $resp->getResponsableEleveId() . "','{$numero_responsable}','','')"; mysqli_query($GLOBALS["mysqli"], $req_ajout_lien_eleve_resp); if ((is_object($GLOBALS["mysqli"]) ? mysqli_errno($GLOBALS["mysqli"]) : (($___mysqli_res = mysqli_connect_errno()) ? $___mysqli_res : false)) != 0) { die("Une erreur s'est produite lors de l'affectation d'un élève à son responsable légal."); } $valid_associations++; } } if ($nb_eleves_a_charge > 0 && $valid_associations > 0) { // On créé maintenant son compte d'accès à Gepi // On test si l'uid est deja connu de GEPI $compte_utilisateur_resp = UtilisateurProfessionnelPeer::retrieveByPK($resp->getLogin()); if ($compte_utilisateur_resp != null) { // Un compte d'accès avec le même identifiant existe déjà. On ne touche à rien. echo "Un compte existe déjà pour l'identifiant " . $resp->getLogin() . ".<br/>"; } else { $new_compte_utilisateur = new UtilisateurProfessionnel(); $new_compte_utilisateur->setAuthMode('sso'); $new_compte_utilisateur->setCivilite($resp->getCivilite()); $new_compte_utilisateur->setEmail($resp->getMel()); $new_compte_utilisateur->setEtat('actif'); $new_compte_utilisateur->setLogin($resp->getLogin()); $new_compte_utilisateur->setNom($resp->getNom()); $new_compte_utilisateur->setPrenom($resp->getPrenom()); $new_compte_utilisateur->setShowEmail('no'); $new_compte_utilisateur->setStatut('responsable'); $new_compte_utilisateur->save();
$nouvelle_matiere = MatierePeer::retrieveByPK($code_matiere); if ($nouvelle_matiere != null) { echo "La matière " . $nouvelle_matiere->getMatiere() . " (" . $nouvelle_matiere->getNomComplet() . ") existe déjà<br/>"; } else { $nouvelle_matiere = new Matiere(); $nouvelle_matiere->setMatiere($code_matiere); $nouvelle_matiere->setNomComplet($nom_matiere); $nouvelle_matiere->save(); } // Maintenant on associe les profs à cette matiere $nb_profs = $matieres[$cpt]['memberuid']['count']; $matiere_profs = $nouvelle_matiere->getProfesseurs(); if ($nb_profs > 0) { for ($i = 0; $i < $nb_profs; $i++) { // On vérifie que le prof existe, quand même... $prof = UtilisateurProfessionnelPeer::retrieveByPK($matieres[$cpt]['memberuid'][$i]); // Le prof existe, on créer l'association, si elle n'existe pas encore if ($prof != null) { // L'association n'existe pas, on la créé // Pour ça, on doit déterminer l'ordre if (!$matiere_profs->contains($prof)) { $assoc = JProfesseursMatieresQuery::create()->filterByProfesseur($prof)->orderByOrdreMatieres('desc')->findOne(); $nouvel_ordre = $assoc == null ? 1 : $assoc->getOrdreMatieres() + 1; $new_assoc = new JProfesseursMatieres(); $new_assoc->setProfesseur($prof); $new_assoc->setMatiere($nouvelle_matiere); $new_assoc->setOrdreMatieres($nouvel_ordre); $new_assoc->save(); } } else { echo "Le prof associé (" . $matieres[$cpt]['memberuid'][$i] . ") n'existe pas dans la base !<br/>";