préparation du merge avec la master

This commit is contained in:
cy_altern 2021-08-12 13:00:32 +02:00
parent 9c41a89b1f
commit d168f786cc
8 changed files with 140 additions and 59 deletions

View file

@ -13,6 +13,8 @@ if (!defined('_ECRIRE_INC_VERSION')) {
return;
}
define('_LOGIN_TROP_COURT', 1);
$GLOBALS['comptespip_editer'] = [
[
'saisie' => 'input',
@ -21,7 +23,8 @@ $GLOBALS['comptespip_editer'] = [
'label' => 'Votre Nom',
'obligatoire' => 'oui',
//'fonction' => 'ma_super_fonction'
)
//'modifier' => 'ma_super_fonction_pour_modifier'
)
],
[
'saisie' => 'input',

View file

@ -1,3 +1,5 @@
#CACHE{0}
[(#SESSION{id_auteur}|sinon_interdire_acces{[(#URL_PAGE{mon_compte})]})]
<div class="inner se_connecter">
<h3 class="comptespip_titre_form"><i class="fa fa-pencil fas fa-pen"></i> <:comptespip:editer_compte_spip:></h3>

View file

@ -20,13 +20,13 @@
<div class="se_connecter inner">
<div class="grid-2">
<div class="grid-2 has-gutter-l">
<div class="login">
<h3 class="comptespip_titre_form"><i class="fa fa-unlock"></i> <:comptespip:se_connecter:></h3>
<h3 class="comptespip_titre_form mlm"><i class="fa fa-unlock"></i> <:comptespip:se_connecter:></h3>
[(#FORMULAIRE_LOGIN{#URL_PAGE{#CONFIG{comptespip/page_redirection_connexion}}})]
</div>
<div class="sinscrire">
<h3 class="comptespip_titre_form"><i class="fa fa-user-plus"></i> <:comptespip:sinscrire:></h3>
<h3 class="comptespip_titre_form mlm"><i class="fa fa-user-plus"></i> <:comptespip:sinscrire:></h3>
<div class="PasAjax">
[(#FORMULAIRE_EDITER_COMPTE_SPIP{})]
</div>

View file

@ -1,12 +1,16 @@
#CACHE{0}
<div class="formulaire_spip formulaire_#FORM">
[<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]
[<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>]
<form name="formulaire_#FORM" id="editer_compte_spip" action="#ENV{action}" method="post"><div>
#ACTION_FORMULAIRE{#ENV{action}}
<input type="hidden" value="#ENV{id_auteur}" name="id_auteur"/>
[(#ENV{id_auteur}|!={new}|oui)
<div class="comptespip_logo_auteur">
<INCLURE{fond=inclure/logo_auteur,id_auteur,env}>
@ -20,11 +24,14 @@
</div>
]
<fieldset>
<legend><:comptespip:identite:></legend>
#GENERER_SAISIES{#ENV{_saisies}}
</fieldset>
<div class="editer_groupe">
<fieldset>
<legend><:comptespip:identite:></legend>
#GENERER_SAISIES{#ENV{_saisies}}
</fieldset>
</div>
<div class="editer_groupe">
<BOUCLE_con(CONDITION){si #PLUGIN{verifmob}|oui}>
<style type="text/css" media="screen">
.editer_telephone {
@ -70,10 +77,14 @@
</fieldset>
[(#INCLURE{fond=inclure/verif_mobile})]
</BOUCLE_con>
</div>
<div class="editer_groupe">
<fieldset>
<legend><:comptespip:mot_de_passe:></legend>
<div class="editer_groupe">
[(#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}
@ -82,9 +93,6 @@
{type=hidden}
)]
</div>
[(#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}}
@ -94,8 +102,8 @@
{type=password}
{label=<:comptespip:champ_password_confirm:>}
)]
</div>
</fieldset>
</div>
<div class="boutons">
[(#ENV{id_auteur}|!={new}|et{#AUTORISER{supprimer,comptespip}|oui}|et{#CONFIG{comptespip/interdire_suppression}|!={oui}|oui})
@ -110,7 +118,6 @@
<script type="text/javascript" src="[(#CHEMIN{prive/javascript/login-sha-min.js})]"></script>
<script type="text/javascript">
jQuery(function(){
setTimeout(()=> $('#champ_password_confirmation').val(''), 400);
jQuery('form#editer_compte_spip').on('submit', function(e){

View file

@ -31,14 +31,12 @@ function formulaires_editer_compte_spip_charger_dist($id_auteur = 'new', $redir
$valeurs['confirmation_sms'] = '';
}
$valeurs['alea'] = '';
$valeurs['alea'] = '';
$valeurs['new_password'] = '';
$valeurs['new_password_confirmation'] = '';
$valeurs['password'] = '';
$valeurs['password_confirmation'] = '';
$valeurs['pass_longeur_mini'] = _PASS_LONGUEUR_MINI;
$valeurs['password'] = '';
$valeurs['password_confirmation'] = '';
$valeurs['pass_longeur_mini'] = _PASS_LONGUEUR_MINI;
return $valeurs;
}
@ -57,13 +55,17 @@ function formulaires_editer_compte_spip_verifier_dist($id_auteur = 'new', $redi
$erreurs['new_password_confirmation'] = _T('info_passes_identiques');
}
//if ( strlen(_request('password')) > 0 and strlen(_request('password')) < _PASS_LONGUEUR_MINI ){
//$erreurs['password'] = _T('info_passe_trop_court_car_pluriel', array('nb' => _PASS_LONGUEUR_MINI));
//}
// Mais si l'un des deux champs n'est pas rempli, cette erreur prend le dessus
if ($id_auteur === 'new') {
if (!_request('new_password')){
$erreurs['password'] = _T('info_obligatoire');
$erreurs['new_password'] = _T('info_obligatoire');
}
if (!_request('new_password_confirmation')){
$erreurs['password_confirmation'] = _T('info_obligatoire');
$erreurs['new_password_confirmation'] = _T('info_obligatoire');
}
}
@ -152,20 +154,21 @@ function formulaires_editer_compte_spip_traiter_dist($id_auteur = 'new', $redir
$update = true;
$set = [];
if (!intval($id_auteur)) {
$update = false;
if (function_exists('comptespip_associer_auteur')) {
$id_auteur = comptespip_associer_auteur();
} else {
$id_auteur = auteur_inserer();
}
$update = false;
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;
// $search = [ ' ', "'", 'é' ];
// $replace = [ '_', '_', 'e' ];
// $login = strtolower(str_replace($search, $replace, _request('nom')));
// $login .= '_'.$id_auteur;
$login = 'login_'.$id_auteur;
}
$set['login'] = $login;
$set['statut'] = $mode;
@ -182,6 +185,26 @@ function formulaires_editer_compte_spip_traiter_dist($id_auteur = 'new', $redir
$set['alea_actuel'] = "";
$set['alea_futur'] = creer_uniqid();
}
/*
* Branchement sur le plugin Autorisations etendues
*/
$aut_modele = lire_config('comptespip/aut_modele');
if ($aut_modele and test_plugin_actif('auted')) {
$autorisations = sql_getfetsel('aut_modele', 'spip_aut_modeles', 'nom='.sql_quote($aut_modele));
$set['aut_nom'] = $aut_modele;
$set['autorisations'] = $autorisations;
}
$set = pipeline(
'post_edition',
array(
'args' => array(
'table' => 'spip_auteurs',
'id_objet' => $id_auteur,
'action' => 'comptespip_creer_auteur',
),
'data' => $set
)
);
} else {
if ($password) {
// si le password fait moins de 50 caracteres, on peut penser que le javascript n'a pas fonctionné, on crypte alors le mdp
@ -204,39 +227,50 @@ function formulaires_editer_compte_spip_traiter_dist($id_auteur = 'new', $redir
}
}
/*
* Branchement sur le plugin Autorisations etendues
*/
$aut_modele = lire_config('comptespip/aut_modele');
if ($aut_modele and test_plugin_actif('auted')) {
$autorisations = sql_getfetsel('aut_modele', 'spip_aut_modeles', 'nom='.sql_quote($aut_modele));
$set['aut_nom'] = $aut_modele;
$set['autorisations'] = $autorisations;
}
if (!empty($saisies)) {
foreach ($saisies as $saisie) {
$champ = $saisie['options']['nom'];
if (isset($f) and !empty($f)) {
if (
isset($saisies['options']['fonction'])
and $f = $saisies['options']['fonction']
) {
$f($id_auteur, $champ, _request($champ));
} elseif (
isset($saisies['options']['modifier'])
and $m = $saisies['options']['modifier']
) {
$set[$champ] = $m($champ, _request($champ));
} else {
if (_request('champ')) {
$set[$champ] = _request($champ);
}
$set[$champ] = _request($champ);
}
}
if (count($set) > 0) {
$set = pipeline(
'post_edition',
array(
'args' => array(
'table' => 'spip_auteurs',
'id_objet' => $id_auteur,
'action' => 'comptespip_modifier_auteur',
'update' => $update
),
'data' => $set
)
);
$r = sql_updateq('spip_auteurs', $set, 'id_auteur='.intval($id_auteur));
}
}
// envoyer le mail d'inscription si nouveau compte
if (!$update) {
$envoyer_mail = charger_fonction('comptespip_mail_inscription','inc');
$envoyer_mail($id_auteur);
}
if ($update and lire_config('comptespip/modif_logo_auteur')) {
comptespip_save_logo_auteur($id_auteur);
}
include_spip('inc/invalideur');
suivre_invalideur("id='id_auteur/$id_auteur'");
@ -246,10 +280,26 @@ function formulaires_editer_compte_spip_traiter_dist($id_auteur = 'new', $redir
include_spip('inc/auth');
auth_loger($auteur);
$retour['redirect'] = "spip.php";
if (lire_config('comptespip/page_redirection_connexion')) {
$retour = parametre_url(generer_url_public(lire_config('comptespip/page_redirection_connexion'),'',true),'id_auteur',intval($id_auteur));
$retour['redirect'] = parametre_url(generer_url_public(lire_config('comptespip/page_redirection_connexion'),'',true),'id_auteur',intval($id_auteur));
}
return array('message_ok' => _T('form_forum_identifiant_mail'), 'redirect' => $retour);
if ($redirect) {
$retour['redirect'] = $redirect;
}
$retour['message_ok'] = _T('form_forum_identifiant_mail');
$retour = pipeline(
'comptespip_post_traiter',
array(
'args' => $set,
'data' => $retour
)
);
return $retour;
}
if ($update) {
@ -269,6 +319,14 @@ function formulaires_editer_compte_spip_traiter_dist($id_auteur = 'new', $redir
$retour['redirect'] = $redirect;
}
$retour = pipeline(
'comptespip_post_traiter',
array(
'args' => $set,
'data' => $retour
)
);
return $retour;
}

View file

@ -13,16 +13,23 @@ if (!defined('_ECRIRE_INC_VERSION')){
* @return void
*/
function inc_comptespip_mail_inscription_dist(int $id_auteur, array $options = []) :void{
//$options['debug'] = true;
$contexte = sql_fetsel('*', 'spip_auteurs', 'id_auteur='.intval($id_auteur));
if (isset($options['pass'])) {
$contexte['pass'] = $options['pass'];
if (test_plugin_actif('gamumail') and sql_countsel('spip_gamumails', 'slug="mail_inscription"')) {
$envoyer_gamumail = charger_fonction('envoyer_gamumail', 'inc');
$envoyer_gamumail('mail_inscription', $id_auteur, $options);
}
else {
$contexte = sql_fetsel('*', 'spip_auteurs', 'id_auteur='.intval($id_auteur));
if (isset($options['pass'])) {
$contexte['pass'] = $options['pass'];
}
$mail_complet = $contexte['email'];
$message = recuperer_fond('modeles/mail_inscription',$contexte);
$sujet = lire_config('comptespip/mail_inscription_sujet');
include_spip('inc/notifications');
notifications_envoyer_mails($mail_complet, $message, $sujet);
}
$mail_complet = $contexte['email'];
$message = recuperer_fond('modeles/mail_inscription',$contexte);
$sujet = lire_config('comptespip/mail_inscription_sujet');
include_spip('inc/notifications');
notifications_envoyer_mails($mail_complet, $message, $sujet);
}

View file

@ -36,6 +36,8 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'conf_formulaire_suppression' => "Configuration du formulaire de suppression de compte SPIP",
'champ_password' => "Mot de passe d'au moins @min@ caractères",
'champ_password_confirm' => "Confirmer votre mot de passe",
'confirmation_creation_compte' => 'Votre compte sur le site @url_site@ a bien été créé. Votre identifiant de connexion est l\'adresse mail sur laquelle vous recevez ce message.'."\r\n".'Merci de votre participation!',
'creation_compte' => 'Création de votre compte',
// E
'explication_non_suppression' => 'Le texte pour expliquer l\'impossibilité de supprimer son compte',
@ -52,6 +54,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'label_non_suppression' => 'Texte d\'explication',
// MM
'mail_inscription' => 'Mail d\'inscription au site',
'message_mail' => 'Voici vos identifiants pour vous connecter sur le site "@nom_site_spip@" (@adresse_login@) :',
'mot_de_passe' => 'Mot de passe',
'mon_compte' => 'Mon compte',

View file

@ -1,11 +1,12 @@
<paquet
prefix="comptespip"
categorie="edition"
version="1.0.0"
version="1.0.3"
etat="dev"
compatibilite="[3.3.0-dev;3.3.*]"
compatibilite="[3.3.0-dev;4.0.*]"
logo="prive/themes/spip/images/comptespip-xx.svg"
documentation=""
schema="1.0.3"
>
<nom>CompteSPIP</nom>
@ -22,6 +23,6 @@
<pipeline nom="comptespip_desinscription" action="" />
<pipeline nom="comptespip_pre_inscription" action="" />
<pipeline nom="comptespip_pre_login" action="" />
<pipeline nom="comptespip_post_traiter" action="" />
</paquet>