ajout de verif mobile

This commit is contained in:
Christophe 2020-11-03 19:14:39 +01:00
parent 5ec714ff77
commit 6ecea2006e
3 changed files with 130 additions and 41 deletions

View file

@ -30,6 +30,26 @@
<fieldset> <fieldset>
<h3 class="legend"><:comptespip:conf_formulaire_inscription:></h3> <h3 class="legend"><:comptespip:conf_formulaire_inscription:></h3>
[(#PLUGIN{verifmob}|oui)
<div class="editer_groupe">
#SET{name,login_telephone}
#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}}
#SET{obli,"obligatoire"}
<div class="editer editer_[(#GET{name})][ (#GET{obli})][ (#GET{erreurs}|oui)erreur]">
<label>Le login = le telephone</label>
<div class="choix">
<input type="radio" class="radio" name="#GET{name}" value="" id="#GET{name}_non"[ (#ENV{#GET{name}}|non|?{checked="checked"})] >
<label for="#GET{name}_non">Non</label>
</div>
<div class="choix">
<input type="radio" class="radio" name="#GET{name}" value="oui" id="#GET{name}_oui"[ (#ENV{#GET{name}}|=={oui}|?{checked="checked"})] >
<label for="#GET{name}_oui">Oui</label>
</div>
</div>
</div>
]
<div class="editer_groupe"> <div class="editer_groupe">
#SET{name,id_presentation} #SET{name,id_presentation}
#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}} #SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}}

View file

@ -19,11 +19,39 @@
</div> </div>
] ]
<BOUCLE_con(CONDITION){si #PLUGIN{verifmob}|oui}>
<div class="verif_mobile">
<label for="indicatif"><:gabo:telephone:></label>
<button class="badge" onclick="return false;">+</button>
<input class="text" type="text"
name="indicatif"
id="indicatif"
value="33"
pattern="[0-9]{2,4}"
required
>
<input type="tel" class="verif_mobile"
id="mobile"
name="mobile"
placeholder="611223344"
value="[(#ENV{mobile})]"
pattern="^[67][0-9]{8}$"
autocomplete="off"
required
maxlength="9"
>
<button class="btn--warning envoyer_sms mts mlm" type="button"><:gabo:envoyer_sms:></button>
</div>
[(#INCLURE{fond=inclure/verif_mobile})]
</BOUCLE_con>
<div class="mobile_envoye">
<div class="editer_groupe"> <div class="editer_groupe">
<fieldset> <fieldset>
<legend><:comptespip:identite:></legend> <legend><:comptespip:identite:></legend>
#GENERER_SAISIES{#ENV{_saisies}} #GENERER_SAISIES{#ENV{_saisies}}
</fieldset> </fieldset>
</div> </div>
<div class="editer_groupe"> <div class="editer_groupe">
@ -32,6 +60,14 @@
[(#SET{min,#VAL{minlength=}|concat{#ENV{pass_longeur_mini,6}}})] [(#SET{min,#VAL{minlength=}|concat{#ENV{pass_longeur_mini,6}}})]
[(#SET{chaine_langue,#VAL{comptespip:champ_password}|_T{#ARRAY{min,#ENV{pass_longeur_mini}}}})] [(#SET{chaine_langue,#VAL{comptespip:champ_password}|_T{#ARRAY{min,#ENV{pass_longeur_mini}}}})]
<div style="height: 0;">
[(#SAISIE{input,new_password}
{type=hidden}
)]
[(#SAISIE{input,new_password_confirmation}
{type=hidden}
)]
</div>
[(#SAISIE{input,password} [(#SAISIE{input,password}
{type=password} {type=password}
{attributs=#GET{min}} {attributs=#GET{min}}
@ -43,12 +79,22 @@
)] )]
</fieldset> </fieldset>
</div> </div>
<div class="editer-groupe">
<fieldset>
<div class='editer saisie_confirmation obligatoire[ (#ENV*{erreurs}|table_valeur{confirmation}|oui)erreur]'>
<label for="confirmation"><:addcompte:code_confirmation_sms:> <em class="obligatoire"><:info_obligatoire_02:></em></label>
<input type="text" class="text" id="confirmation_sms" name="confirmation_sms" value="#ENV{confirmation_sms}">
</div>
</fieldset>
</div>
<div class="boutons"> <div class="boutons">
[(#ENV{id_auteur}|!={new}|et{#AUTORISER{supprimer,comptespip}|oui}|et{#CONFIG{comptespip/interdire_suppression}|!={oui}|oui}) [(#ENV{id_auteur}|!={new}|et{#AUTORISER{supprimer,comptespip}|oui}|et{#CONFIG{comptespip/interdire_suppression}|!={oui}|oui})
<a class="supprimer_compte_spip btn" href="[(#URL_PAGE{supprimer_compte_spip})]"><:comptespip:btn_supprimer_compte_spip:></a> <a class="supprimer_compte_spip btn" href="[(#URL_PAGE{supprimer_compte_spip})]"><:comptespip:btn_supprimer_compte_spip:></a>
] ]
<button type="submit" class="btn"><:comptespip:valider:></button> <button type="submit" class="btn"><:comptespip:valider:></button>
<button class="btn btn-warning renvoyer_sms" type="button"> <:addcompte:renvoyer_sms:> </button>
</div>
</div> </div>
</div></form> </div></form>
@ -57,20 +103,30 @@
<script type="text/javascript" src="[(#CHEMIN{prive/javascript/login-sha-min.js})]"></script> <script type="text/javascript" src="[(#CHEMIN{prive/javascript/login-sha-min.js})]"></script>
<script type="text/javascript"> <script type="text/javascript">
jQuery(function(){ jQuery(function(){
$('#champ_password').on('keyup', function(){
$('#champ_password_confirmation').val('');
});
jQuery('form#editer_compte_spip').on('submit', function(e){ jQuery('form#editer_compte_spip').on('submit', function(e){
//var alea = "#ENV{alea}"; //var alea = "#ENV{alea}";
['#champ_password', "#champ_password_confirmation"].forEach((champ)=>{ ['#champ_password', "#champ_password_confirmation"].forEach((champ)=>{
var pass = $(champ).val(); var pass = $(champ).val();
$(champ).val('');
if (!pass.match(/^\{([0-9a-f]{32});([0-9a-f]{32})\}$/i) if (pass
&& !pass.match(/^\{([0-9a-f]{32});([0-9a-f]{32})\}$/i)
&& !pass.match(/^\{([0-9a-f]{64});([0-9a-f]{64});([0-9a-f]{32});([0-9a-f]{32})\}$/i) && !pass.match(/^\{([0-9a-f]{64});([0-9a-f]{64});([0-9a-f]{32});([0-9a-f]{32})\}$/i)
&& sha256_self_test() // verifions que le hash sha est operationnel && sha256_self_test() // verifions que le hash sha est operationnel
) { ) {
//var hash = hex_sha256(alea + pass); //var hash = hex_sha256(alea + pass);
var hash = hex_sha256(pass); var hash = hex_sha256(pass);
if ( hash ) { if ( hash ) {
$('input'+champ).val(hash); if (champ === "#champ_password") {
$('input#champ_new_password').val(hash);
} else {
$('input#champ_new_password_confirmation').val(hash);
}
} }
} }
}); });

View file

@ -7,6 +7,7 @@ function formulaires_editer_compte_spip_saisies_dist($id_auteur = 'new', $redir
} }
function formulaires_editer_compte_spip_charger_dist($id_auteur = 'new', $redirect = ''){ function formulaires_editer_compte_spip_charger_dist($id_auteur = 'new', $redirect = ''){
$id_auteur = comptespip_recupIdauteur($id_auteur); $id_auteur = comptespip_recupIdauteur($id_auteur);
$valeurs = ['id_auteur' => $id_auteur]; $valeurs = ['id_auteur' => $id_auteur];
@ -20,10 +21,13 @@ function formulaires_editer_compte_spip_charger_dist($id_auteur = 'new', $redir
} }
$valeurs['alea'] = ''; $valeurs['alea'] = '';
$valeurs['new_password'] = '';
$valeurs['new_password_confirmation'] = '';
$valeurs['password'] = ''; $valeurs['password'] = '';
$valeurs['password_confirmation'] = ''; $valeurs['password_confirmation'] = '';
$valeurs['pass_longeur_mini'] = _PASS_LONGUEUR_MINI; $valeurs['pass_longeur_mini'] = _PASS_LONGUEUR_MINI;
return $valeurs; return $valeurs;
} }
@ -37,8 +41,8 @@ function formulaires_editer_compte_spip_verifier_dist($id_auteur = 'new', $redi
} }
// mot de passe // mot de passe
if (_request('password') != _request('password_confirmation')){ if (_request('new_password') != _request('new_password_confirmation')){
$erreurs['password_confirmation'] = _T('info_passes_identiques'); $erreurs['new_password_confirmation'] = _T('info_passes_identiques');
} }
//if ( strlen(_request('password')) > 0 and strlen(_request('password')) < _PASS_LONGUEUR_MINI ){ //if ( strlen(_request('password')) > 0 and strlen(_request('password')) < _PASS_LONGUEUR_MINI ){
@ -47,11 +51,11 @@ function formulaires_editer_compte_spip_verifier_dist($id_auteur = 'new', $redi
// Mais si l'un des deux champs n'est pas rempli, cette erreur prend le dessus // Mais si l'un des deux champs n'est pas rempli, cette erreur prend le dessus
if ($id_auteur === 'new') { if ($id_auteur === 'new') {
if (!_request('password')){ if (!_request('new_password')){
$erreurs['password'] = _T('info_obligatoire'); $erreurs['new_password'] = _T('info_obligatoire');
} }
if (!_request('password_confirmation')){ if (!_request('new_password_confirmation')){
$erreurs['password_confirmation'] = _T('info_obligatoire'); $erreurs['new_password_confirmation'] = _T('info_obligatoire');
} }
} }
@ -116,20 +120,29 @@ function formulaires_editer_compte_spip_traiter_dist($id_auteur = 'new', $redir
$mode = lire_config('comptespip/statut'); $mode = lire_config('comptespip/statut');
$retour = []; $retour = [];
if (test_plugin_actif('verifmob')) {
$tel = '0' . _request('mobile');
set_request('telephone', $tel);
}
include_spip('action/editer_auteur'); include_spip('action/editer_auteur');
include_spip('inc/acces'); include_spip('inc/acces');
$password = _request('password'); $password = _request('new_password');
$update = true; $update = true;
$set = []; $set = [];
if (!intval($id_auteur)) { if (!intval($id_auteur)) {
$id_auteur = auteur_inserer(); $id_auteur = auteur_inserer();
$update = false; $update = false;
if (lire_config('comptespip/login_telephone') === 'oui') {
$login = _request('telephone');
} else {
$search = [ ' ', "'", 'é' ]; $search = [ ' ', "'", 'é' ];
$replace = [ '_', '_', 'e' ]; $replace = [ '_', '_', 'e' ];
$login = strtolower(str_replace($search, $replace, _request('nom'))); $login = strtolower(str_replace($search, $replace, _request('nom')));
$login .= '_'.$id_auteur; $login .= '_'.$id_auteur;
}
$set['login'] = $login; $set['login'] = $login;
$set['statut'] = $mode; $set['statut'] = $mode;
if (strlen($password) < 50) { if (strlen($password) < 50) {