Compare commits
No commits in common. "master" and "verifmobi" have entirely different histories.
13 changed files with 208 additions and 316 deletions
|
@ -1,73 +0,0 @@
|
||||||
<?php
|
|
||||||
/**
|
|
||||||
* Fichier gérant l'installation et désinstallation du plugin CompteSPIP
|
|
||||||
*
|
|
||||||
* @plugin comptespip
|
|
||||||
* @copyright 2020
|
|
||||||
* @author tofulm
|
|
||||||
* @licence GNU/GPL
|
|
||||||
* @package SPIP\CompteSPIP\Installation
|
|
||||||
*/
|
|
||||||
|
|
||||||
if (!defined('_ECRIRE_INC_VERSION')) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Fonction d'installation et de mise à jour du plugin CompteSPIP.
|
|
||||||
*
|
|
||||||
* @param string $nom_meta_base_version
|
|
||||||
* Nom de la meta informant de la version du schéma de données du plugin installé dans SPIP
|
|
||||||
* @param string $version_cible
|
|
||||||
* Version du schéma de données dans ce plugin (déclaré dans paquet.xml)
|
|
||||||
* @return void
|
|
||||||
**/
|
|
||||||
function comptespip_upgrade($nom_meta_base_version, $version_cible) {
|
|
||||||
$maj = array();
|
|
||||||
|
|
||||||
$maj['create'] = array(
|
|
||||||
array('comptespip_creer_slug', array('mail_inscription', []),
|
|
||||||
array('statut_defaut')
|
|
||||||
));
|
|
||||||
$maj['1.0.3'] = array(array('comptespip_creer_slug', array('mail_inscription', [])));
|
|
||||||
$maj['1.0.4'] = array(array('statut_defaut'));
|
|
||||||
|
|
||||||
include_spip('base/upgrade');
|
|
||||||
maj_plugin($nom_meta_base_version, $version_cible, $maj);
|
|
||||||
}
|
|
||||||
|
|
||||||
function statut_defaut() {
|
|
||||||
ecrire_config('comptespip/statut', '6forum');
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* si Gamumail est actif, créer le slug pour le mail d'inscription afin de donner la main aux admins pour son contenu
|
|
||||||
**/
|
|
||||||
function comptespip_creer_slug($nom_slug, $options = []) {
|
|
||||||
if (test_plugin_actif('gamumail')) {
|
|
||||||
$cree_slug = charger_fonction('creer_slug', 'action');
|
|
||||||
$message = _T('form_forum_message_auto')."\r\n"."\r\n"._T('form_forum_bonjour', array('nom' => '@@nom@@'))."\r\n"."\r\n";
|
|
||||||
$message .= _T('comptespip:confirmation_creation_compte', array('url_site' => '@@url_site@@'));
|
|
||||||
$set = [
|
|
||||||
'titre' => _T('comptespip:mail_inscription'),
|
|
||||||
'sujet' => '['.lire_config('nom_site').'] '._T('comptespip:creation_compte'),
|
|
||||||
'texte' => $message,
|
|
||||||
'statut' => 'publie',
|
|
||||||
'editable' => 'non',
|
|
||||||
];
|
|
||||||
$cree_slug('mail_inscription', $set);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Fonction de désinstallation du plugin CompteSPIP.
|
|
||||||
*
|
|
||||||
* @param string $nom_meta_base_version
|
|
||||||
* Nom de la meta informant de la version du schéma de données du plugin installé dans SPIP
|
|
||||||
* @return void
|
|
||||||
**/
|
|
||||||
function comptespip_vider_tables($nom_meta_base_version) {
|
|
||||||
|
|
||||||
effacer_meta($nom_meta_base_version);
|
|
||||||
}
|
|
|
@ -13,20 +13,7 @@ if (!defined('_ECRIRE_INC_VERSION')) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
defined('_LOGIN_TROP_COURT') or define('_LOGIN_TROP_COURT', 1);
|
|
||||||
|
|
||||||
$GLOBALS['comptespip_editer'] = [
|
$GLOBALS['comptespip_editer'] = [
|
||||||
[
|
|
||||||
'saisie' => 'input',
|
|
||||||
'options' => array(
|
|
||||||
'nom' => 'login',
|
|
||||||
'label' => 'Votre identifiant de connexion',
|
|
||||||
'obligatoire' => 'non',
|
|
||||||
'disable' => 'oui',
|
|
||||||
//'fonction' => 'ma_super_fonction'
|
|
||||||
//'modifier' => 'ma_super_fonction_pour_modifier'
|
|
||||||
)
|
|
||||||
],
|
|
||||||
[
|
[
|
||||||
'saisie' => 'input',
|
'saisie' => 'input',
|
||||||
'options' => array(
|
'options' => array(
|
||||||
|
@ -34,7 +21,6 @@ $GLOBALS['comptespip_editer'] = [
|
||||||
'label' => 'Votre Nom',
|
'label' => 'Votre Nom',
|
||||||
'obligatoire' => 'oui',
|
'obligatoire' => 'oui',
|
||||||
//'fonction' => 'ma_super_fonction'
|
//'fonction' => 'ma_super_fonction'
|
||||||
//'modifier' => 'ma_super_fonction_pour_modifier'
|
|
||||||
)
|
)
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
|
|
|
@ -24,4 +24,3 @@ function comptespip_insert_head_css($flux){
|
||||||
$flux .= '<link rel="stylesheet" href="' . timestamp(find_in_path('css/comptespip.css')) . '" type="text/css" />' . "\n";
|
$flux .= '<link rel="stylesheet" href="' . timestamp(find_in_path('css/comptespip.css')) . '" type="text/css" />' . "\n";
|
||||||
return $flux;
|
return $flux;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
#CACHE{0}
|
[(#SESSION{id_auteur}|sinon_interdire_acces{[(#URL_PAGE{mon_compte})]})]
|
||||||
<INCLURE{fond=inclure/editer_compte_spip,env}>
|
<div class="inner se_connecter">
|
||||||
|
<h3 class="comptespip_titre_form"><i class="fa fa-pencil fas fa-pen"></i> <:comptespip:editer_compte_spip:></h3>
|
||||||
|
<div class="pasAJAX">
|
||||||
|
[(#FORMULAIRE_EDITER_COMPTE_SPIP{#ENV{id_auteur}, #ENV{redirect}})]
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
|
@ -20,13 +20,13 @@
|
||||||
|
|
||||||
|
|
||||||
<div class="se_connecter inner">
|
<div class="se_connecter inner">
|
||||||
<div class="grid-2 has-gutter-l">
|
<div class="grid-2">
|
||||||
<div class="login">
|
<div class="login">
|
||||||
<h3 class="comptespip_titre_form mlm"><i class="fa fa-unlock"></i> <:comptespip:se_connecter:></h3>
|
<h3 class="comptespip_titre_form"><i class="fa fa-unlock"></i> <:comptespip:se_connecter:></h3>
|
||||||
[(#FORMULAIRE_LOGIN{#URL_PAGE{#CONFIG{comptespip/page_redirection_connexion}}})]
|
[(#FORMULAIRE_LOGIN{#URL_PAGE{#CONFIG{comptespip/page_redirection_connexion}}})]
|
||||||
</div>
|
</div>
|
||||||
<div class="sinscrire">
|
<div class="sinscrire">
|
||||||
<h3 class="comptespip_titre_form mlm"><i class="fa fa-user-plus"></i> <:comptespip:sinscrire:></h3>
|
<h3 class="comptespip_titre_form"><i class="fa fa-user-plus"></i> <:comptespip:sinscrire:></h3>
|
||||||
<div class="PasAjax">
|
<div class="PasAjax">
|
||||||
[(#FORMULAIRE_EDITER_COMPTE_SPIP{})]
|
[(#FORMULAIRE_EDITER_COMPTE_SPIP{})]
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -41,11 +41,9 @@
|
||||||
float: left;
|
float: left;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
.se_connecter .formulaire_spip {
|
.se_connecter .formulaire_spip {
|
||||||
background-color: rgba(235, 235, 235, 1) !important;
|
background-color: rgba(235, 235, 235, 1) !important;
|
||||||
}
|
}
|
||||||
*/
|
|
||||||
.se_connecter .boutons {
|
.se_connecter .boutons {
|
||||||
background-color: transparent !important;
|
background-color: transparent !important;
|
||||||
}
|
}
|
||||||
|
@ -60,7 +58,7 @@
|
||||||
padding: 0 1.5rem;
|
padding: 0 1.5rem;
|
||||||
margin-bottom: 1rem;
|
margin-bottom: 1rem;
|
||||||
letter-spacing: initial;
|
letter-spacing: initial;
|
||||||
/*font-variant: small-caps;*/
|
font-variant: small-caps;
|
||||||
}
|
}
|
||||||
.se_connecter #indicatif {
|
.se_connecter #indicatif {
|
||||||
width: 2rem;
|
width: 2rem;
|
||||||
|
@ -76,9 +74,9 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* .comptespip_titre_form { */
|
.comptespip_titre_form {
|
||||||
/* margin-bottom: -3rem; */
|
margin-bottom: -3rem;
|
||||||
/* position: relative; */
|
position: relative;
|
||||||
/* z-index: 1; */
|
z-index: 1;
|
||||||
/* margin-left: 2rem; */
|
margin-left: 2rem;
|
||||||
/* } */
|
}
|
||||||
|
|
|
@ -1,16 +1,12 @@
|
||||||
#CACHE{0}
|
#CACHE{0}
|
||||||
|
|
||||||
<div class="formulaire_spip formulaire_#FORM">
|
<div class="formulaire_spip formulaire_#FORM">
|
||||||
|
|
||||||
[<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]
|
[<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]
|
||||||
[<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</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>
|
<form name="formulaire_#FORM" id="editer_compte_spip" action="#ENV{action}" method="post"><div>
|
||||||
#ACTION_FORMULAIRE{#ENV{action}}
|
#ACTION_FORMULAIRE{#ENV{action}}
|
||||||
|
|
||||||
<input type="hidden" value="#ENV{id_auteur}" name="id_auteur"/>
|
|
||||||
|
|
||||||
[(#ENV{id_auteur}|!={new}|oui)
|
[(#ENV{id_auteur}|!={new}|oui)
|
||||||
<div class="comptespip_logo_auteur">
|
<div class="comptespip_logo_auteur">
|
||||||
<INCLURE{fond=inclure/logo_auteur,id_auteur,env}>
|
<INCLURE{fond=inclure/logo_auteur,id_auteur,env}>
|
||||||
|
@ -24,15 +20,12 @@
|
||||||
</div>
|
</div>
|
||||||
]
|
]
|
||||||
|
|
||||||
<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 class="editer_groupe">
|
<BOUCLE_con(CONDITION){si #PLUGIN{verifmob}|oui}>
|
||||||
[(#PLUGIN{verifmob}|oui)
|
|
||||||
<style type="text/css" media="screen">
|
<style type="text/css" media="screen">
|
||||||
.editer_telephone {
|
.editer_telephone {
|
||||||
display: none
|
display: none
|
||||||
|
@ -41,7 +34,7 @@
|
||||||
<fieldset>
|
<fieldset>
|
||||||
<legend><:comptespip:telephone|ucfirst:></legend>
|
<legend><:comptespip:telephone|ucfirst:></legend>
|
||||||
<div class="editer">
|
<div class="editer">
|
||||||
[(#SET{erreurs,#ENV**{erreurs}|table_valeur{mobile}})]
|
#SET{erreurs,#ENV**{erreurs}|table_valeur{mobile}}
|
||||||
[<span class="erreur_message">(#GET{erreurs})</span>]
|
[<span class="erreur_message">(#GET{erreurs})</span>]
|
||||||
<div class="verif_mobile editer">
|
<div class="verif_mobile editer">
|
||||||
<div class="indicateur_plus">
|
<div class="indicateur_plus">
|
||||||
|
@ -50,8 +43,8 @@
|
||||||
<input class="text" type="text"
|
<input class="text" type="text"
|
||||||
name="indicatif"
|
name="indicatif"
|
||||||
id="indicatif"
|
id="indicatif"
|
||||||
value="[(#ENV{indicatif})]"
|
value="#ENV{indicatif}"
|
||||||
pattern="\[0-9\]{2,4}"
|
pattern="[0-9]{2,4}"
|
||||||
required
|
required
|
||||||
>
|
>
|
||||||
<input type="tel" class="verif_mobile"
|
<input type="tel" class="verif_mobile"
|
||||||
|
@ -59,7 +52,7 @@
|
||||||
name="mobile"
|
name="mobile"
|
||||||
placeholder="611223344"
|
placeholder="611223344"
|
||||||
value="[(#ENV{mobile})]"
|
value="[(#ENV{mobile})]"
|
||||||
pattern="^\[67\]\[0-9\]{8}$"
|
pattern="^[67][0-9]{8}$"
|
||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
required
|
required
|
||||||
maxlength="9"
|
maxlength="9"
|
||||||
|
@ -69,38 +62,40 @@
|
||||||
</div>
|
</div>
|
||||||
<div class='editer saisie_confirmation obligatoire[ (#ENV*{erreurs}|table_valeur{confirmation}|oui)erreur]'>
|
<div class='editer saisie_confirmation obligatoire[ (#ENV*{erreurs}|table_valeur{confirmation}|oui)erreur]'>
|
||||||
<label for="confirmation"><:comptespip:code_confirmation_sms:> <em class="obligatoire"><:info_obligatoire_02:></em></label>
|
<label for="confirmation"><:comptespip:code_confirmation_sms:> <em class="obligatoire"><:info_obligatoire_02:></em></label>
|
||||||
[(#SET{erreurs,#ENV**{erreurs}|table_valeur{confirmation_sms}})]
|
#SET{erreurs,#ENV**{erreurs}|table_valeur{confirmation_sms}}
|
||||||
[<span class="erreur_message">(#GET{erreurs})</span>]
|
[<span class="erreur_message">(#GET{erreurs})</span>]
|
||||||
<input type="text" class="text" id="confirmation_sms" name="confirmation_sms" value="[(#ENV{confirmation_sms})]">
|
<input type="text" class="text" id="confirmation_sms" name="confirmation_sms" value="#ENV{confirmation_sms}">
|
||||||
</div>
|
</div>
|
||||||
<button class="btn btn--warning renvoyer_sms" type="button"> <:comptespip:renvoyer_sms:> </button>
|
<button class="btn btn--warning renvoyer_sms" type="button"> <:comptespip:renvoyer_sms:> </button>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
[(#INCLURE{fond=inclure/verif_mobile})]
|
[(#INCLURE{fond=inclure/verif_mobile})]
|
||||||
]
|
</BOUCLE_con>
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="editer_groupe">
|
|
||||||
<fieldset>
|
<fieldset>
|
||||||
<legend><:comptespip:mot_de_passe:></legend>
|
<legend><:comptespip:mot_de_passe:></legend>
|
||||||
|
<div class="editer_groupe">
|
||||||
|
<div style="height: 0;">
|
||||||
|
[(#SAISIE{input,new_password}
|
||||||
|
{type=hidden}
|
||||||
|
)]
|
||||||
|
[(#SAISIE{input,new_password_confirmation}
|
||||||
|
{type=hidden}
|
||||||
|
)]
|
||||||
|
</div>
|
||||||
|
|
||||||
[(#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}}}})]
|
||||||
|
|
||||||
[(#SAISIE{input,password}
|
[(#SAISIE{input,password}
|
||||||
{defaut=#ENV{password}}
|
|
||||||
{type=password}
|
{type=password}
|
||||||
{attributs=#GET{min}}
|
{attributs=#GET{min}}
|
||||||
{autocomplete=off}
|
|
||||||
{label=#GET{chaine_langue}}
|
{label=#GET{chaine_langue}}
|
||||||
)]
|
)]
|
||||||
[(#SAISIE{input,password_confirmation}
|
[(#SAISIE{input,password_confirmation}
|
||||||
{defaut=#ENV{password_confirmation}}
|
|
||||||
{type=password}
|
{type=password}
|
||||||
{attributs=#GET{min}}
|
|
||||||
{autocomplete=off}
|
|
||||||
{label=<:comptespip:champ_password_confirm:>}
|
{label=<:comptespip:champ_password_confirm:>}
|
||||||
)]
|
)]
|
||||||
</fieldset>
|
|
||||||
</div>
|
</div>
|
||||||
|
</fieldset>
|
||||||
|
|
||||||
<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})
|
||||||
|
@ -111,3 +106,34 @@
|
||||||
</div></form>
|
</div></form>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<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){
|
||||||
|
['#champ_password', "#champ_password_confirmation"].forEach((champ)=>{
|
||||||
|
var pass = $(champ).val();
|
||||||
|
$(champ).val('');
|
||||||
|
|
||||||
|
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(pass);
|
||||||
|
if ( hash ) {
|
||||||
|
if (champ === "#champ_password") {
|
||||||
|
$('input#champ_new_password').val(hash);
|
||||||
|
} else {
|
||||||
|
$('input#champ_new_password_confirmation').val(hash);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
|
@ -31,11 +31,15 @@ function formulaires_editer_compte_spip_charger_dist($id_auteur = 'new', $redir
|
||||||
$valeurs['confirmation_sms'] = '';
|
$valeurs['confirmation_sms'] = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
$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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -49,16 +53,16 @@ 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');
|
||||||
}
|
}
|
||||||
|
|
||||||
// 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['password'] = _T('info_obligatoire');
|
||||||
}
|
}
|
||||||
if (!_request('password_confirmation')){
|
if (!_request('new_password_confirmation')){
|
||||||
$erreurs['password_confirmation'] = _T('info_obligatoire');
|
$erreurs['password_confirmation'] = _T('info_obligatoire');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -79,7 +83,7 @@ function formulaires_editer_compte_spip_verifier_dist($id_auteur = 'new', $redi
|
||||||
} else {
|
} else {
|
||||||
$f = 'test_inscription_dist';
|
$f = 'test_inscription_dist';
|
||||||
}
|
}
|
||||||
$declaration = $f($mode, $mail, _request('nom'), $id_auteur);
|
$declaration = $f($mode, $mail, _request('nom'), $id);
|
||||||
if (is_string($declaration)) {
|
if (is_string($declaration)) {
|
||||||
$k = (strpos($declaration, 'mail') !== false) ?
|
$k = (strpos($declaration, 'mail') !== false) ?
|
||||||
'mail_inscription' : 'nom_inscription';
|
'mail_inscription' : 'nom_inscription';
|
||||||
|
@ -95,11 +99,11 @@ function formulaires_editer_compte_spip_verifier_dist($id_auteur = 'new', $redi
|
||||||
'id_auteur!='.intval($id_auteur)
|
'id_auteur!='.intval($id_auteur)
|
||||||
]
|
]
|
||||||
)) {
|
)) {
|
||||||
if (($row['statut'] == '5poubelle') and empty($row['pass'])) {
|
if (($row['statut'] == '5poubelle') and empty($declaration['pass'])) {
|
||||||
// irrecuperable
|
// irrecuperable
|
||||||
$erreurs['message_erreur'] = _T('form_forum_access_refuse');
|
$erreurs['message_erreur'] = _T('form_forum_access_refuse');
|
||||||
} else {
|
} else {
|
||||||
if (($row['statut'] != 'nouveau') and empty($row['pass'])) {
|
if (($row['statut'] != 'nouveau') and empty($declaration['pass'])) {
|
||||||
if (intval($row['statut']) > intval($mode)) {
|
if (intval($row['statut']) > intval($mode)) {
|
||||||
set_request('_upgrade_auteur', $row['id_auteur']);
|
set_request('_upgrade_auteur', $row['id_auteur']);
|
||||||
} else {
|
} else {
|
||||||
|
@ -124,6 +128,7 @@ function formulaires_editer_compte_spip_verifier_dist($id_auteur = 'new', $redi
|
||||||
$erreurs['mobile'] = _T('comptespip:telephone_deja_enregistre');
|
$erreurs['mobile'] = _T('comptespip:telephone_deja_enregistre');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return $erreurs;
|
return $erreurs;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -140,26 +145,65 @@ function formulaires_editer_compte_spip_traiter_dist($id_auteur = 'new', $redir
|
||||||
}
|
}
|
||||||
|
|
||||||
include_spip('action/editer_auteur');
|
include_spip('action/editer_auteur');
|
||||||
$password = _request('password');
|
include_spip('inc/acces');
|
||||||
|
|
||||||
|
$password = _request('new_password');
|
||||||
|
|
||||||
$update = true;
|
$update = true;
|
||||||
$set = [];
|
$set = [];
|
||||||
if (!intval($id_auteur)) {
|
if (!intval($id_auteur)) {
|
||||||
|
$update = false;
|
||||||
if (function_exists('comptespip_associer_auteur')) {
|
if (function_exists('comptespip_associer_auteur')) {
|
||||||
$id_auteur = comptespip_associer_auteur();
|
$id_auteur = comptespip_associer_auteur();
|
||||||
} else {
|
} else {
|
||||||
$id_auteur = auteur_inserer();
|
$id_auteur = auteur_inserer();
|
||||||
}
|
}
|
||||||
$update = false;
|
|
||||||
|
|
||||||
if (lire_config('comptespip/login_telephone') === 'oui') {
|
if (lire_config('comptespip/login_telephone') === 'oui') {
|
||||||
$login = _request('telephone');
|
$login = _request('telephone');
|
||||||
} else {
|
} else {
|
||||||
$login = 'login_'.$id_auteur;
|
$search = [ ' ', "'", 'é' ];
|
||||||
|
$replace = [ '_', '_', 'e' ];
|
||||||
|
$login = strtolower(str_replace($search, $replace, _request('nom')));
|
||||||
|
$login .= '_'.$id_auteur;
|
||||||
}
|
}
|
||||||
$set_inst['login'] = $login;
|
$set['login'] = $login;
|
||||||
$set_inst['statut'] = $mode;
|
$set['statut'] = $mode;
|
||||||
auteur_instituer($id_auteur, $set_inst);
|
if (strlen($password) < 50) {
|
||||||
|
include_spip('inc/acces');
|
||||||
|
include_spip('auth/sha256.inc');
|
||||||
|
$alea_actuel = creer_uniqid();
|
||||||
|
$pass = spip_sha256($alea_actuel . $password);
|
||||||
|
$set['pass'] = $pass;
|
||||||
|
$set['alea_actuel'] = $alea_actuel;
|
||||||
|
$set['alea_futur'] = $alea_actuel;
|
||||||
|
} else {
|
||||||
|
$set['pass'] = $password;
|
||||||
|
$set['alea_actuel'] = "";
|
||||||
|
$set['alea_futur'] = creer_uniqid();
|
||||||
|
}
|
||||||
|
} 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
|
||||||
|
if (strlen($password) < 50) {
|
||||||
|
include_spip('inc/acces');
|
||||||
|
include_spip('auth/sha256.inc');
|
||||||
|
$alea_actuel = creer_uniqid();
|
||||||
|
$pass = spip_sha256($alea_actuel . $password);
|
||||||
|
$set['pass'] = $pass;
|
||||||
|
$set['alea_actuel'] = $alea_actuel;
|
||||||
|
$set['alea_futur'] = $alea_actuel;
|
||||||
|
} else {
|
||||||
|
$set['pass'] = $password;
|
||||||
|
$set['alea_actuel'] = "";
|
||||||
|
$set['alea_futur'] = creer_uniqid();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (lire_config('comptespip/login_telephone') === 'oui') {
|
||||||
|
$set['login'] = _request('telephone');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Branchement sur le plugin Autorisations etendues
|
* Branchement sur le plugin Autorisations etendues
|
||||||
*/
|
*/
|
||||||
|
@ -169,76 +213,30 @@ function formulaires_editer_compte_spip_traiter_dist($id_auteur = 'new', $redir
|
||||||
$set['aut_nom'] = $aut_modele;
|
$set['aut_nom'] = $aut_modele;
|
||||||
$set['autorisations'] = $autorisations;
|
$set['autorisations'] = $autorisations;
|
||||||
}
|
}
|
||||||
$set = pipeline(
|
|
||||||
'post_edition',
|
|
||||||
array(
|
|
||||||
'args' => array(
|
|
||||||
'table' => 'spip_auteurs',
|
|
||||||
'id_objet' => $id_auteur,
|
|
||||||
'action' => 'comptespip_creer_auteur',
|
|
||||||
),
|
|
||||||
'data' => $set
|
|
||||||
)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($password) {
|
|
||||||
auteur_instituer($id_auteur, [
|
|
||||||
'pass' => $password
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
if (lire_config('comptespip/login_telephone') === 'oui') {
|
|
||||||
auteur_instituer($id_auteur, [
|
|
||||||
'login' => _request('telephone')
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
if (!empty($saisies)) {
|
if (!empty($saisies)) {
|
||||||
foreach ($saisies as $saisie) {
|
foreach ($saisies as $saisie) {
|
||||||
$champ = $saisie['options']['nom'];
|
$champ = $saisie['options']['nom'];
|
||||||
if (
|
if (isset($f) and !empty($f)) {
|
||||||
isset($saisies['options']['fonction'])
|
|
||||||
and $f = $saisies['options']['fonction']
|
|
||||||
) {
|
|
||||||
$f($id_auteur, $champ, _request($champ));
|
$f($id_auteur, $champ, _request($champ));
|
||||||
} elseif (
|
|
||||||
isset($saisies['options']['modifier'])
|
|
||||||
and $m = $saisies['options']['modifier']
|
|
||||||
) {
|
|
||||||
$set[$champ] = $m($champ, _request($champ));
|
|
||||||
} else {
|
} 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));
|
|
||||||
$r = auteur_modifier($id_auteur, $set);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// envoyer le mail d'inscription si nouveau compte
|
if (count($set) > 0) {
|
||||||
if (!$update) {
|
$r = sql_updateq('spip_auteurs', $set, 'id_auteur='.intval($id_auteur));
|
||||||
$envoyer_mail = charger_fonction('comptespip_mail_inscription','inc');
|
}
|
||||||
$envoyer_mail($id_auteur);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($update and lire_config('comptespip/modif_logo_auteur')) {
|
if ($update and lire_config('comptespip/modif_logo_auteur')) {
|
||||||
comptespip_save_logo_auteur($id_auteur);
|
comptespip_save_logo_auteur($id_auteur);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
include_spip('inc/invalideur');
|
include_spip('inc/invalideur');
|
||||||
suivre_invalideur("id='id_auteur/$id_auteur'");
|
suivre_invalideur("id='id_auteur/$id_auteur'");
|
||||||
|
|
||||||
|
@ -248,26 +246,10 @@ function formulaires_editer_compte_spip_traiter_dist($id_auteur = 'new', $redir
|
||||||
include_spip('inc/auth');
|
include_spip('inc/auth');
|
||||||
auth_loger($auteur);
|
auth_loger($auteur);
|
||||||
|
|
||||||
$retour['redirect'] = "spip.php";
|
|
||||||
|
|
||||||
if (lire_config('comptespip/page_redirection_connexion')) {
|
if (lire_config('comptespip/page_redirection_connexion')) {
|
||||||
$retour['redirect'] = parametre_url(generer_url_public(lire_config('comptespip/page_redirection_connexion'),'',true),'id_auteur',intval($id_auteur));
|
$retour = parametre_url(generer_url_public(lire_config('comptespip/page_redirection_connexion'),'',true),'id_auteur',intval($id_auteur));
|
||||||
}
|
}
|
||||||
if ($redirect) {
|
return array('message_ok' => _T('form_forum_identifiant_mail'), 'redirect' => $retour);
|
||||||
$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) {
|
if ($update) {
|
||||||
|
@ -278,23 +260,15 @@ function formulaires_editer_compte_spip_traiter_dist($id_auteur = 'new', $redir
|
||||||
|
|
||||||
|
|
||||||
if ($r) {
|
if ($r) {
|
||||||
$retour['message_erreur'] = _T('comptespip:erreur_edition_compte');
|
|
||||||
} else {
|
|
||||||
$retour['message_ok'] = _T('comptespip:modification_compte_ok');
|
$retour['message_ok'] = _T('comptespip:modification_compte_ok');
|
||||||
|
} else {
|
||||||
|
$retour['message_erreur'] = _T('comptespip:erreur_edition_compte');
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($redirect) {
|
if ($redirect) {
|
||||||
$retour['redirect'] = $redirect;
|
$retour['redirect'] = $redirect;
|
||||||
}
|
}
|
||||||
|
|
||||||
$retour = pipeline(
|
|
||||||
'comptespip_post_traiter',
|
|
||||||
array(
|
|
||||||
'args' => $set,
|
|
||||||
'data' => $retour
|
|
||||||
)
|
|
||||||
);
|
|
||||||
|
|
||||||
return $retour;
|
return $retour;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -13,13 +13,7 @@ if (!defined('_ECRIRE_INC_VERSION')){
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
function inc_comptespip_mail_inscription_dist(int $id_auteur, array $options = []) :void{
|
function inc_comptespip_mail_inscription_dist(int $id_auteur, array $options = []) :void{
|
||||||
//$options['debug'] = true;
|
|
||||||
|
|
||||||
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));
|
$contexte = sql_fetsel('*', 'spip_auteurs', 'id_auteur='.intval($id_auteur));
|
||||||
if (isset($options['pass'])) {
|
if (isset($options['pass'])) {
|
||||||
$contexte['pass'] = $options['pass'];
|
$contexte['pass'] = $options['pass'];
|
||||||
|
@ -32,4 +26,3 @@ function inc_comptespip_mail_inscription_dist(int $id_auteur, array $options = [
|
||||||
include_spip('inc/notifications');
|
include_spip('inc/notifications');
|
||||||
notifications_envoyer_mails($mail_complet, $message, $sujet);
|
notifications_envoyer_mails($mail_complet, $message, $sujet);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
|
@ -1,11 +0,0 @@
|
||||||
#CACHE{0}
|
|
||||||
[(#SESSION{id_auteur}|sinon_interdire_acces{[(#URL_PAGE{mon_compte})]})]
|
|
||||||
|
|
||||||
<div class="se_connecter">
|
|
||||||
<h3 class="comptespip_titre_form"><i class="fa fa-pencil fas fa-pen"></i> <:comptespip:editer_compte_spip:></h3>
|
|
||||||
<br>
|
|
||||||
<div class="pasAJAX">
|
|
||||||
[(#FORMULAIRE_EDITER_COMPTE_SPIP{#ENV{id_auteur}, #ENV{redirect}})]
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
|
@ -36,8 +36,6 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
|
||||||
'conf_formulaire_suppression' => "Configuration du formulaire de suppression de compte SPIP",
|
'conf_formulaire_suppression' => "Configuration du formulaire de suppression de compte SPIP",
|
||||||
'champ_password' => "Mot de passe d'au moins @min@ caractères",
|
'champ_password' => "Mot de passe d'au moins @min@ caractères",
|
||||||
'champ_password_confirm' => "Confirmer votre mot de passe",
|
'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
|
// E
|
||||||
'explication_non_suppression' => 'Le texte pour expliquer l\'impossibilité de supprimer son compte',
|
'explication_non_suppression' => 'Le texte pour expliquer l\'impossibilité de supprimer son compte',
|
||||||
|
@ -54,7 +52,6 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
|
||||||
'label_non_suppression' => 'Texte d\'explication',
|
'label_non_suppression' => 'Texte d\'explication',
|
||||||
|
|
||||||
// MM
|
// MM
|
||||||
'mail_inscription' => 'Mail d\'inscription au site',
|
|
||||||
'message_mail' => 'Voici vos identifiants pour vous connecter sur le site "@nom_site_spip@" (@adresse_login@) :',
|
'message_mail' => 'Voici vos identifiants pour vous connecter sur le site "@nom_site_spip@" (@adresse_login@) :',
|
||||||
'mot_de_passe' => 'Mot de passe',
|
'mot_de_passe' => 'Mot de passe',
|
||||||
'mon_compte' => 'Mon compte',
|
'mon_compte' => 'Mon compte',
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
[(#REM)
|
[(#REM)
|
||||||
|
|
||||||
FORK du modèle de SPIP
|
FORK deu modèle de SPIP
|
||||||
|
|
||||||
][(#HTTP_HEADER{Content-type: text/plain[; charset=(#CHARSET)]})]
|
][(#HTTP_HEADER{Content-type: text/plain[; charset=(#CHARSET)]})]
|
||||||
[\[(#NOM_SITE_SPIP|concat{'\] : ',<:form_forum_identifiants:>}|nettoyer_titre_email)]
|
[\[(#NOM_SITE_SPIP|concat{'\] : ',<:form_forum_identifiants:>}|nettoyer_titre_email)]
|
||||||
|
|
|
@ -1,12 +1,11 @@
|
||||||
<paquet
|
<paquet
|
||||||
prefix="comptespip"
|
prefix="comptespip"
|
||||||
categorie="edition"
|
categorie="edition"
|
||||||
version="1.1.0"
|
version="1.0.0"
|
||||||
etat="dev"
|
etat="dev"
|
||||||
compatibilite="[3.3;4.*]"
|
compatibilite="[3.3.0-dev;3.3.*]"
|
||||||
logo="prive/themes/spip/images/comptespip-xx.svg"
|
logo="prive/themes/spip/images/comptespip-xx.svg"
|
||||||
documentation=""
|
documentation=""
|
||||||
schema="1.0.4"
|
|
||||||
>
|
>
|
||||||
|
|
||||||
<nom>CompteSPIP</nom>
|
<nom>CompteSPIP</nom>
|
||||||
|
@ -23,6 +22,6 @@
|
||||||
<pipeline nom="comptespip_desinscription" action="" />
|
<pipeline nom="comptespip_desinscription" action="" />
|
||||||
<pipeline nom="comptespip_pre_inscription" action="" />
|
<pipeline nom="comptespip_pre_inscription" action="" />
|
||||||
<pipeline nom="comptespip_pre_login" action="" />
|
<pipeline nom="comptespip_pre_login" action="" />
|
||||||
<pipeline nom="comptespip_post_traiter" action="" />
|
|
||||||
|
|
||||||
</paquet>
|
</paquet>
|
||||||
|
|
Loading…
Add table
Reference in a new issue