Compare commits
38 commits
Author | SHA1 | Date | |
---|---|---|---|
|
12ab35cf12 | ||
62f575c917 | |||
89046f4273 | |||
b57a3079a6 | |||
ccb926ed3b | |||
bac069e461 | |||
17b16a2990 | |||
7683235a46 | |||
03abfaecc3 | |||
77537f58be | |||
871dfe0df1 | |||
0d3724910d | |||
672b222314 | |||
d7cd0f1219 | |||
|
83f29c9b7d | ||
|
d168f786cc | ||
|
e9806a0703 | ||
d6b1387de0 | |||
88c77f5a58 | |||
7d729610f3 | |||
af82b089bf | |||
de88c3afb3 | |||
|
9ae5b78fd1 | ||
|
a07579bc39 | ||
|
884bab15fc | ||
|
e72c81d385 | ||
a6cedc712c | |||
8f79056db5 | |||
db8e0bf3c0 | |||
eaff4f0954 | |||
4d24491055 | |||
b285cd9eed | |||
3057cd995b | |||
544b7c51b5 | |||
360a003294 | |||
f82e317765 | |||
b1f0d139c0 | |||
bb30b39bcb |
13 changed files with 316 additions and 208 deletions
73
comptespip_administrations.php
Normal file
73
comptespip_administrations.php
Normal file
|
@ -0,0 +1,73 @@
|
|||
<?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,7 +13,20 @@ if (!defined('_ECRIRE_INC_VERSION')) {
|
|||
return;
|
||||
}
|
||||
|
||||
defined('_LOGIN_TROP_COURT') or define('_LOGIN_TROP_COURT', 1);
|
||||
|
||||
$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',
|
||||
'options' => array(
|
||||
|
@ -21,6 +34,7 @@ $GLOBALS['comptespip_editer'] = [
|
|||
'label' => 'Votre Nom',
|
||||
'obligatoire' => 'oui',
|
||||
//'fonction' => 'ma_super_fonction'
|
||||
//'modifier' => 'ma_super_fonction_pour_modifier'
|
||||
)
|
||||
],
|
||||
[
|
||||
|
|
|
@ -24,3 +24,4 @@ function comptespip_insert_head_css($flux){
|
|||
$flux .= '<link rel="stylesheet" href="' . timestamp(find_in_path('css/comptespip.css')) . '" type="text/css" />' . "\n";
|
||||
return $flux;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,7 +1,3 @@
|
|||
[(#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>
|
||||
<div class="pasAJAX">
|
||||
[(#FORMULAIRE_EDITER_COMPTE_SPIP{#ENV{id_auteur}, #ENV{redirect}})]
|
||||
</div>
|
||||
</div>
|
||||
#CACHE{0}
|
||||
<INCLURE{fond=inclure/editer_compte_spip,env}>
|
||||
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -41,9 +41,11 @@
|
|||
float: left;
|
||||
}
|
||||
|
||||
/*
|
||||
.se_connecter .formulaire_spip {
|
||||
background-color: rgba(235, 235, 235, 1) !important;
|
||||
}
|
||||
*/
|
||||
.se_connecter .boutons {
|
||||
background-color: transparent !important;
|
||||
}
|
||||
|
@ -58,7 +60,7 @@
|
|||
padding: 0 1.5rem;
|
||||
margin-bottom: 1rem;
|
||||
letter-spacing: initial;
|
||||
font-variant: small-caps;
|
||||
/*font-variant: small-caps;*/
|
||||
}
|
||||
.se_connecter #indicatif {
|
||||
width: 2rem;
|
||||
|
@ -74,9 +76,9 @@
|
|||
}
|
||||
}
|
||||
|
||||
.comptespip_titre_form {
|
||||
margin-bottom: -3rem;
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
margin-left: 2rem;
|
||||
}
|
||||
/* .comptespip_titre_form { */
|
||||
/* margin-bottom: -3rem; */
|
||||
/* position: relative; */
|
||||
/* z-index: 1; */
|
||||
/* margin-left: 2rem; */
|
||||
/* } */
|
||||
|
|
|
@ -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,12 +24,15 @@
|
|||
</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="editer_groupe">
|
||||
[(#PLUGIN{verifmob}|oui)
|
||||
<style type="text/css" media="screen">
|
||||
.editer_telephone {
|
||||
display: none
|
||||
|
@ -34,7 +41,7 @@
|
|||
<fieldset>
|
||||
<legend><:comptespip:telephone|ucfirst:></legend>
|
||||
<div class="editer">
|
||||
#SET{erreurs,#ENV**{erreurs}|table_valeur{mobile}}
|
||||
[(#SET{erreurs,#ENV**{erreurs}|table_valeur{mobile}})]
|
||||
[<span class="erreur_message">(#GET{erreurs})</span>]
|
||||
<div class="verif_mobile editer">
|
||||
<div class="indicateur_plus">
|
||||
|
@ -43,8 +50,8 @@
|
|||
<input class="text" type="text"
|
||||
name="indicatif"
|
||||
id="indicatif"
|
||||
value="#ENV{indicatif}"
|
||||
pattern="[0-9]{2,4}"
|
||||
value="[(#ENV{indicatif})]"
|
||||
pattern="\[0-9\]{2,4}"
|
||||
required
|
||||
>
|
||||
<input type="tel" class="verif_mobile"
|
||||
|
@ -52,7 +59,7 @@
|
|||
name="mobile"
|
||||
placeholder="611223344"
|
||||
value="[(#ENV{mobile})]"
|
||||
pattern="^[67][0-9]{8}$"
|
||||
pattern="^\[67\]\[0-9\]{8}$"
|
||||
autocomplete="off"
|
||||
required
|
||||
maxlength="9"
|
||||
|
@ -62,40 +69,38 @@
|
|||
</div>
|
||||
<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>
|
||||
#SET{erreurs,#ENV**{erreurs}|table_valeur{confirmation_sms}}
|
||||
[(#SET{erreurs,#ENV**{erreurs}|table_valeur{confirmation_sms}})]
|
||||
[<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>
|
||||
<button class="btn btn--warning renvoyer_sms" type="button"> <:comptespip:renvoyer_sms:> </button>
|
||||
</fieldset>
|
||||
[(#INCLURE{fond=inclure/verif_mobile})]
|
||||
</BOUCLE_con>
|
||||
|
||||
<fieldset>
|
||||
<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>
|
||||
|
||||
<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}
|
||||
{defaut=#ENV{password}}
|
||||
{type=password}
|
||||
{attributs=#GET{min}}
|
||||
{autocomplete=off}
|
||||
{label=#GET{chaine_langue}}
|
||||
)]
|
||||
[(#SAISIE{input,password_confirmation}
|
||||
{defaut=#ENV{password_confirmation}}
|
||||
{type=password}
|
||||
{attributs=#GET{min}}
|
||||
{autocomplete=off}
|
||||
{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})
|
||||
|
@ -106,34 +111,3 @@
|
|||
</div></form>
|
||||
|
||||
</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,15 +31,11 @@ function formulaires_editer_compte_spip_charger_dist($id_auteur = 'new', $redir
|
|||
$valeurs['confirmation_sms'] = '';
|
||||
}
|
||||
|
||||
|
||||
$valeurs['alea'] = '';
|
||||
$valeurs['new_password'] = '';
|
||||
$valeurs['new_password_confirmation'] = '';
|
||||
$valeurs['password'] = '';
|
||||
$valeurs['password_confirmation'] = '';
|
||||
$valeurs['pass_longeur_mini'] = _PASS_LONGUEUR_MINI;
|
||||
|
||||
|
||||
return $valeurs;
|
||||
}
|
||||
|
||||
|
@ -53,16 +49,16 @@ function formulaires_editer_compte_spip_verifier_dist($id_auteur = 'new', $redi
|
|||
}
|
||||
|
||||
// mot de passe
|
||||
if (_request('new_password') != _request('new_password_confirmation')){
|
||||
$erreurs['new_password_confirmation'] = _T('info_passes_identiques');
|
||||
if (_request('password') != _request('password_confirmation')){
|
||||
$erreurs['password_confirmation'] = _T('info_passes_identiques');
|
||||
}
|
||||
|
||||
// Mais si l'un des deux champs n'est pas rempli, cette erreur prend le dessus
|
||||
if ($id_auteur === 'new') {
|
||||
if (!_request('new_password')){
|
||||
if (!_request('password')){
|
||||
$erreurs['password'] = _T('info_obligatoire');
|
||||
}
|
||||
if (!_request('new_password_confirmation')){
|
||||
if (!_request('password_confirmation')){
|
||||
$erreurs['password_confirmation'] = _T('info_obligatoire');
|
||||
}
|
||||
}
|
||||
|
@ -83,7 +79,7 @@ function formulaires_editer_compte_spip_verifier_dist($id_auteur = 'new', $redi
|
|||
} else {
|
||||
$f = 'test_inscription_dist';
|
||||
}
|
||||
$declaration = $f($mode, $mail, _request('nom'), $id);
|
||||
$declaration = $f($mode, $mail, _request('nom'), $id_auteur);
|
||||
if (is_string($declaration)) {
|
||||
$k = (strpos($declaration, 'mail') !== false) ?
|
||||
'mail_inscription' : 'nom_inscription';
|
||||
|
@ -99,11 +95,11 @@ function formulaires_editer_compte_spip_verifier_dist($id_auteur = 'new', $redi
|
|||
'id_auteur!='.intval($id_auteur)
|
||||
]
|
||||
)) {
|
||||
if (($row['statut'] == '5poubelle') and empty($declaration['pass'])) {
|
||||
if (($row['statut'] == '5poubelle') and empty($row['pass'])) {
|
||||
// irrecuperable
|
||||
$erreurs['message_erreur'] = _T('form_forum_access_refuse');
|
||||
} else {
|
||||
if (($row['statut'] != 'nouveau') and empty($declaration['pass'])) {
|
||||
if (($row['statut'] != 'nouveau') and empty($row['pass'])) {
|
||||
if (intval($row['statut']) > intval($mode)) {
|
||||
set_request('_upgrade_auteur', $row['id_auteur']);
|
||||
} else {
|
||||
|
@ -128,7 +124,6 @@ function formulaires_editer_compte_spip_verifier_dist($id_auteur = 'new', $redi
|
|||
$erreurs['mobile'] = _T('comptespip:telephone_deja_enregistre');
|
||||
}
|
||||
}
|
||||
|
||||
return $erreurs;
|
||||
}
|
||||
|
||||
|
@ -145,65 +140,26 @@ function formulaires_editer_compte_spip_traiter_dist($id_auteur = 'new', $redir
|
|||
}
|
||||
|
||||
include_spip('action/editer_auteur');
|
||||
include_spip('inc/acces');
|
||||
|
||||
$password = _request('new_password');
|
||||
$password = _request('password');
|
||||
|
||||
$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;
|
||||
$login = 'login_'.$id_auteur;
|
||||
}
|
||||
$set['login'] = $login;
|
||||
$set['statut'] = $mode;
|
||||
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');
|
||||
}
|
||||
}
|
||||
|
||||
$set_inst['login'] = $login;
|
||||
$set_inst['statut'] = $mode;
|
||||
auteur_instituer($id_auteur, $set_inst);
|
||||
/*
|
||||
* Branchement sur le plugin Autorisations etendues
|
||||
*/
|
||||
|
@ -213,30 +169,76 @@ function formulaires_editer_compte_spip_traiter_dist($id_auteur = 'new', $redir
|
|||
$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
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
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)) {
|
||||
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);
|
||||
}
|
||||
}
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
||||
if (count($set) > 0) {
|
||||
$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 +248,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) {
|
||||
|
@ -260,15 +278,23 @@ function formulaires_editer_compte_spip_traiter_dist($id_auteur = 'new', $redir
|
|||
|
||||
|
||||
if ($r) {
|
||||
$retour['message_ok'] = _T('comptespip:modification_compte_ok');
|
||||
} else {
|
||||
$retour['message_erreur'] = _T('comptespip:erreur_edition_compte');
|
||||
} else {
|
||||
$retour['message_ok'] = _T('comptespip:modification_compte_ok');
|
||||
}
|
||||
|
||||
if ($redirect) {
|
||||
$retour['redirect'] = $redirect;
|
||||
}
|
||||
|
||||
$retour = pipeline(
|
||||
'comptespip_post_traiter',
|
||||
array(
|
||||
'args' => $set,
|
||||
'data' => $retour
|
||||
)
|
||||
);
|
||||
|
||||
return $retour;
|
||||
}
|
||||
|
||||
|
|
|
@ -13,7 +13,13 @@ if (!defined('_ECRIRE_INC_VERSION')){
|
|||
* @return 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));
|
||||
if (isset($options['pass'])) {
|
||||
$contexte['pass'] = $options['pass'];
|
||||
|
@ -26,3 +32,4 @@ function inc_comptespip_mail_inscription_dist(int $id_auteur, array $options = [
|
|||
include_spip('inc/notifications');
|
||||
notifications_envoyer_mails($mail_complet, $message, $sujet);
|
||||
}
|
||||
}
|
||||
|
|
11
inclure/editer_compte_spip.html
Normal file
11
inclure/editer_compte_spip.html
Normal file
|
@ -0,0 +1,11 @@
|
|||
#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,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',
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
[(#REM)
|
||||
|
||||
FORK deu modèle de SPIP
|
||||
FORK du modèle de SPIP
|
||||
|
||||
][(#HTTP_HEADER{Content-type: text/plain[; charset=(#CHARSET)]})]
|
||||
[\[(#NOM_SITE_SPIP|concat{'\] : ',<:form_forum_identifiants:>}|nettoyer_titre_email)]
|
||||
|
|
|
@ -1,11 +1,12 @@
|
|||
<paquet
|
||||
prefix="comptespip"
|
||||
categorie="edition"
|
||||
version="1.0.0"
|
||||
version="1.1.0"
|
||||
etat="dev"
|
||||
compatibilite="[3.3.0-dev;3.3.*]"
|
||||
compatibilite="[3.3;4.*]"
|
||||
logo="prive/themes/spip/images/comptespip-xx.svg"
|
||||
documentation=""
|
||||
schema="1.0.4"
|
||||
>
|
||||
|
||||
<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>
|
||||
|
|
Loading…
Add table
Reference in a new issue