Example #1
0
     } 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++;
     }
 }
 $affiche[0] = nettoyer_caracteres_nom($affiche[0], "a", " _-", "");
 // Mot de passe
 if (mb_strlen($affiche[5]) > 2 and $affiche[4] == "ENS" and $_POST['sso'] == "no") {
     //
     $pwd = md5(trim($affiche[5]));
     //NUMEN
     //$mess_mdp = "NUMEN";
     $mess_mdp = "Mot de passe dans le fichier fourni";
     //echo "<tr><td colspan='4'>NUMEN: $affiche[5] $pwd</td></tr>";
 } elseif ($_POST['sso'] == "no") {
Example #2
0
							if(trim($ligne)!=""){
								$tabligne=explode(";",$ligne);
								for($i = 0; $i < count($tabchamps); $i++) {
									//$ind = $tabindice[$i];
									$affiche[$i] = nettoyer_caracteres_nom($tabligne[$tabindice[$i]],"an", " '._-", "");
									//echo "A l'indice $i, on a \$tabligne[\$tabindice[$i]]=\$tabligne[$tabindice[$i]]=".$tabligne[$tabindice[$i]]."<br />";
								}


								$login_resp="";
								$sql="SELECT * FROM tempo_utilisateurs WHERE identifiant1='$affiche[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_resp=$lig_tmp_u->login;
									if(test_unique_login($login_resp)!='yes') {
										$login_resp="";
									}
								}

								$sql="insert into resp_pers set
											pers_id = '$affiche[0]',
											nom = '".mysqli_real_escape_string($GLOBALS["mysqli"], $affiche[1])."',
											prenom = '".mysqli_real_escape_string($GLOBALS["mysqli"], $affiche[2])."',
											civilite = '".mysqli_real_escape_string($GLOBALS["mysqli"], casse_mot($affiche[3],'majf2'))."',
											tel_pers = '".mysqli_real_escape_string($GLOBALS["mysqli"], $affiche[4])."',
											tel_port = '".mysqli_real_escape_string($GLOBALS["mysqli"], $affiche[5])."',
											tel_prof = '".mysqli_real_escape_string($GLOBALS["mysqli"], $affiche[6])."',
											mel = '".mysqli_real_escape_string($GLOBALS["mysqli"], $affiche[7])."',
											adr_id = '$affiche[8]'
											";
Example #3
0
									$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++;
										}
									}
								}
							}
	
							if($login_eleve=='') {
								$texte.="<p style='color:red;'>Le login de $lig->ELENOM $lig->ELEPRE n'a pas pu être généré ni récupéré.</p>\n";
							}
							else {
								// On ne renseigne plus l'ERENO et on n'a pas l'EMAIL dans temp_gep_import2
								$sql="INSERT INTO eleves SET login='******',
														nom='".mysqli_real_escape_string($GLOBALS["mysqli"], $lig->ELENOM)."',
Example #4
0
/**
 * Génére le login à partir du nom et du prénom
 * 
 * Génère puis nettoie un login pour qu'il soit valide et unique
 * 
 * Le mode de génération doit être passé en argument
 * 
 * name             à partir du nom
 * 
 * name8            à partir du nom, réduit à 8 caractères
 * 
 * name9_p          à partir du nom, réduit à 9 caractères + _ + première lettre du prénom (format historique du login élève dans Gepi)
 * 
 * fname8           première lettre du prénom + nom, réduit à 8 caractères
 * 
 * fname19          première lettre du prénom + nom, réduit à 19 caractères
 * 
 * firstdotname     prénom.nom
 * 
 * firstdotname19   prénom.nom réduit à 19 caractères
 * 
 * namef8           nom réduit à 7 caractères + première lettre du prénom
 * 
 * lcs              première lettre du prénom + premier nom (+ _ + deuxième nom si le 1er nom fait moins de 4 caractères)
 * 
 * si $_mode est NULL, fname8 est utilisé
 * 
 * @param string $_nom nom de l'utilisateur
 * @param string $_prenom prénom de l'utilisateur
 * @param string $_mode Le mode de génération ou NULL
 * @param string $_casse La casse du login ('maj', 'min', '') par défaut la casse n'est pas modifiée
 * @return string|booleanLe login généré ou FALSE si on obtient un login vide
 * @see test_unique_login()
 */
function generate_unique_login_old($_nom, $_prenom, $_mode, $_casse = '')
{
    if ($_mode == NULL) {
        $_mode = "fname8";
    }
    // On génère le login
    $_prenom = remplace_accents($_prenom);
    $prenoms = explode(" ", $_prenom);
    $premier_prenom = $prenoms[0];
    $prenom_compose = '';
    if (isset($prenoms[1])) {
        $prenom_compose = $prenoms[0] . "-" . $prenoms[1];
    }
    $_prenom = preg_replace("/[^a-zA-Z.\\-]/", "", $_prenom);
    $_nom = remplace_accents($_nom);
    $_nom = preg_replace("/[^a-zA-Z.\\-]/", "", $_nom);
    if ($_nom == '') {
        return FALSE;
    }
    if ($_mode == "name") {
        $temp1 = $_nom;
        $temp1 = preg_replace("/ /", "", $temp1);
        $temp1 = preg_replace("/-/", "_", $temp1);
        $temp1 = preg_replace("/'/", "", $temp1);
    } elseif ($_mode == "name8") {
        $temp1 = $_nom;
        $temp1 = preg_replace("/ /", "", $temp1);
        $temp1 = preg_replace("/-/", "_", $temp1);
        $temp1 = preg_replace("/'/", "", $temp1);
        $temp1 = mb_substr($temp1, 0, 8);
    } elseif ($_mode == "name9_p") {
        // Format d'origine des comptes élèves dans Gepi
        $temp1 = $_nom;
        $temp1 = preg_replace("/[ '-]/", "", $temp1);
        $temp1 = mb_substr($temp1, 0, 9);
        if ($_prenom != '') {
            $temp2 = preg_replace("/ /", "", $_prenom);
            $temp2 = preg_replace("/-/", "_", $temp2);
            $temp2 = preg_replace("/'/", "", $temp2);
            if ($temp2 != '') {
                $temp1 .= '_' . mb_substr($temp2, 0, 1);
            }
        }
    } elseif ($_mode == "name9-p") {
        // Format d'origine des comptes élèves dans Gepi
        $temp1 = $_nom;
        $temp1 = preg_replace("/[ '-]/", "", $temp1);
        $temp1 = mb_substr($temp1, 0, 9);
        if ($_prenom != '') {
            $temp2 = preg_replace("/ /", "", $_prenom);
            $temp2 = preg_replace("/-/", "_", $temp2);
            $temp2 = preg_replace("/'/", "", $temp2);
            if ($temp2 != '') {
                $temp1 .= '-' . mb_substr($temp2, 0, 1);
            }
        }
    } elseif ($_mode == "name9.p") {
        // Format d'origine des comptes élèves dans Gepi
        $temp1 = $_nom;
        $temp1 = preg_replace("/[ '-]/", "", $temp1);
        $temp1 = mb_substr($temp1, 0, 9);
        if ($_prenom != '') {
            $temp2 = preg_replace("/ /", "", $_prenom);
            $temp2 = preg_replace("/-/", "_", $temp2);
            $temp2 = preg_replace("/'/", "", $temp2);
            if ($temp2 != '') {
                $temp1 .= '.' . mb_substr($temp2, 0, 1);
            }
        }
    } elseif ($_mode == "p_name9") {
        // Format d'origine des comptes élèves dans Gepi
        $temp1 = $_nom;
        $temp1 = preg_replace("/[ '-]/", "", $temp1);
        $temp1 = mb_substr($temp1, 0, 9);
        if ($_prenom != '') {
            $temp2 = preg_replace("/ /", "", $_prenom);
            $temp2 = preg_replace("/-/", "_", $temp2);
            $temp2 = preg_replace("/'/", "", $temp2);
            if ($temp2 != '') {
                $temp1 = mb_substr($temp2, 0, 1) . "_" . $temp1;
            }
        }
    } elseif ($_mode == "p-name9") {
        // Format d'origine des comptes élèves dans Gepi
        $temp1 = $_nom;
        $temp1 = preg_replace("/[ '-]/", "", $temp1);
        $temp1 = mb_substr($temp1, 0, 9);
        if ($_prenom != '') {
            $temp2 = preg_replace("/ /", "", $_prenom);
            $temp2 = preg_replace("/-/", "_", $temp2);
            $temp2 = preg_replace("/'/", "", $temp2);
            if ($temp2 != '') {
                $temp1 = mb_substr($temp2, 0, 1) . "-" . $temp1;
            }
        }
    } elseif ($_mode == "p.name9") {
        // Format d'origine des comptes élèves dans Gepi
        $temp1 = $_nom;
        $temp1 = preg_replace("/[ '-]/", "", $temp1);
        $temp1 = mb_substr($temp1, 0, 9);
        if ($_prenom != '') {
            $temp2 = preg_replace("/ /", "", $_prenom);
            $temp2 = preg_replace("/-/", "_", $temp2);
            $temp2 = preg_replace("/'/", "", $temp2);
            if ($temp2 != '') {
                $temp1 = mb_substr($temp2, 0, 1) . "." . $temp1;
            }
        }
    } elseif ($_mode == "name9_ppp") {
        // Format d'origine des comptes élèves dans Gepi
        $temp1 = $_nom;
        $temp1 = preg_replace("/[ '-]/", "", $temp1);
        $temp1 = mb_substr($temp1, 0, 9);
        if ($_prenom != '') {
            $temp2 = preg_replace("/ /", "", $_prenom);
            $temp2 = preg_replace("/-/", "_", $temp2);
            $temp2 = preg_replace("/'/", "", $temp2);
            if ($temp2 != '') {
                $temp1 .= '_' . mb_substr($temp2, 0, 3);
            }
        }
    } elseif ($_mode == "name9-ppp") {
        // Format d'origine des comptes élèves dans Gepi
        $temp1 = $_nom;
        $temp1 = preg_replace("/[ '-]/", "", $temp1);
        $temp1 = mb_substr($temp1, 0, 9);
        if ($_prenom != '') {
            $temp2 = preg_replace("/ /", "", $_prenom);
            $temp2 = preg_replace("/-/", "_", $temp2);
            $temp2 = preg_replace("/'/", "", $temp2);
            if ($temp2 != '') {
                $temp1 .= '-' . mb_substr($temp2, 0, 3);
            }
        }
    } elseif ($_mode == "name9.ppp") {
        // Format d'origine des comptes élèves dans Gepi
        $temp1 = $_nom;
        $temp1 = preg_replace("/[ '-]/", "", $temp1);
        $temp1 = mb_substr($temp1, 0, 9);
        if ($_prenom != '') {
            $temp2 = preg_replace("/ /", "", $_prenom);
            $temp2 = preg_replace("/-/", "_", $temp2);
            $temp2 = preg_replace("/'/", "", $temp2);
            if ($temp2 != '') {
                $temp1 .= '.' . mb_substr($temp2, 0, 3);
            }
        }
    } elseif ($_mode == "ppp_name9") {
        // Format d'origine des comptes élèves dans Gepi
        $temp1 = $_nom;
        $temp1 = preg_replace("/[ '-]/", "", $temp1);
        $temp1 = mb_substr($temp1, 0, 9);
        if ($_prenom != '') {
            $temp2 = preg_replace("/ /", "", $_prenom);
            $temp2 = preg_replace("/-/", "_", $temp2);
            $temp2 = preg_replace("/'/", "", $temp2);
            if ($temp2 != '') {
                $temp1 = mb_substr($temp2, 0, 3) . "_" . $temp1;
            }
        }
    } elseif ($_mode == "ppp-name9") {
        // Format d'origine des comptes élèves dans Gepi
        $temp1 = $_nom;
        $temp1 = preg_replace("/[ '-]/", "", $temp1);
        $temp1 = mb_substr($temp1, 0, 9);
        if ($_prenom != '') {
            $temp2 = preg_replace("/ /", "", $_prenom);
            $temp2 = preg_replace("/-/", "_", $temp2);
            $temp2 = preg_replace("/'/", "", $temp2);
            if ($temp2 != '') {
                $temp1 = mb_substr($temp2, 0, 3) . "-" . $temp1;
            }
        }
    } elseif ($_mode == "ppp.name9") {
        // Format d'origine des comptes élèves dans Gepi
        $temp1 = $_nom;
        $temp1 = preg_replace("/[ '-]/", "", $temp1);
        $temp1 = mb_substr($temp1, 0, 9);
        if ($_prenom != '') {
            $temp2 = preg_replace("/ /", "", $_prenom);
            $temp2 = preg_replace("/-/", "_", $temp2);
            $temp2 = preg_replace("/'/", "", $temp2);
            if ($temp2 != '') {
                $temp1 = mb_substr($temp2, 0, 3) . "." . $temp1;
            }
        }
    } elseif ($_mode == "fname8") {
        if ($_prenom == '') {
            return FALSE;
        }
        $temp1 = $_prenom[0] . $_nom;
        $temp1 = preg_replace("/ /", "", $temp1);
        $temp1 = preg_replace("/-/", "_", $temp1);
        $temp1 = preg_replace("/'/", "", $temp1);
        $temp1 = mb_substr($temp1, 0, 8);
    } elseif ($_mode == "fname19") {
        if ($_prenom == '') {
            return FALSE;
        }
        $temp1 = $_prenom[0] . $_nom;
        $temp1 = preg_replace("/ /", "", $temp1);
        $temp1 = preg_replace("/-/", "_", $temp1);
        $temp1 = preg_replace("/'/", "", $temp1);
        $temp1 = mb_substr($temp1, 0, 19);
    } elseif ($_mode == "firstdotname") {
        if ($_prenom == '') {
            return FALSE;
        }
        if ($prenom_compose != '') {
            $firstname = $prenom_compose;
        } else {
            $firstname = $premier_prenom;
        }
        //$temp1 = $_prenom . "." . $_nom;
        $temp1 = $firstname . "." . $_nom;
        $temp1 = preg_replace("/ /", "", $temp1);
        $temp1 = preg_replace("/-/", "_", $temp1);
        $temp1 = preg_replace("/'/", "", $temp1);
    } elseif ($_mode == "firstdotname19") {
        if ($_prenom == '') {
            return FALSE;
        }
        if ($prenom_compose != '') {
            $firstname = $prenom_compose;
        } else {
            $firstname = $premier_prenom;
        }
        //$temp1 = $_prenom . "." . $_nom;
        $temp1 = $firstname . "." . $_nom;
        $temp1 = preg_replace("/ /", "", $temp1);
        $temp1 = preg_replace("/'/", "", $temp1);
        $temp1 = mb_substr($temp1, 0, 19);
    } elseif ($_mode == "namef8") {
        if ($_prenom == '') {
            return FALSE;
        }
        $temp1 = mb_substr($_nom, 0, 7) . $_prenom[0];
        $temp1 = preg_replace("/ /", "", $temp1);
        $temp1 = preg_replace("/-/", "_", $temp1);
        $temp1 = preg_replace("/'/", "", $temp1);
    } elseif ($_mode == "lcs") {
        $temp1 = my_strtolower($_nom);
        if (preg_match("/\\s/", $temp1)) {
            $noms = preg_split("/\\s/", $temp1);
            $temp1 = $noms[0];
            if (mb_strlen($noms[0]) < 4) {
                $temp1 .= "_" . $noms[1];
            }
        }
        $temp1 = my_strtolower(mb_substr($_prenom, 0, 1)) . $temp1;
    } else {
        return FALSE;
    }
    if ($_casse == 'maj') {
        $temp1 = my_strtoupper($temp1);
    } elseif ($_casse == 'min') {
        $temp1 = my_strtolower($temp1);
    }
    $login_user = $temp1;
    // Nettoyage final
    $login_user = mb_substr($login_user, 0, 50);
    $login_user = preg_replace("/[^A-Za-z0-9._\\-]/", "", trim($login_user));
    $test1 = $login_user[0];
    while ($test1 == "_" or $test1 == "-" or $test1 == ".") {
        $login_user = mb_substr($login_user, 1);
        $test1 = $login_user[0];
    }
    $test1 = $login_user[mb_strlen($login_user) - 1];
    while ($test1 == "_" or $test1 == "-" or $test1 == ".") {
        $login_user = mb_substr($login_user, 0, mb_strlen($login_user) - 1);
        $test1 = $login_user[mb_strlen($login_user) - 1];
    }
    // On teste l'unicité du login que l'on vient de créer
    $m = '';
    $test_unicite = 'no';
    while ($test_unicite != 'yes') {
        $test_unicite = test_unique_login($login_user . $m);
        if ($test_unicite != 'yes') {
            if ($m == '') {
                $m = 2;
            } else {
                $m++;
            }
        } else {
            $login_user = $login_user . $m;
        }
    }
    return $login_user;
}