Subversion Repositories ALCASAR

Compare Revisions

Ignore whitespace Rev 3010 → Rev 3011

/web/email_registration_back.php
3,20 → 3,36
/************************************************************************
* ALCASAR INSCRIPTION *
* *
* By K@M3L 1101130512.1901090409 & T3RRY LaPlateforme_. *
* V 1.0 June 2021. *
* By K@M3L & T3RRY LaPlateforme *
* *
* 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 l table "radcheck" *
* - Vérifie si le mail est présent dans la table "userinfo" *
* - 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" *
* - Vérifie que le domaine du mail est bien WLD (optionnel) *
* - Inscrit l'utilisateur avec un mot de passe aléatoire *
* - Envoi l'email à l'utilisaeur et à l'admin avec la date et IP *
* - Crée l'utilisateur avec un mot de passe aléatoire *
* - Envoi l'email à l'utilisaeur et à l'admin avec 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");
 
29,7 → 45,6
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');
60,7 → 75,6
$da_abort=0;
$op_val2 = '';
 
 
function GenPassword($nb_car="8")
{
// Random password
103,7 → 117,7
$Fmail = htmlentities(strtolower(trim($Fmail)));
if(!filter_var($Fmail, FILTER_VALIDATE_EMAIL)){
echo "<b>L'adresse email est invalide</b><br />\n";
echo "<b>$l_invalid_Email</b><br />\n";
exit();
}
113,7 → 127,7
// on vérifie si le domaine est dans la WLD, sinon on bloque
if (!empty($whiteDomain)){
if (!in_array($domain, $whiteDomain)){
echo "Le domaine $domain n'est pas autorisé";
echo "$l_domain $domain $l_not_authorized";
exit();
}
}
143,13 → 157,11
// da_sql_close($link,$config)
 
 
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";
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";
} else {
 
$password = GenPassword();
// si on ajoute des inputs pour les infos user
159,7 → 171,6
$Ftelephonenumber = "";
$Fmobile = "";
*/
 
$link = da_sql_pconnect($config);
if ($link){
mysqli_set_charset($link,"utf8");
192,7 → 203,6
"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";
266,8 → 276,6
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'];
274,7 → 282,6
$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";
286,10 → 293,8
</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
308,7 → 313,6
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)){
336,15 → 340,12
<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);
/web/email_registration_front.php
4,8 → 4,7
* *
* ALCASAR EMAIL INSCRIPTION *
* *
* By K@M3L 1101130512.1901090409 & T3RRY @ La Plateforme_ *
* V 1.0 June 2021. *
* By K@M3L & T3RRY @ La Plateforme_ *
* *
* Partie front de la page d'inscription des utilisateurs *
* elle envoi les infos à traiter à la page de traitement *
18,13 → 17,13
$Langue = explode(',', $_SERVER['HTTP_ACCEPT_LANGUAGE']);
$Language = strtolower(substr(chop($Langue[0]), 0, 2));
}
if ($Language === 'fr') { // French
if ($Language === 'fr') {
$l_home = " Accueil";
$l_title = "Inscription par Email";
$l_login = "Connexion";
$l_Email = "Adresse électronique: *";
$l_mandatory = "* Remplir tous les champs obligatoires";
} else { // English
} else {
$l_home = " Home";
$l_title = "Email inscription";
$l_login = "Login";