diff --git a/content/editer_compte_spip.html b/content/editer_compte_spip.html
index 88b6dd9..42a00f2 100644
--- a/content/editer_compte_spip.html
+++ b/content/editer_compte_spip.html
@@ -1,6 +1,6 @@
Editer compte SPIP
- [(#FORMULAIRE_EDITER_COMPTE_SPIP{})]
+ [(#FORMULAIRE_EDITER_COMPTE_SPIP{#SESSION{id_auteur}})]
diff --git a/content/supprimer_compte_spip.html b/content/supprimer_compte_spip.html
new file mode 100644
index 0000000..f6c845d
--- /dev/null
+++ b/content/supprimer_compte_spip.html
@@ -0,0 +1,8 @@
+#CACHE{0}
+
+
+
<:comptespip:supprimer_compte_spip:>
+
+ [(#FORMULAIRE_SUPPRIMER_COMPTE_SPIP{#SESSION{id_auteur}})]
+
+
diff --git a/formulaires/configurer_comptespip.html b/formulaires/configurer_comptespip.html
index 267e83f..a76a409 100644
--- a/formulaires/configurer_comptespip.html
+++ b/formulaires/configurer_comptespip.html
@@ -143,7 +143,25 @@
+
+
diff --git a/formulaires/editer_compte_spip.html b/formulaires/editer_compte_spip.html
index b7e6222..444c4a3 100644
--- a/formulaires/editer_compte_spip.html
+++ b/formulaires/editer_compte_spip.html
@@ -35,7 +35,8 @@
diff --git a/formulaires/supprimer_compte_spip.html b/formulaires/supprimer_compte_spip.html
new file mode 100644
index 0000000..0292c0f
--- /dev/null
+++ b/formulaires/supprimer_compte_spip.html
@@ -0,0 +1,75 @@
+
+]
+
+
+
diff --git a/formulaires/supprimer_compte_spip.php b/formulaires/supprimer_compte_spip.php
new file mode 100644
index 0000000..4cae328
--- /dev/null
+++ b/formulaires/supprimer_compte_spip.php
@@ -0,0 +1,112 @@
+ '',
+ 'toto' => '',
+ 'login' => $row['login'],
+ '_alea_actuel' => isset($row['alea_actuel']) ? $row['alea_actuel'] : '',
+ '_alea_futur' => isset($row['alea_futur']) ? $row['alea_futur'] : '',
+ );
+
+ return $valeurs;
+}
+
+function formulaires_supprimer_compte_spip_verifier_dist($id_auteur, $redirect = ''){
+
+ $erreurs = array();
+
+ if (! intval($id_auteur)) {
+ $erreurs['message_erreur'] = _T('moncompte:action_interdite');
+ return $erreurs;
+ }
+
+ //champs obligatoire
+ foreach (array ('password') as $obligatoire) {
+ if (!_request($obligatoire)) $erreurs[$obligatoire] = _T('obligatoire');
+ }
+
+ return $erreurs;
+}
+
+function formulaires_supprimer_compte_spip_traiter_dist($id_auteur, $redirect = ''){
+ $chaine = _request('password');
+ $toto = _request('toto');
+
+ $chaine = substr($chaine,1, -1);
+
+ $password_a_tester = explode(';', $chaine)[0];
+ $password = sql_getfetsel('pass', 'spip_auteurs', 'id_auteur='.intval($id_auteur));
+
+ $retour = array();
+ if (
+ !$password or
+ $password === $password_a_tester
+ ) {
+ supprimer_ce_compte($id_auteur);
+ $retour['message_ok'] = _T('moncompte:compte_supprime');
+ } else {
+ echo "Ne pas Supprimer";
+ $retour['message_erreur'] = _T('moncompte:compte_pas_supprime');
+ }
+
+ $retour['redirect'] = "spip.php";
+ if ($redirect) {
+ $retour = $redirect;
+ }
+
+ return $retour;
+}
+
+function supprimer_ce_compte($id_auteur){
+
+ // suppression definitive du compte
+ $type_action = 'poubelle';
+ if (lire_config('comptespip/choix_suppression_compte') === 'supprimer' ) {
+ $type_action = 'suppression';
+ sql_delete('spip_auteurs','id_auteur='.intval($id_auteur));
+ sql_delete('spip_forum','id_auteur='.intval($id_auteur));
+
+ $from = array(
+ 'spip_auteurs_liens'
+ );
+ $where = array(
+ 'id_auteur='.intval($id_auteur),
+ 'objet="article"',
+ );
+ $T_id_article = sql_allfetsel('id_objet',$from, $where);
+ $in = sql_in('id_article', array_column($T_id_article, 'id_objet'));
+ sql_updateq('spip_articles', array('statut' => 'poubelle'), $in);
+
+ } else {
+ // on passe à la poubelle le compte
+ sql_updateq('spip_auteurs', array('statut' => '5poubelle'), 'id_auteur='.intval($id_auteur));
+ sql_updateq('spip_forum', array('auteur' => '', 'email_auteur' => ''), 'id_auteur='.intval($id_auteur));
+ }
+
+ pipeline('comptespip_desinscription',[
+ 'args' => compact('id_auteur', 'type_action'),
+ 'data' => ''
+ ]);
+
+ // on deconnecte
+ $logout = charger_fonction('logout','action');
+ set_request('url', 'spip.php');
+ $logout();
+
+
+ // On invalide le cache
+ include_spip('inc/invalideur');
+ suivre_invalideur("id='id_auteur/$id_auteur'");
+
+}
diff --git a/inc/gamucompte_mail_inscription.php b/inc/comptespip_mail_inscription.php
similarity index 100%
rename from inc/gamucompte_mail_inscription.php
rename to inc/comptespip_mail_inscription.php
diff --git a/lang/comptespip_fr.php b/lang/comptespip_fr.php
index 9f4e9eb..a61fdfe 100644
--- a/lang/comptespip_fr.php
+++ b/lang/comptespip_fr.php
@@ -7,10 +7,14 @@ if (!defined('_ECRIRE_INC_VERSION')) {
$GLOBALS[$GLOBALS['idx_lang']] = array(
- // G
- 'comptespip_titre' => 'CompteSPIP',
+ // AA
+ 'aller_a_la_poubelle' => 'Passer le compte en statut "poubelle"',
+
+ // BB
+ 'btn_supprimer_compte_spip' => 'Supprimer btn compte',
// C
+ 'comptespip_titre' => 'CompteSPIP',
'cfg_exemple' => 'Exemple',
'cfg_exemple_explication' => 'Explication de cet exemple',
'cfg_titre_parametrages' => 'Paramétrages',
@@ -29,7 +33,11 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'conf_label_logo_auteur' => "Autoriser la modification du logo de l'auteur",
'conf_label_desactiver_page_connect' => "Désactiver la page connect",
'conf_label_desactiver_page_connect_expl' => "Page d'inscription et de login",
+ 'conf_formulaire_suppression' => "Configuration du formulaire de suppression de compte SPIP",
+ // LL
+ 'label_entree_mdp_pour_suppression_de_compte' => "Entrer votre mot de passe pour pouvoir vous désinscrire",
+ 'label_choix_action_suppression' => 'Action lors de désinscription',
// MM
'message_mail' => 'Voici vos identifiants pour vous connecter sur le site "@nom_site_spip@" (@adresse_login@) :',
@@ -40,6 +48,9 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
// OO
'oui' => 'Oui',
+ // SS
+ 'supprimer_compte_spip' => "Suppression de mon compte",
+ 'supprimer_compte_definitivement' => 'Supprimer le compte définitivement',
// T
'titre_page_configurer_comptespip' => 'CompteSPIP',
);
diff --git a/paquet.xml b/paquet.xml
index 477acb4..6f48cfb 100644
--- a/paquet.xml
+++ b/paquet.xml
@@ -19,6 +19,7 @@
+