Example #1
0
             // On va chercher le login de l'utilisateur dans la table créée
             $sql_p = "SELECT login_u FROM ldap_bx\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tWHERE nom_u = '" . my_strtoupper($affiche[0]) . "'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tAND prenom_u = '" . my_strtoupper($affiche[1]) . "'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tAND statut_u = 'teacher'";
             $query_p = mysqli_query($GLOBALS["mysqli"], $sql_p);
             $nbre = mysqli_num_rows($query_p);
             if ($nbre >= 1 and $nbre < 2) {
                 $temp1 = old_mysql_result($query_p, 0, "login_u");
             } else {
                 // Il faudrait alors proposer une alternative à ce cas
                 $temp1 = "erreur_" . $k;
             }
         }
     } else {
         die('Vous n\'avez pas autorisé Gepi à utiliser un ENT');
     }
 } else {
     $temp1 = generate_unique_login($affiche[0], $affiche[1], $_POST['login_gen_type'], $_POST['login_gen_type_casse']);
 }
 if (!$temp1 || $temp1 == "") {
     $temp1 = "erreur_";
 }
 $login_prof = $temp1;
 // On teste l'unicité du login que l'on vient de créer
 $m = 2;
 $test_unicite = 'no';
 $temp = $login_prof;
 while ($test_unicite != 'yes') {
     $test_unicite = test_unique_login($login_prof);
     if ($test_unicite != 'yes') {
         $login_prof = $temp . $m;
         $m++;
     }
Example #2
0
                 // On va chercher le login de l'utilisateur dans la table créée
                 $sql_p = "SELECT login_u FROM ldap_bx\n\t\t\t\t\t\t\t\t\t\t\t\t\tWHERE nom_u = '" . my_strtoupper($reg_nom_login) . "'\n\t\t\t\t\t\t\t\t\t\t\t\t\tAND prenom_u = '" . my_strtoupper($reg_prenom_login) . "'\n\t\t\t\t\t\t\t\t\t\t\t\t\tAND statut_u = 'teacher'";
                 $query_p = mysqli_query($GLOBALS["mysqli"], $sql_p);
                 $nbre = mysqli_num_rows($query_p);
                 if ($nbre >= 1 and $nbre < 2) {
                     $login_prof = old_mysql_result($query_p, 0, "login_u");
                 } else {
                     // Il faudrait alors proposer une alternative à ce cas
                     $login_prof = "erreur_" . $k;
                 }
             }
         } else {
             die('Vous n\'avez pas autorisé Gepi à utiliser un ENT');
         }
     } else {
         $login_prof = generate_unique_login($reg_nom_login, $reg_prenom_login, $_POST['login_gen_type'], $_POST['login_gen_type_casse']);
     }
 } else {
     // Le prof semble déjà exister. On récupère son login actuel
     $login_prof = old_mysql_result($test, 0, "login");
     $prof_exists = true;
 }
 if (!$login_prof || $login_prof == "") {
     $login_prof = "erreur_";
     // On teste l'unicité du login que l'on vient de créer
     $m = 2;
     $test_unicite = 'no';
     $temp = $login_prof;
     while ($test_unicite != 'yes') {
         $test_unicite = test_unique_login($login_prof);
         if ($test_unicite != 'yes') {
Example #3
0
								$tmp_nom=remplace_accents($lig->ELENOM);
								$tmp_prenom=remplace_accents($lig->ELEPRE);
		
								// Générer un login...
								$mode_generation_login_eleve=getSettingValue('mode_generation_login_eleve');
								if(!check_format_login($mode_generation_login_eleve)) {
									$mode_generation_login_eleve='nnnnnnnnn_p';

									$sql="SELECT * FROM infos_actions WHERE titre='Format des logins générés';";
									$test_ia=mysqli_query($GLOBALS["mysqli"], $sql);
									if(mysqli_num_rows($test_ia)==0) {
										enregistre_infos_actions("Format des logins générés","Le format des logins générés par Gepi pour les différentes catégories d'utilisateurs doit être contrôlé et revalidé dans la page <a href='./gestion/param_gen.php#format_login_pers'>Configuration générale</a>",array("administrateur"),'statut');
									}
								}
								$login_eleve=generate_unique_login($tmp_nom, $tmp_prenom, $mode_generation_login_eleve, 'maj');

								if(($login_eleve)&&($login_eleve!='')) {
									// On teste l'unicité du login que l'on vient de créer
									$k = 2;
									$test_unicite = 'no';
									$temp = $login_eleve;
									while ($test_unicite != 'yes') {
										//$test_unicite = test_unique_e_login($login_eleve,$i);
										$test_unicite = test_unique_login($login_eleve);
										if ($test_unicite != 'yes') {
											$login_eleve = $temp.$k;
											$k++;
										}
									}
								}
Example #4
0
             // On va chercher le login de l'utilisateur dans la table créée
             $sql_p = "SELECT login_u FROM ldap_bx\n\t\t\t\t\t\t\t\t\t\t\t\tWHERE nom_u = '" . my_strtoupper($prof[$k]["nom_usage"]) . "'\n\t\t\t\t\t\t\t\t\t\t\t\tAND prenom_u = '" . my_strtoupper($prof[$k]["prenom"]) . "'\n\t\t\t\t\t\t\t\t\t\t\t\tAND statut_u = 'teacher'";
             $query_p = mysqli_query($GLOBALS["mysqli"], $sql_p);
             $nbre = mysqli_num_rows($query_p);
             if ($nbre >= 1 and $nbre < 2) {
                 $temp1 = old_mysql_result($query_p, 0, "login_u");
             } else {
                 // Il faudrait alors proposer une alternative à ce cas
                 $temp1 = "erreur_" . $k;
             }
         }
     } else {
         die('Vous n\'avez pas autorisé Gepi à utiliser un ENT');
     }
 } else {
     $temp1 = generate_unique_login($prof[$k]["nom_usage"], $prof[$k]["prenom"], $_POST['login_gen_type'], $_POST['login_gen_type_casse']);
 }
 if ($auth_sso == 'lcs' || $gepi_non_plugin_lcs_mais_recherche_ldap) {
     // On ne devrait jamais arriver là.
     $login_prof = $login_prof_gepi;
 } else {
     if (!$temp1 || $temp1 == "") {
         $temp1 = "erreur_";
     }
     $login_prof = $temp1;
     //$login_prof = remplace_accents($temp1,"all");
     // On teste l'unicité du login que l'on vient de créer
     $m = 2;
     $test_unicite = 'no';
     $temp = $login_prof;
     while ($test_unicite != 'yes') {
Example #5
0
     $res_tmp_u = mysqli_query($GLOBALS["mysqli"], $sql);
     if (mysqli_num_rows($res_tmp_u) > 0) {
         $lig_tmp_u = mysqli_fetch_object($res_tmp_u);
         $login_eleve = $lig_tmp_u->login;
     }
 }
 if ($login_eleve == "") {
     $default_login_gen_type = getSettingValue('mode_generation_login_eleve');
     if ($default_login_gen_type == '' || !check_format_login($default_login_gen_type)) {
         $default_login_gen_type = 'nnnnnnnnn_p';
     }
     $default_login_gen_type_casse = getSettingValue('mode_generation_login_eleve_casse');
     if ($default_login_gen_type_casse != 'min' && $default_login_gen_type_casse != 'maj') {
         $default_login_gen_type_casse = 'min';
     }
     $login_eleve = generate_unique_login($reg_nom, $reg_prenom, $default_login_gen_type, $default_login_gen_type_casse);
     if ($debug_ele == 'y') {
         echo "<span style='color:blue;'>Login nouvellement généré pour '{$reg_nom} {$reg_prenom}' : '{$login_eleve}'</span><br />";
     }
 }
 // Dans le cas où Gepi est intégré à un ENT, il ne doit pas générer de login mais récupérer celui qui existe déjà
 // A VERIFIER : Avec afficher_liaison_ent = argos_bordeaux passe-t-on par cette table ldap_bx?
 if (getSettingValue("use_ent") == 'y' && getSettingValue('afficher_liaison_ent') != "netcollege") {
     // On a récupéré les informations dans la table ldap_bx
     // voir aussi les explications de la ligne 710 du fichiers professeurs.php
     $sql_p = "SELECT login_u FROM ldap_bx\n\t\t\t\t\t\t\t\t\t\t\tWHERE identite_u = '" . $no_gep . "'";
     $query_p = mysqli_query($GLOBALS["mysqli"], $sql_p);
     $nbre = mysqli_num_rows($query_p);
     if ($nbre >= 1) {
         // On considère que l'information est bonne puisqu'elle a été construite avec la même source sconet
         $login_eleve = old_mysql_result($query_p, 0, "login_u");
Example #6
0
							}
						} else {
							$exist = 'yes';
							$login_prof_gepi = old_mysql_result($test_exist,0,'login');
						}

						if ($exist == 'no') {
							// Aucun professeur ne porte le même nom dans la base GEPI. On va donc rentrer ce professeur dans la base
							$mode_generation_login=getSettingValue("mode_generation_login");

							if((isset($user_login))&&($user_login!="")) {
								$login_prof = $user_login;
							}
							else {
								$affiche[1] = traitement_magic_quotes(corriger_caracteres($affiche[1]));
								$login_prof = generate_unique_login($affiche[0],$affiche[1],$mode_generation_login);
							}

							if(!$login_prof) {
								$msg="Login non généré.<br />Le mode de génération choisi n'est peut-être pas valide : '$mode_generation_login'<br />Consultez la page <a href='../gestion/param_gen.php#format_login_pers'>Configuration générale</a> pour corriger ou revalider le choix de format de login.<br />";
								$remplacant_non_cree="y";
							}
							else {
								/*
								//$login_prof = remplace_accents($temp1,"all");
								// On teste l'unicité du login que l'on vient de créer
								$m = 2;
								$test_unicite = 'no';
								$temp = $login_prof;
								while ($test_unicite != 'yes') {
									$test_unicite = test_unique_login($login_prof);
Example #7
0
					$query_p = mysqli_query($GLOBALS["mysqli"], $sql_p);
					$nbre = mysqli_num_rows($query_p);

					if ($nbre >= 1 AND $nbre < 2) {
						$reg_login = old_mysql_result($query_p, 0,"login_u");
					}
					else {
						// Il faudrait alors proposer une alternative à ce cas et permettre de chercher à la main le bon responsable dans la source
						//$reg_login = "******".$k; // en attendant une solution viable, on génère le login du responsable
						$reg_login = generate_unique_login($current_parent->nom, $current_parent->prenom, getSettingValue("mode_generation_login_responsable"), getSettingValue("mode_generation_login_responsable_casse"));
					}
				}
			} else {
				// Création du compte utilisateur pour le responsable considéré
				//echo "\$reg_login = generate_unique_login($current_parent->nom, $current_parent->prenom, ".getSettingValue("mode_generation_login").");<br />\n";
				$reg_login = generate_unique_login($current_parent->nom, $current_parent->prenom, getSettingValue("mode_generation_login_responsable"), getSettingValue("mode_generation_login_responsable_casse"));
				// generate_unique_login() peut retourner 'false' en cas de pb
			}

			if(($reg_login)&&($reg_login!='')) {
				//check_token();

				// Si on a un accès LDAP en écriture, on créé le compte sur le LDAP
				// On ne procède que si le LDAP est configuré en écriture, qu'on a activé
				// l'auth LDAP ou SSO, et que c'est un de ces deux modes qui a été choisi pour cet utilisateur.
				if (LDAPServer::is_setup() && $gepiSettings["ldap_write_access"] == "yes" && ($session_gepi->auth_ldap || $session_gepi->auth_sso) && ($_POST['reg_auth_mode'] == 'auth_ldap' || $_POST['reg_auth_mode'] == 'auth_sso')) {
					$write_ldap = true;
					$write_ldap_success = false;
					// On tente de créer l'utilisateur sur l'annuaire LDAP
					$ldap_server = new LDAPServer();
					if ($ldap_server->test_user($_POST['new_login'])) {
Example #8
0
         echo "<span style='color:green;'>OK</span>";
         //echo "</p>\n";
     } else {
         echo "<span style='color:red;'>ERREUR</span>";
         echo "</p>\n";
         //require_once("../lib/footer.inc.php");
         //die();
     }
 }
 // Créer l'utilisateur prof...
 $sql = "SELECT login FROM utilisateurs WHERE nom='{$nom_etab_ori}' AND prenom='{$ville_etab_ori}';";
 $res = mysqli_query($GLOBALS["mysqli"], $sql);
 if (mysqli_num_rows($res) == 0) {
     echo "<p>Création d'un utilisateur professeur '{$nom_etab_ori}': ";
     // CREER UN LOGIN
     $login_etab = generate_unique_login($nom_etab_ori, $ville_etab_ori, "nnnnnnnnnnnnnnnnnnnn");
     if (!$login_etab || $login_etab == '') {
         echo "<span style='color:red;'>ERREUR&nbsp;:</span> Aucun login n'a pu être généré pour l'établissement {$nom_etab_ori} ({$ville_etab_ori}).";
         echo "</p>\n";
         require_once "../lib/footer.inc.php";
         die;
     } else {
         $sql = "INSERT INTO utilisateurs SET login='******',\n\t\t\t\t\t\t\t\t\t\t\t\t\tnom='{$nom_etab_ori}',\n\t\t\t\t\t\t\t\t\t\t\t\t\tprenom='{$ville_etab_ori}',\n\t\t\t\t\t\t\t\t\t\t\t\t\tcivilite='M.',\n\t\t\t\t\t\t\t\t\t\t\t\t\tpassword='',\n\t\t\t\t\t\t\t\t\t\t\t\t\tstatut='professeur',\n\t\t\t\t\t\t\t\t\t\t\t\t\tetat='inactif';";
         $res = mysqli_query($GLOBALS["mysqli"], $sql);
         if ($res) {
             echo "<span style='color:green;'>OK</span>";
             echo "</p>\n";
         } else {
             echo "<span style='color:red;'>ERREUR</span>";
             echo "</p>\n";
             require_once "../lib/footer.inc.php";