3,36 → 3,20 |
/************************************************************************ |
* ALCASAR INSCRIPTION * |
* * |
* By K@M3L & T3RRY LaPlateforme * |
* By K@M3L 1101130512.1901090409 & T3RRY LaPlateforme_. * |
* V 1.0 June 2021. * |
* * |
* Partie back de la page d'inscription des utilisateurs * |
* Récupère les infos de "email_registration_front.php * |
* - Lit le fichier de configuration /usr/local/etc/alcasar.conf * |
* - Verifie si le login est déjà présent dans la table "radcheck" * |
* - Vérifie si l'@ mail est présent dans la table "userinfo" * |
* - Verifie si le login est déjà présent dans l table "radcheck" * |
* - Vérifie si le mail est présent dans la table "userinfo" * |
* - Vérifie que le domaine du mail est bien WLD (optionnel) * |
* - Crée l'utilisateur avec un mot de passe aléatoire * |
* - Envoi l'email à l'utilisaeur et à l'admin avec date et IP * |
* - Inscrit l'utilisateur avec un mot de passe aléatoire * |
* - Envoi l'email à l'utilisaeur et à l'admin avec la date et IP * |
* * |
*************************************************************************/ |
|
$Language = 'en'; |
if (isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])) { |
$Langue = explode(',', $_SERVER['HTTP_ACCEPT_LANGUAGE']); |
$Language = strtolower(substr(chop($Langue[0]), 0, 2)); |
} |
if ($Language === 'fr') { |
$l_invalid_Email = "L'adresse email est invalide"; |
$l_domain = "Le domaine"; |
$l_not_authorized = "n'est pas autorisé"; |
$l_Email_already_used = "Cette adresse email est déjà utilisée."; |
} else { |
$l_invalid_Email = "Invalid Email address"; |
$l_domain = "The domain"; |
$l_not_authorized = "is not authorized"; |
$l_Email_already_used = "This Email address is already used."; |
} |
|
if (is_file("acc/manager/lib/langues.php")) |
include("acc/manager/lib/langues.php"); |
|
45,6 → 29,7 |
if(!isset($selected)) $selected = array(); |
if(!isset($selected['='])) $selected['='] = ''; |
|
|
require('/etc/freeradius-web/config.php'); |
require('acc/manager/lib/attrshow.php'); |
require('acc/manager/lib/defaults.php'); |
75,6 → 60,7 |
$da_abort=0; |
$op_val2 = ''; |
|
|
function GenPassword($nb_car="8") |
{ |
// Random password |
117,7 → 103,7 |
$Fmail = htmlentities(strtolower(trim($Fmail))); |
|
if(!filter_var($Fmail, FILTER_VALIDATE_EMAIL)){ |
echo "<b>$l_invalid_Email</b><br />\n"; |
echo "<b>L'adresse email est invalide</b><br />\n"; |
exit(); |
} |
|
127,7 → 113,7 |
// on vérifie si le domaine est dans la WLD, sinon on bloque |
if (!empty($whiteDomain)){ |
if (!in_array($domain, $whiteDomain)){ |
echo "$l_domain $domain $l_not_authorized"; |
echo "Le domaine $domain n'est pas autorisé"; |
exit(); |
} |
} |
157,11 → 143,13 |
// da_sql_close($link,$config) |
|
|
if($login_check > 0) { //Adresse email utilisée en tant que login |
echo "<b>$l_Email_already_used</b><br />\n"; |
} else if($email_check > 0) { //Adresse email utilisée dans les infos utilisateur |
echo "<b>$l_Email_already_used</b><br />\n"; |
if($login_check > 0) { |
//Adresse email utilisée en tant que login |
echo "<b>L'adresse email est déjà utilisée.</b><br />\n"; |
} else if($email_check > 0) { |
echo "<b>L'adresse mail est déjà utilisée.</b><br />\n"; |
} else { |
|
$password = GenPassword(); |
|
// si on ajoute des inputs pour les infos user |
171,6 → 159,7 |
$Ftelephonenumber = ""; |
$Fmobile = ""; |
*/ |
|
$link = da_sql_pconnect($config); |
if ($link){ |
mysqli_set_charset($link,"utf8"); |
203,6 → 192,7 |
"INSERT INTO $config[sql_user_info_table] |
(username,name,mail,department,homephone,workphone,mobile) VALUES |
('$login','$Fcn','$Fmail','$Fou','$Fhomephone','$Ftelephonenumber','$Fmobile');"); |
|
if (!$res || !da_sql_affected_rows($link,$res,$config)) |
// Erreur sql à supprimer : l'info ne devrait pas être communiquer au client. |
echo "<b>Une erreur s'est produite lors de la création du compte : " . da_sql_error($link,$config) . "</b><br />\n"; |
276,6 → 266,8 |
echo "<b>Query failed for attribute $key: " . da_sql_error($link,$config) . "</b><br />\n"; |
} |
} |
|
|
// L'utilisateur est ajouter dans la radcheck, ses info dans la userinfo, on envoi le mail avec identifiant et passwd |
|
$ip = $_SERVER['REMOTE_ADDR']; |
282,6 → 274,7 |
$time = date_create('now')->format('d-m-Y H:i:s'); |
$domain = $conf["DOMAIN"]; |
$hostname = $conf["HOSTNAME"].'.'.$domain; |
$hostname = "alcasar.laplateforme.io"; |
|
$to = $Fmail; |
$from = "alcasar@$domain"; |
293,8 → 286,10 |
</head> |
<body> |
Bonjour,<br/><br/> |
|
<h3>Bienvenue sur ALCASAR @ $domain</h3> |
<p>Ceci est un email automatique avec vos identifiants, veuillez changer votre mot de passe.<br/> |
|
<h4>Indentifiants de connexion:</h4> |
<pre> |
Adresse e-mail : $Fmail |
313,6 → 308,7 |
echo "<center>success : <b>Vous y êtes presque ! $l_user '$login' $l_created</b></center><br />"; |
echo "<center>success : <b>Un email contenant vos informations de connexion vient de vous être envoyé.</b></center><br />"; |
|
|
// le mail pour l'uitilisateur est envoyé, si l'admin a configuré son mail, on lui envoi |
// une notification d'inscription avec l'ip, l'heure, et le login de l'utilisateur |
if (!empty($adminMail)){ |
340,12 → 336,15 |
<p>ALCASAR <a href=\"https://$hostname\">$domain</a></p> |
</body> |
</html>"; |
|
$header = "From: $from\n"; |
$header .= "MIME-Version: 1.0\n"; |
$header .= "Content-type: text/html; charset=utf-8\n"; |
mail($to, $subject, $message, $header); |
|
} |
|
|
} else { |
//Le mot de passe est généré aléatoirement, si le mail n'est pas envoyé, on supprime le compte de la bdd ou on lui demande d'utiliser la page reset |
/* $link = da_sql_pconnect($config); |