diff --git a/README.md b/README.md index f04893c..45ff709 100644 --- a/README.md +++ b/README.md @@ -326,17 +326,27 @@ $fonction(lire_config('souscriptions/slug_souscription_validation'), $Tdest, $op * 'nom' => 'nom_fichier_attache' ] ``` +## Slugs et @@ fournis pour surcharges facultatives de SPIP pour permettre l'envoi des mails en Gamumail plutôt que via notification +### slug `valider_inscription` : +- message pour la validation de l'adresse mail lors de la création d'un compte avec le form `inscription` +- à activer via une surcharge de `action_inscrire_auteur_dist()` : cf plugin **sq_collecte/sq_collecte_fonctions.php** +- pour intégrer la définition du mot de passe dès l'inscription (sans le plugin inscription_motdepasse) + d'autres contrôles de l'inscription : + - pour la saisie surcharge du HTML du form d'inscription : cf plugin **sq_collecte/formulaires/inscription.html** + - pour les contrôles il faut surcharger `formulaires_inscription_verifier_dist()` : cf plugin **sq_collecte/sq_collecte_fonctions.php** + +### slug `pass_oubli` +- message pour le reset du mot de passe +- à activer via une surcharge de `formulaires_oubli_traiter_dist()`: cf plugin **rocb/rocb_options.php** + + ## Outrepasser l'erreur de certificat auto-signé lors de devs en https local - => dans le mes_options.php du site mettre : - -``` +```php define('_DEBUG_AUTORISER', true); ``` ce qui permet d'activer les options de curl pour ne pas vérifier le certificat dans _charger_pdf.php_ : - -``` +```php // pour une connexion https locale avec certificat auto-signé if (defined('_DEBUG_AUTORISER')) { curl_setopt($CurlConnect, CURLOPT_SSL_VERIFYHOST, false); diff --git a/gamumail_administrations.php b/gamumail_administrations.php index 0bcc4ad..6ca6a74 100644 --- a/gamumail_administrations.php +++ b/gamumail_administrations.php @@ -28,7 +28,7 @@ function gamumail_upgrade($nom_meta_base_version, $version_cible) { $maj['create'] = array( array('maj_tables', array('spip_gamumails')), - array('creer_compte_curl') + array('creer_compte_curl', 'creer_slugs'), ); $maj['1.0.2'] = array(array('maj_tables', array('spip_gamumails'))); $maj['1.0.5'] = array(array('creer_compte_curl')); @@ -37,14 +37,54 @@ function gamumail_upgrade($nom_meta_base_version, $version_cible) { $maj['1.0.12'] = array(array('creer_compte_curl')); $maj['1.0.14'] = array(array('maj_tables', array('spip_gamumails'))); $maj['1.0.16'] = array(array('maj_tables', array('spip_gamumails'))); + $maj['1.0.17'] = array(array('creer_slugs')); include_spip('base/upgrade'); maj_plugin($nom_meta_base_version, $version_cible, $maj); } +// créer les slugs fournis avec Gamumail +function creer_slugs() { + if (!sql_countsel('spip_gamumails', 'slug="valider_inscription"')) { + $set = [ + 'slug' => 'valider_inscription', + 'titre' => 'Message de création de compte : validation de l\'adresse mail', + 'sujet' => '[@@nom_site@@] Création de votre compte', + 'texte' => 'Bonjour @@nom@@, + +Vous venez de créer votre compte sur @@url_site@@ avec l\'identifiant de connexion @@mail_compte@@. +[Merci de cliquer sur ce lien pour le confirmer et vous connecter->@@url_token@@]. + +— Envoyé par @@nom_site@@ (@@url_site@@)', + 'statut' => 'publie', + 'public' => 'non', + 'rang' => '999' + ]; + sql_insertq('spip_gamumails', $set); + } + if (!sql_countsel('spip_gamumails', 'slug="pass_oubli"')) { + $set = [ + 'slug' => 'pass_oubli', + 'titre' => 'Message de reset du mot de passe', + 'sujet' => '[@@nom_site@@] récupération de votre mot de passe', + 'texte' => 'Pour récupérer votre accès @@nom_site@@ (@@url_site@@), merci de suivre ce lien : +@@url_spip_pass@@ + +Vous pourrez alors saisir un nouveau mot de passe et vous connecter au site + +— Envoyé par @@nom_site@@ (@@url_site@@)', + 'statut' => 'publie', + 'public' => 'non', + 'rang' => '999' + ]; + sql_insertq('spip_gamumails', $set); + } +} + + function creer_compte_curl(){ - if (sql_countsel('nom', 'spip_auteurs', 'nom="curl_login"')){ + if (sql_countsel('spip_auteurs', 'nom="curl_login"')){ return; } $mdp = uniqid(uniqid(),1); diff --git a/inc/gamumail_remplacements.php b/inc/gamumail_remplacements.php index 5f1e615..28f49b0 100644 --- a/inc/gamumail_remplacements.php +++ b/inc/gamumail_remplacements.php @@ -13,6 +13,8 @@ if (!defined('_ECRIRE_INC_VERSION')) { * **/ function inc_gamumail_remplacements_dist($args, $html) { + $slug = $args['slug']; + /** * @@url_spip_pass@@ * ATTENTION, il ne faut passer QUE si @@url_spip_pass@@ est présent, car la fonction @@ -32,6 +34,19 @@ function inc_gamumail_remplacements_dist($args, $html) { $html = gamumail_remplacer_modele('url_spip_pass', $url_spip_pass, $html); } + /** + * @@url_token@@ pour le mail de validation de création de compte (slug valider_inscription) + @@mail_compte@@ + * en SPIP 4.2+ on DOIT récupérer l'URL de validation générée par action_inscrire_auteur() + **/ + if ($slug === 'valider_inscription' + && ($id_auteur = $args['options']['id_auteur']) + && ($url_confirm = $args['options']['url_confirm']) + ) { + $auteur = sql_fetsel('email', 'spip_auteurs', 'id_auteur='.intval($id_auteur)); + $html = str_replace('@@url_token@@', $url_confirm, $html); + $html = str_replace('@@mail_compte@@', $auteur['email'], $html); + } + /** * @@nom@@ => $nom ou un espace pour vider le champ @@nom@@ **/ diff --git a/paquet.xml b/paquet.xml index 155ca8c..a85d09c 100644 --- a/paquet.xml +++ b/paquet.xml @@ -6,7 +6,7 @@ compatibilite="[3.2.0;4.*]" logo="prive/themes/spip/images/gamumail-64.png" documentation="" - schema="1.0.16" + schema="1.0.17" > GamuMail