ajout de verif mobile
This commit is contained in:
parent
5ec714ff77
commit
6ecea2006e
3 changed files with 130 additions and 41 deletions
|
@ -30,6 +30,26 @@
|
|||
|
||||
<fieldset>
|
||||
<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">
|
||||
#SET{name,id_presentation}
|
||||
#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}}
|
||||
|
|
|
@ -19,36 +19,82 @@
|
|||
</div>
|
||||
]
|
||||
|
||||
<div class="editer_groupe">
|
||||
<fieldset>
|
||||
<legend><:comptespip:identite:></legend>
|
||||
#GENERER_SAISIES{#ENV{_saisies}}
|
||||
</fieldset>
|
||||
</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="editer_groupe">
|
||||
<fieldset>
|
||||
<legend><:comptespip:mot_de_passe:></legend>
|
||||
[(#SET{min,#VAL{minlength=}|concat{#ENV{pass_longeur_mini,6}}})]
|
||||
[(#SET{chaine_langue,#VAL{comptespip:champ_password}|_T{#ARRAY{min,#ENV{pass_longeur_mini}}}})]
|
||||
|
||||
[(#SAISIE{input,password}
|
||||
{type=password}
|
||||
{attributs=#GET{min}}
|
||||
{label=#GET{chaine_langue}}
|
||||
)]
|
||||
[(#SAISIE{input,password_confirmation}
|
||||
{type=password}
|
||||
{label=<:comptespip:champ_password_confirm:>}
|
||||
)]
|
||||
</fieldset>
|
||||
</div>
|
||||
<div class="mobile_envoye">
|
||||
<div class="editer_groupe">
|
||||
<fieldset>
|
||||
<legend><:comptespip:identite:></legend>
|
||||
#GENERER_SAISIES{#ENV{_saisies}}
|
||||
</fieldset>
|
||||
|
||||
<div class="boutons">
|
||||
[(#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>
|
||||
]
|
||||
<button type="submit" class="btn"><:comptespip:valider:></button>
|
||||
</div>
|
||||
|
||||
<div class="editer_groupe">
|
||||
<fieldset>
|
||||
<legend><:comptespip:mot_de_passe:></legend>
|
||||
[(#SET{min,#VAL{minlength=}|concat{#ENV{pass_longeur_mini,6}}})]
|
||||
[(#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}
|
||||
{type=password}
|
||||
{attributs=#GET{min}}
|
||||
{label=#GET{chaine_langue}}
|
||||
)]
|
||||
[(#SAISIE{input,password_confirmation}
|
||||
{type=password}
|
||||
{label=<:comptespip:champ_password_confirm:>}
|
||||
)]
|
||||
</fieldset>
|
||||
</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">
|
||||
[(#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>
|
||||
]
|
||||
<button type="submit" class="btn"><:comptespip:valider:></button>
|
||||
<button class="btn btn-warning renvoyer_sms" type="button"> <:addcompte:renvoyer_sms:> </button>
|
||||
</div>
|
||||
</div>
|
||||
</div></form>
|
||||
|
||||
|
@ -57,20 +103,30 @@
|
|||
<script type="text/javascript" src="[(#CHEMIN{prive/javascript/login-sha-min.js})]"></script>
|
||||
<script type="text/javascript">
|
||||
|
||||
|
||||
jQuery(function(){
|
||||
$('#champ_password').on('keyup', function(){
|
||||
$('#champ_password_confirmation').val('');
|
||||
});
|
||||
jQuery('form#editer_compte_spip').on('submit', function(e){
|
||||
//var alea = "#ENV{alea}";
|
||||
['#champ_password', "#champ_password_confirmation"].forEach((champ)=>{
|
||||
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)
|
||||
&& sha256_self_test() // verifions que le hash sha est operationnel
|
||||
) {
|
||||
//var hash = hex_sha256(alea + pass);
|
||||
var hash = hex_sha256(pass);
|
||||
if ( hash ) {
|
||||
$('input'+champ).val(hash);
|
||||
if (champ === "#champ_password") {
|
||||
$('input#champ_new_password').val(hash);
|
||||
} else {
|
||||
$('input#champ_new_password_confirmation').val(hash);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
|
|
@ -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 = ''){
|
||||
|
||||
$id_auteur = comptespip_recupIdauteur($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['new_password'] = '';
|
||||
$valeurs['new_password_confirmation'] = '';
|
||||
$valeurs['password'] = '';
|
||||
$valeurs['password_confirmation'] = '';
|
||||
$valeurs['pass_longeur_mini'] = _PASS_LONGUEUR_MINI;
|
||||
|
||||
|
||||
return $valeurs;
|
||||
}
|
||||
|
||||
|
@ -37,8 +41,8 @@ function formulaires_editer_compte_spip_verifier_dist($id_auteur = 'new', $redi
|
|||
}
|
||||
|
||||
// mot de passe
|
||||
if (_request('password') != _request('password_confirmation')){
|
||||
$erreurs['password_confirmation'] = _T('info_passes_identiques');
|
||||
if (_request('new_password') != _request('new_password_confirmation')){
|
||||
$erreurs['new_password_confirmation'] = _T('info_passes_identiques');
|
||||
}
|
||||
|
||||
//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
|
||||
if ($id_auteur === 'new') {
|
||||
if (!_request('password')){
|
||||
$erreurs['password'] = _T('info_obligatoire');
|
||||
if (!_request('new_password')){
|
||||
$erreurs['new_password'] = _T('info_obligatoire');
|
||||
}
|
||||
if (!_request('password_confirmation')){
|
||||
$erreurs['password_confirmation'] = _T('info_obligatoire');
|
||||
if (!_request('new_password_confirmation')){
|
||||
$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');
|
||||
$retour = [];
|
||||
|
||||
if (test_plugin_actif('verifmob')) {
|
||||
$tel = '0' . _request('mobile');
|
||||
set_request('telephone', $tel);
|
||||
}
|
||||
|
||||
include_spip('action/editer_auteur');
|
||||
include_spip('inc/acces');
|
||||
|
||||
$password = _request('password');
|
||||
$password = _request('new_password');
|
||||
|
||||
$update = true;
|
||||
$set = [];
|
||||
if (!intval($id_auteur)) {
|
||||
$id_auteur = auteur_inserer();
|
||||
$update = false;
|
||||
$search = [ ' ', "'", 'é' ];
|
||||
$replace = [ '_', '_', 'e' ];
|
||||
$login = strtolower(str_replace($search, $replace, _request('nom')));
|
||||
$login .= '_'.$id_auteur;
|
||||
if (lire_config('comptespip/login_telephone') === 'oui') {
|
||||
$login = _request('telephone');
|
||||
} else {
|
||||
$search = [ ' ', "'", 'é' ];
|
||||
$replace = [ '_', '_', 'e' ];
|
||||
$login = strtolower(str_replace($search, $replace, _request('nom')));
|
||||
$login .= '_'.$id_auteur;
|
||||
}
|
||||
$set['login'] = $login;
|
||||
$set['statut'] = $mode;
|
||||
if (strlen($password) < 50) {
|
||||
|
|
Loading…
Add table
Reference in a new issue