Changeset 112257 in spip-zone


Ignore:
Timestamp:
Nov 1, 2018, 8:24:10 AM (13 months ago)
Author:
maieul@…
Message:

nouvelle option pour les input: cle_secrete. Si actif, la valeur est affichée partiellement masquée sous forme de placeholder. Utile pour les configs. C'est au traitement du formulaire de récupérer la valeur déjà enregistré si jamais le formulaire ne renvoie rien

Location:
_plugins_/saisies/trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/saisies/trunk/paquet.xml

    r112090 r112257  
    22        prefix="saisies"
    33        categorie="outil"
    4         version="3.2.1"
     4        version="3.3.0"
    55        etat="stable"
    66        compatibilite="[3.0.0;3.2.*]"
  • _plugins_/saisies/trunk/saisies/input.html

    r112256 r112257  
    1212  - autofocus : indique si le champ prend le focus a l'affichage (HTML5 requis)
    1313  - placeholder : texte du placeholder
     14  - cle_secrete : l'input est une cle secrete. On n'affiche pas la valeur mais simplement un placeholder indiquant les premiers élèments de la clef secrete
    1415
    1516
     
    3839#SET{val_autocomplete, #GET{val_autocomplete}|push{off}}
    3940
     41[(#REM) cle secrete > on modifie le place holder]
     42#SET{placeholder,''}
     43[(#ENV{cle_secrete}|oui)
     44        #SET{placeholder,#ENV{valeur_forcee,#ENV{valeur,#ENV{{default}}}|saisie_masquer_cle_secrete}
     45]
     46[(#ENV{cle_secrete}|non)
     47        #SET{placeholder,#ENV{placeholder}}
     48]
     49
    4050[(#REM) permettre de donner un identifiant de list specifique en option de la saisie
    4151]#SET{list_id,#ENV{list}}
     
    4858</datalist>
    4959</B_selection>
    50 <input type="#GET{type}" name="#ENV{nom}" class="#GET{type}[ (#ENV{class})]" id="champ_[(#ENV{id,#ENV{nom}}|saisie_nom2classe)]"[ list="(#GET{list_id})"][ value="(#ENV{valeur_forcee,#ENV{valeur,#ENV{defaut}}})"][ size="(#ENV{size})"][ maxlength="(#ENV{maxlength})"][ disabled="(#ENV{disable})"][ readonly="(#ENV{readonly})"][ placeholder="(#ENV{placeholder})"][(#HTML5|oui)[(#ENV{obligatoire}|et{#ENV{obligatoire}|!={non}}|oui) required="required"][ min="(#ENV{min})"][ max="(#ENV{max})"][ step="(#ENV{step})"][(#ENV{autofocus}|et{#ENV{autofocus}|!={non}}|oui) autofocus="autofocus"]][(#GET{val_autocomplete}|find{#ENV{autocomplete}}|oui) autocomplete="#ENV{autocomplete}"][ aria-describedby="(#ENV{describedby})"][ (#ENV*{attributs})] />
     60<input type="#GET{type}" name="#ENV{nom}" class="#GET{type}[ (#ENV{class})]" id="champ_[(#ENV{id,#ENV{nom}}|saisie_nom2classe)]"[ list="(#GET{list_id})"][ value="(#ENV{cle_secrete}|?{'',#ENV{valeur_forcee,#ENV{valeur,#ENV{defaut}}}})"][ size="(#ENV{size})"][ maxlength="(#ENV{maxlength})"][ disabled="(#ENV{disable})"][ readonly="(#ENV{readonly})"][ placeholder="(#GET{placeholder})"][(#HTML5|oui)[(#ENV{obligatoire}|et{#ENV{obligatoire}|!={non}}|oui) required="required"][ min="(#ENV{min})"][ max="(#ENV{max})"][ step="(#ENV{step})"][(#ENV{autofocus}|et{#ENV{autofocus}|!={non}}|oui) autofocus="autofocus"]][(#GET{val_autocomplete}|find{#ENV{autocomplete}}|oui) autocomplete="#ENV{autocomplete}"][ aria-describedby="(#ENV{describedby})"][ (#ENV*{attributs})] />
  • _plugins_/saisies/trunk/saisies_fonctions.php

    r106147 r112257  
    278278        return $chaine;
    279279}
     280
     281/**
     282 * Masque les derniers caractères d'une clé secrete
     283 *
     284 * @param string $cle
     285 * @return string
     286**/
     287function saisie_masquer_cle_secrete($cle) {
     288        if (!defined('_SAISIE_ΤΑUX_MASQUE_CLE_SECRETE')) {
     289                define('_SAISIE_ΤΑUX_MASQUE_CLE_SECRETE',0.85);
     290        }
     291        $taille = strlen($cle);
     292        $a_masquer = round($taille * _SAISIE_ΤΑUX_MASQUE_CLE_SECRETE, 0, PHP_ROUND_HALF_UP);
     293        $court = substr($cle, 0, $taille-$a_masquer);
     294        $cle = $court.str_repeat("*",$a_masquer);
     295        return $cle;
     296}
Note: See TracChangeset for help on using the changeset viewer.