[Intégré 3.1.49] Numéro de téléphone à l'enregistrement

Décrivez les améliorations que vous souhaiteriez pour les prochaines versions.
Répondre
balooales
Gsup LEVEL 3
Messages : 58
Enregistré le : mer. 27 nov. 2019 19:00

Bonjour

Serait il possible de rajouter l'obligation de la saisie du numéro de téléphone de l'utilisateur lors de son enregistrement pour la création de son compte . Cela permettrai de pouvoir le contacter rapidement lors de sa première création de ticket.
Merci d'avance
balooales
Gsup LEVEL 3
Messages : 58
Enregistré le : mer. 27 nov. 2019 19:00

J'ai modifier le register.php pour que le numero de telephone soit rentré par l'utilisateur lors de l'enregistrement . Si vous souhaitez l'integrer dans les prochaines version le voici :

<?php
################################################################################
# @Name : ./register.php
# @Description : create gestsup user
# @Call : /index.php
# @Author : Flox
# @Version : 3.1.48
# @Create : 20/03/2014
# @Update : 05/12/2019
################################################################################

//init language
require('localization.php');

//initialize variable
if(!isset($message)) $message = '';
if(!isset($info)) $info = '';

if(!isset($_POST['login'])) $_POST['login'] = '';
if(!isset($_POST['password'])) $_POST['password'] = '';
if(!isset($_POST['password2'])) $_POST['password2'] = '';
if(!isset($_POST['mail'])) $_POST['mail'] = '';
if(!isset($_POST['firstname'])) $_POST['firstname'] = '';
if(!isset($_POST['lastname'])) $_POST['lastname'] = '';
if(!isset($_POST['company'])) $_POST['company'] = '';
if(!isset($_POST['captcha'])) $_POST['captcha'] = '';
if(!isset($_POST['phone'])) $_POST['phone'] = '';



//secure string
$_POST['login']=strip_tags($_POST['login']);
$_POST['password']=strip_tags($_POST['password']);
$_POST['password2']=strip_tags($_POST['password2']);
$_POST['mail']=strip_tags($_POST['mail']);
$_POST['firstname']=strip_tags($_POST['firstname']);
$_POST['lastname']=strip_tags($_POST['lastname']);
$_POST['company']=strip_tags($_POST['company']);
$_POST['phone']=strip_tags($_POST['phone']);

//default values
$defaultprofile=2; //1 is poweruser, 2 is single user

//connexion script with database parameters
require "connect.php";

//switch SQL MODE to allow empty values with lastest version of MySQL
$db->exec('SET sql_mode = ""');

//load parameters table
$qry = $db->prepare("SELECT * FROM `tparameters`");
$qry->execute();
$rparameters=$qry->fetch();
$qry->closeCursor();

//display error parameter
if ($rparameters['debug']==1) {
ini_set('display_errors', 'On');
ini_set('display_startup_errors', 'On');
ini_set('html_errors', 'On');
error_reporting(E_ALL);
} else {
ini_set('display_errors', 'Off');
ini_set('display_startup_errors', 'Off');
ini_set('html_errors', 'Off');
error_reporting(E_ALL & ~E_DEPRECATED & ~E_STRICT);
}

if($rparameters['user_register'])
{
//actions on using mail link
if(isset($_GET['token']))
{
//sanitize string
$_GET['token']=htmlspecialchars($_GET['token'], ENT_QUOTES, 'UTF-8');

//check existing token
$qry=$db->prepare("SELECT `id`,`user_id` FROM `ttoken` WHERE token=:token");
$qry->execute(array('token' => $_GET['token']));
$token=$qry->fetch();
$qry->closeCursor();

if(isset($token['user_id']))
{
//enable account
$qry=$db->prepare("UPDATE `tusers` SET `disable`='0' WHERE `id`=:id");
$qry->execute(array('id' => $token['user_id']));
//delete token
$qry=$db->prepare("DELETE FROM `ttoken` WHERE id=:id AND action='subscription'");
$qry->execute(array('id' => $token['id']));

$message='<div class="alert alert-block alert-success"><center><i class="icon-ok green"></i> '.T_("Votre compte à été activé, vous pouvez-vous connecter à l'application en cliquant sur le lien Retour").'.</center></div>';
} else {
$message='<div class="alert alert-danger"><strong><i class="icon-remove"></i> '.T_('Erreur').' :</strong> '.T_("Jeton invalide, merci de contacter votre administrateur.").'<br></div>';
}
}
//actions on submit
if(isset($_POST['submit']))
{
//check inputs
if($_POST['firstname']) {
if($_POST['lastname']) {
if($_POST['login']) {
if($_POST['password']) {
if($_POST['password2']) {
if($_POST['mail']) {
if($_POST['password2']==$_POST['password']) {
//check if user id already exist
$exist_user = false;
$qry = $db->prepare("SELECT `id` FROM `tusers` WHERE `mail`=:mail OR `login`=:login ");
$qry->execute(array('mail' => $_POST['mail'],'login' => $_POST['login']));
while ($row = $qry->fetch()) {$exist_user = true;}
$qry->closeCursor();
if($exist_user==true)
{
$message='<div class="alert alert-danger"><strong><i class="icon-remove"></i> '.T_('Erreur').' :</strong> '.T_("L'identifiant ou l'adresse mail renseignée existe déjà.").'<br></div>';
} else {
if(extension_loaded('gd')) //check captcha
{
session_start();
if(isset($_POST['captcha'])){
if($_POST['captcha']!=$_SESSION['code']){
$message='<div class="alert alert-danger"><strong><i class="icon-remove"></i> '.T_('Erreur').' :</strong> '.T_("Captcha invalide, merci de recopier les caractères présents dans l'image.").'<br></div>';
}
}
}
if(!filter_var($_POST['mail'], FILTER_VALIDATE_EMAIL)) //check if mail is valid
{
$message='<div class="alert alert-danger"><strong><i class="icon-remove"></i> '.T_('Erreur').' :</strong> '.T_("Votre adresse mail est invalide.").'<br></div>';
}
elseif(!$rparameters['mail'] || !$rparameters['mail_smtp']) //check smtp connector enable
{
$message='<div class="alert alert-danger"><strong><i class="icon-remove"></i> '.T_('Erreur').' :</strong> '.T_("Votre connecteur SMTP n'est pas configuré, prenez contact avec votre administrateur.").'<br></div>';
}
elseif($rparameters['user_password_policy']) //check password policy
{
if(strlen($_POST['password'])<$rparameters['user_password_policy_min_lenght'])
{
$message='<div class="alert alert-danger"><strong><i class="icon-remove"></i> '.T_('Erreur').' :</strong> '.T_('Le mot de passe doit faire').' '.$rparameters['user_password_policy_min_lenght'].' '.T_('caractères minimum').'<br></div>';
}elseif($rparameters['user_password_policy_special_char'] && !preg_match('/[^a-zA-Z\d]/', $_POST['password']))
{
$message='<div class="alert alert-danger"><strong><i class="icon-remove"></i> '.T_('Erreur').' :</strong> '.T_('Le mot de passe doit contenir un caractère spécial').'<br></div>';
}elseif($rparameters['user_password_policy_min_maj'] && (!preg_match('/[A-Z]/', $_POST['password']) || !preg_match('/[a-z]/', $_POST['password'])))
{
$message='<div class="alert alert-danger"><strong><i class="icon-remove"></i> '.T_('Erreur').' :</strong> '.T_('Le mot de passe doit posséder au moins une lettre majuscule et une minuscule').'<br></div>';
}
}
if(!$message)
{
$hash = password_hash($_POST['password'], PASSWORD_DEFAULT);

if($rparameters['user_advanced'] && $_POST['company']) //find company if exist else create it
{
$qry=$db->prepare("SELECT `id` FROM `tcompany` WHERE name LIKE name");
$qry->execute(array('name' => $_POST['company']));
$company=$qry->fetch();
$qry->closeCursor();
if(empty($company['id']))
{
$qry=$db->prepare("INSERT INTO `tcompany` (`name`) VALUES (:name)");
$qry->execute(array('name' => $_POST['company']));
$company['id']=$db->lastInsertId();
}
} else {$company['id']=0;}

//insert a disable user

$qry=$db->prepare("INSERT INTO `tusers` (`firstname`,`lastname`,`password`,`mail`,`profile`,`login`,`company`,`phone`,`chgpwd`,`disable`) VALUES (:firstname,:lastname,:password,:mail,:profile,:login,:company,:phone,'0','1')");

$qry->execute(array('firstname' => $_POST['firstname'],'lastname' => $_POST['lastname'],'password' => $hash,'mail' => $_POST['mail'],'profile' => $defaultprofile,'login' => $_POST['login'],'company' => $company['id'],'phone' => $_POST['phone']));

$user_id=$db->lastInsertId();



//create token
$token = uniqid(20);
$qry=$db->prepare("INSERT INTO `ttoken` (`token`,`action`,`user_id`) VALUES (:token,'subscription',:user_id)");
$qry->execute(array('token' => $token,'user_id' => $user_id));

//mail definition
$from=$rparameters['mail_from_adr'];
$to=$_POST['mail'];
$object=T_('Activation de votre compte GestSup');
$message = '
'.T_('Bonjour,').' <br />
<br />
<br />
'.T_("Vous avez fait une demande d'enregistrement sur l'application GestSup").'.<br />
'.T_("Pour activer votre compte merci de cliquer sur le lien ci-après").' :<br />
<br />
<a href="'.$rparameters['server_url'].'/register.php?token='.$token.'">'.$rparameters['server_url'].'/register.php?token='.$token.'</a> <br />
<br />
'.T_('Cordialement').'.';
require('core/message.php');

//message to display
$message='<div class="alert alert-block alert-success"><center><i class="icon-ok green"></i> '.T_('Un mail vous a été envoyé pour valider votre compte').'.</center></div>';
}
}
} else {$message='<div class="alert alert-danger"><strong><i class="icon-remove"></i> '.T_('Erreur').' :</strong> '.T_("Vos mots de passes ne sont pas identiques").'.<br></div>';}
} else {$message='<div class="alert alert-danger"><strong><i class="icon-remove"></i> '.T_('Erreur').' :</strong> '.T_("Vous devez spécifier une adresse mail").'.<br></div>';}
} else {$message='<div class="alert alert-danger"><strong><i class="icon-remove"></i> '.T_('Erreur').' :</strong> '.T_("Vous devez spécifier un mot de passe").'.<br></div>';}
} else {$message='<div class="alert alert-danger"><strong><i class="icon-remove"></i> '.T_('Erreur').' :</strong> '.T_("Vous devez spécifier un mot de passe").'.<br></div>';}
} else {$message='<div class="alert alert-danger"><strong><i class="icon-remove"></i> '.T_('Erreur').' :</strong> '.T_("Vous devez spécifier un identifiant").'.<br></div>';}
} else {$message='<div class="alert alert-danger"><strong><i class="icon-remove"></i> '.T_('Erreur').' :</strong> '.T_("Vous devez spécifier un nom").'.<br></div>';}
} else {$message='<div class="alert alert-danger"><strong><i class="icon-remove"></i> '.T_('Erreur').' :</strong> '.T_("Vous devez spécifier un prénom").'.<br></div>';}
}

//display form
echo'
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8" />
<title>GestSup | Gestion de Support</title>
<link rel="shortcut icon" type="image/png" href="./images/favicon_ticket.png" />
<meta name="description" content="gestsup" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<!-- basic styles -->
<link href="./components/bootstrap/css/bootstrap.min.css" rel="stylesheet" />
<link rel="stylesheet" href="./template/assets/css/font-awesome.min.css" />
<!--[if IE 7]>
<link rel="stylesheet" href="./template/assets/css/font-awesome-ie7.min.css" />
<![endif]-->
<!-- page specific plugin styles -->
<!-- fonts -->
<link rel="stylesheet" href="./template/assets/css/ace-fonts.css" />
<link rel="stylesheet" href="components/jquery-ui/jquery-ui.min.css" />
<!-- ace styles -->
<link rel="stylesheet" href="./template/assets/css/ace.min.css" />
<link rel="stylesheet" href="./template/assets/css/ace-rtl.min.css" />
<link rel="stylesheet" href="./template/assets/css/ace-skins.min.css" />

<!--[if lte IE 8]>
<link rel="stylesheet" href="./template/assets/css/ace-ie.min.css" />
<![endif]-->
<!-- inline styles related to this page -->
<!-- ace settings handler -->
<script src="./template/assets/js/ace-extra.min.js"></script>
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]>
<script src="./template/assets/js/html5shiv.js"></script>
<script src="./template/assets/js/respond.min.js"></script>
<![endif]-->
</head>
<body class="login-layout">
<br />
<br />
<br />
<div class="main-container">
<div class="main-content">
<div class="row">
<div class="col-sm-10 col-sm-offset-1">
<div class="login-container">
<div class="center">

<h4 class="blue">';if(isset($rparameters['company'])) echo $rparameters['company']; echo' </h4>
';
//re-size logo if height superior 40px
if($rparameters['logo']!='' && file_exists("./upload/logo/$rparameters[logo]"))
{
$size = getimagesize("./upload/logo/$rparameters[logo]");
$width=$size[0];
if($width>300) {$logo_width='width="300"';} else {$logo_width='';}
} else {$logo_width=''; }
//display logo if image file exist
if(file_exists("./upload/logo/$rparameters[logo]"))
{
echo '<img style="border-style: none" alt="logo" '.$logo_width.' src="./upload/logo/'; if($rparameters['logo']=='') echo 'logo.png'; else echo $rparameters['logo']; echo '" />';
}
echo '
</div>
<br />
'.$message.'
<div class="space-6"></div>
<div class="position-relative">
<div id="login-box" class="login-box visible widget-box no-border">
<div class="widget-body">
<div class="widget-main">
<h4 class="header green lighter bigger">
<i class="icon-user blue"></i>
'.T_('Inscription').'
'.$info.'
</h4>

<div class="space-6"></div>
<form id="conn" method="post" action="">
<fieldset>
<label class="block clearfix">
<span class="block input-icon input-icon-right">
<input class="form-control" type="text" id="firstname" name="firstname" class="span12" placeholder="'.T_('Prénom').'" value="'.$_POST['firstname'].'" />
<i class="icon-user"></i>
</span>
</label>
<label class="block clearfix">
<span class="block input-icon input-icon-right">
<input class="form-control" type="text" id="lastname" name="lastname" class="span12" placeholder="'.T_('Nom').'" value="'.$_POST['lastname'].'" />
<i class="icon-user"></i>
</span>
</label>
<label class="block clearfix">
<span class="block input-icon input-icon-right">
<input class="form-control" type="text" id="login" name="login" class="span12" placeholder="'.T_('Identifiant').'" value="'.$_POST['login'].'" />
<i class="icon-user"></i>
</span>
</label>
<label class="block clearfix">
<span class="block input-icon input-icon-right">
<input class="form-control" type="password" id="password" name="password" class="span12" placeholder="'.T_('Mot de passe').'" value="'.$_POST['password'].'" />
<i class="icon-lock"></i>
</span>
</label>
<label class="block clearfix">
<span class="block input-icon input-icon-right">
<input class="form-control" type="password" id="password2" name="password2" class="span12" placeholder="'.T_('Re-taper votre mot de passe').'" value="'.$_POST['password2'].'" />
<i class="icon-retweet"></i>
</span>
</label>
<label class="block clearfix">
<span class="block input-icon input-icon-right">
<input class="form-control" type="text" id="mail" name="mail" class="span12" placeholder="'.T_('Adresse Mail').'" value="'.$_POST['mail'].'" />
<i class="icon-envelope"></i>
</span>
</label>

<label class="block clearfix">

<span class="block input-icon input-icon-right">

<input class="form-control" type="text" id="phone" name="phone" class="span12" placeholder="'.T_('Téléphone').'" value="'.$_POST['phone'].'" />

<i class="icon-phone"></i>

</span>

</label>';
if($rparameters['user_advanced']) //display company field
{
echo '
<label class="block clearfix">
<span class="block input-icon input-icon-right">
<input class="form-control" type="text" id="company" name="company" class="span12" placeholder="'.T_('Société').'" value="'.$_POST['company'].'" />
<i class="icon-building"></i>
</span>
</label>
';
}
if(extension_loaded('gd')) //display captcha validation
{
echo'
<label class="block clearfix">
<img src="core/captcha.php" onclick="this.src=\'captcha.php?\' + Math.random();" alt="captcha" style="cursor:pointer;">
<div class="space-2"></div>
<span class="block input-icon input-icon-right">
<input class="form-control" type="text" id="captcha" name="captcha" class="span12" placeholder="'.T_('Captcha').'" value="'.$_POST['captcha'].'" />
<i class="icon-picture"></i>
</span>
</label>';
}
echo '
<div class="space"></div>
<div class="clearfix">
<button onclick="submit()" type="submit" id="submit" name="submit" class="width-65 pull-right btn btn-sm btn-success">
<i class="icon-ok"></i>
'.T_('S\'enregistrer').'
</button>
</div>
<div class="space-4"></div>
</fieldset>
</form>
</div><!--/widget-main-->
<div class="toolbar clearfix">
<div>
<a href="./" class="forgot-password-link">
<i class="icon-arrow-left"></i>
'.T_('Retour').'
</a>
</div>
<div>
<a href="register.php" class="user-signup-link">

</a>
</div>
</div
</div><!--/widget-body-->
</div><!--/login-box-->
</div><!--/position-relative-->
</div>
</div><!--/.span-->
</div><!--/.row-fluid-->
</div>
<span style="position: absolute; bottom: 0; right: 0;"><a href="https://gestsup.fr"></a></span>
</div><!--/.main-container-->
<script type="text/JavaScript">
document.getElementById("login").focus();
</script>
';
//close db access
unset($db);
echo '
</body>
</html>';
} else {
echo '<span style="color:red;"> <b>'.T_('Erreur').' :</b> '.T_("La fonction d'enregistrement des utilisateurs est désactivée par votre administrateur").'.<span>';
}
?>
Avatar du membre
Flox
Administrateur du site
Messages : 8973
Enregistré le : jeu. 21 juin 2012 19:00

Bonjour,

la fonctionnalité sera disponible dans la prochaine version.

Cdt
GestSup: 3.2.47 | Debian: 12 | Apache: 2.4.58 | MariaDB: 11.3.2 | PHP: 8.3.4 | https://doc.gestsup.fr/
balooales
Gsup LEVEL 3
Messages : 58
Enregistré le : mer. 27 nov. 2019 19:00

Merci Flox si ca peut aider .
Répondre