From 8d9f4fa34300c20fedcf5e863713a3e4f67149b1 Mon Sep 17 00:00:00 2001
From: b_b <bruno@eliaz.fr>
Date: Thu, 5 Nov 2020 12:46:26 +0100
Subject: [PATCH] permettre de relancer les inscriptions en attente

ajout d'une action relancer_inscription et d'un bouton pour l'appeler depuis la boite d'infos d'un auteur dont le statut est 'nouveau'

ref #4339
---
 ecrire/action/relancer_inscription.php | 39 ++++++++++++++++++++++++++
 ecrire/lang/ecrire_fr.php              |  1 +
 prive/objets/infos/auteur.html         |  3 ++
 3 files changed, 43 insertions(+)
 create mode 100644 ecrire/action/relancer_inscription.php

diff --git a/ecrire/action/relancer_inscription.php b/ecrire/action/relancer_inscription.php
new file mode 100644
index 0000000000..6bb923b91e
--- /dev/null
+++ b/ecrire/action/relancer_inscription.php
@@ -0,0 +1,39 @@
+<?php
+
+/***************************************************************************\
+ *  SPIP, Système de publication pour l'internet                           *
+ *                                                                         *
+ *  Copyright © avec tendresse depuis 2001                                 *
+ *  Arnaud Martin, Antoine Pitrou, Philippe Rivière, Emmanuel Saint-James  *
+ *                                                                         *
+ *  Ce programme est un logiciel libre distribué sous licence GNU/GPL.     *
+ *  Pour plus de détails voir le fichier COPYING.txt ou l'aide en ligne.   *
+\***************************************************************************/
+
+/**
+ * Gestion de l'action relancer_inscription
+ *
+ * @package SPIP\Core\Inscription
+ */
+
+if (!defined('_ECRIRE_INC_VERSION')) {
+	return;
+}
+
+/**
+ * Relancer une inscription
+ *
+ * @return void
+ */
+function action_relancer_inscription_dist() {
+	$securiser_action = charger_fonction('securiser_action', 'inc');
+	$id_auteur = $securiser_action();
+
+	if ($GLOBALS['visiteur_session']['statut'] == '0minirezo' and intval($id_auteur)) {
+		$auteur = sql_fetsel('prefs, email, nom, statut', 'spip_auteurs', "id_auteur=$id_auteur");
+		if ($auteur['statut'] == 'nouveau') {
+			include_spip('action/inscrire_auteur');
+			action_inscrire_auteur_dist($auteur['prefs'], $auteur['email'], $auteur['nom'], array('force_nouveau' => true));
+		}
+	}
+}
diff --git a/ecrire/lang/ecrire_fr.php b/ecrire/lang/ecrire_fr.php
index 39c7010c9f..a07affa5a2 100644
--- a/ecrire/lang/ecrire_fr.php
+++ b/ecrire/lang/ecrire_fr.php
@@ -63,6 +63,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
 	'bouton_redirection' => 'REDIRECTION',
 	'bouton_reinitialiser_aux_valeurs_par_defaut' => 'Réinitialiser aux valeurs par défaut',
 	'bouton_relancer_installation' => 'Relancer l’installation',
+	'bouton_relancer_inscription' => 'Relancer l’inscription',
 	'bouton_reset_password' => 'Générer un nouveau mot de passe et l’envoyer par email',
 	'bouton_suivant' => 'Suivant',
 	'bouton_tenter_recuperation' => 'Tenter une réparation',
diff --git a/prive/objets/infos/auteur.html b/prive/objets/infos/auteur.html
index 93f0714d2f..d80566e087 100644
--- a/prive/objets/infos/auteur.html
+++ b/prive/objets/infos/auteur.html
@@ -17,6 +17,9 @@
 		[(#BOUTON_ACTION{<:info_admin_etre_webmestre:>,[(#URL_ACTION_AUTEUR{etre_webmestre,[(#EVAL{'time()'})],#SELF})]})]
 	]
 ]
+[(#STATUT|=={nouveau}|et{#AUTORISER{webmestre}}|oui)
+[(#BOUTON_ACTION{<:bouton_relancer_inscription:>,[(#URL_ACTION_AUTEUR{relancer_inscription,#ID_AUTEUR,#SELF})],'bloc actualiser'})]
+]
 <INCLURE{fond=prive/objets/infos/inc-auteur-rubriques,id_auteur,statut} />
 <div class='nb_elements'>
 <BOUCLE_arts(ARTICLES){id_auteur}{statut!=poubelle}> </BOUCLE_arts>
-- 
GitLab