Outils pour utilisateurs

Outils du site


module_de_creation_automatique_des_mails_craac.org

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
module_de_creation_automatique_des_mails_craac.org [2024/03/24 14:45] siickmodule_de_creation_automatique_des_mails_craac.org [2024/08/19 14:48] (Version actuelle) siick
Ligne 1: Ligne 1:
-===== Module de création automatique des mails craac.org ===== +===== Module de création automatique des mails craac.org et du compte Decidim ===== 
-Le besoin du CRAAC est le suivant : lorsqu'un utilisateur décide d'adhérer au CRAAC, celui-ci doit faire un paiement et ensuite avoir automatiquement une boite mail.+Le besoin du CRAAC est le suivant : lorsqu'un utilisateur décide d'adhérer au CRAAC, celui-ci suite au paiement doit obtenir automatiquement ;  
 +  * Une boite mail sous la forme PrenomNomCODEPOSTAL@craac.org. 
 +  * La création d'un compte sur la plateforme numérique pour la participation citoyenne du CRAAC avec le mail PrenomNomCODEPOSTAL@craac.org 
 +  * Avertir l'adhérent sur l’ouverture de sa boîte mail et son compte Decidim
  
 Le module de gestion des adhésions permet d'utiliser un webhook qui permet de faire une action lors d'un paiement réussi. Le webhook utilisé est celui-ci --> [[https://www.paidmembershipspro.com/hook/pmpro_after_checkout/|pmpro_after_checkout]] Le module de gestion des adhésions permet d'utiliser un webhook qui permet de faire une action lors d'un paiement réussi. Le webhook utilisé est celui-ci --> [[https://www.paidmembershipspro.com/hook/pmpro_after_checkout/|pmpro_after_checkout]]
Ligne 7: Ligne 10:
     wp-content/plugins/webhook-adherent-mail     wp-content/plugins/webhook-adherent-mail
  
-Et voic le code Php de l'extension +Le code PHP de cette extension se trouve dans une dépôt GITLAB situé ici --> https://forge.tedomum.net/craac/webhook_mail_craac
-<code PHP> +
-<?php +
-/** +
- * Plugin Name: Webhook adherent Mail pour le CRAAC +
- * Description: Permet de créer automatiquement une boîte mail sous la fome prenom.nomCODEPOSTAL@craac.org quand un nouvel adhérent est crée à l'aide  +
- * d'une commande cURL passée à CPanel +
- *  +
- * Les variables d'environnement suivantes pour cPanel doivent être définies dans le fichier de config de Wordpress 'wp-config.php' +
-  define('CPANEL_URL', 'https://url.com'); +
-  define('CPANEL_USERNAME', 'username'); +
-  define('CPANEL_PASSWORD', 'password'); +
- *  +
- * Version: 1.+
- * Author: Laurent Scarciello +
- * Author URI: https://laurentscarciello.fr +
-*/+
  
-// Fonction d'activation 
-function activate_webhook_adherent_mail() { 
-} 
-register_activation_hook(__FILE__, 'activate_webhook_adherent_mail'); 
- 
-// Fonction principale 
-function create_mail_callback($user_id, $morder) { 
- 
-    ob_start(); // Activer la mise en mémoire tampon 
- 
-    // Récupération des informations sur l'utilisateur 
-    $user_info = get_userdata($user_id); 
-    $user_email = $user_info->user_email; 
-    $user_prenom = $user_info->first_name; 
-    $user_nom  = $user_info->last_name; 
- 
-    // Récupération du code postal depuis la table pmpro_membership_orders 
-    global $wpdb; 
-    $user_postal_code = $wpdb->get_var( 
-        $wpdb->prepare( 
-            "SELECT billing_zip FROM {$wpdb->pmpro_membership_orders} WHERE user_id = %d ORDER BY id DESC LIMIT 1", 
-            $user_id 
-        ) 
-    ); 
- 
-    // Paramètres d'authentification pour la requête cURL 
-    $username = defined('CPANEL_USERNAME') ? CPANEL_USERNAME : ''; 
-    $url = defined('CPANEL_URL') ? CPANEL_URL : ''; 
-    $password = defined('CPANEL_PASSWORD') ? CPANEL_PASSWORD : ''; 
- 
- 
-    // Vérification si les informations sont ok 
-    if (!$username || !$password) { 
-        // Enregistrez l'erreur dans les logs de WordPress 
-        error_log('Les informations d\'authentification CPanel pour la création de la boîte mail ne sont pas disponibles.', 0); 
-    } 
- 
-    $user_prenom = clean_name($user_prenom); 
-    $user_nom = clean_name($user_nom); 
-    $email = $user_prenom.'.'.$user_nom.$user_postal_code.'@craac.org'; 
-    $bytes = openssl_random_pseudo_bytes(8); 
-    $passwordEmail = bin2hex($bytes); 
-    $quota = 1024; 
- 
-    // Construire l'en-tête d'autorisation cURL 
-    $authorizationHeader = 'Authorization: cpanel '.$username.':'.$password; 
- 
-    // Construire les données de la requête  
-    $postData = array( 
-        'email' => $email, 
-        'password' => $passwordEmail, 
-        'quota' => $quota 
-    ); 
- 
-    // Initialiser la session cURL 
-    $curl_session = curl_init($url); 
- 
-    // Configurer les options cURL 
-    curl_setopt($curl_session, CURLOPT_RETURNTRANSFER, true); 
-    curl_setopt($curl_session, CURLOPT_POST, true); 
-    curl_setopt($curl_session, CURLOPT_POSTFIELDS, http_build_query($postData)); 
-    curl_setopt($curl_session, CURLOPT_HTTPHEADER, array($authorizationHeader)); 
- 
-    // Exécuter la requête cURL et récupérer la réponse 
-    $response = curl_exec($curl_session); 
- 
-    // Vérifier s'il y a des erreurs 
-    if (curl_errno($curl_session)) { 
-        $error = 'Erreur cURL : ' . curl_error($curl_session); 
-        error_log($error, 0); 
-        // Mail avec l'erreur 
-        wp_mail('error-mail-craac@siick.fr', 'Erreur création mail CRAAC', $error); 
-    } else { 
-        // Fermer la session cURL 
-        curl_close($curl_session); 
- 
-        // Second mail pour envoyer les informations de connexion à la boîte mail 
-        $body = '<p>Merci pour votre adhésion au CRAAC. Cette adhésion met également à disposition une boîte mail.</p>'; 
-        $body .= '<p>Voici votre nouvelle adresse mail '.$user_prenom.'.'.$user_nom.$user_postal_code.'@craac.org</p>'; 
-        $body .= '<p>La boîte mail se trouve à cette adresse <a href="https://mail.craac.org">https://mail.craac.org</a> et votre mot de passe de connexion est '.$passwordEmail.'</p>'; 
-        $body .= '<p><b>ATTENTION : Pour plus de sécurité VEUILLEZ CHANGER OBLIGATOIREMENT VOTRE MOT DE PASSE À VOTRE PREMIÈRE CONNEXION !</b></p>'; 
- 
-        wp_mail($user_email, 'Confirmation de création de votre nouvelle boite mail @craac.org', $body); 
- 
-        // mail debug à commenter pour la prod 
-        // wp_mail('devcraac@siick.fr', 'Debug', $passwordEmail); 
- 
-    } 
- 
-    ob_end_flush(); // Flush du tampon 
-} 
- 
-// Clean les espaces et caractères spéciaux avant utilisation pour créer la boite mail 
-function clean_name($str) { 
-    $str = htmlentities($str, ENT_NOQUOTES, 'utf-8'); 
-    $str = preg_replace('#&([A-za-z])(?:uml|circ|tilde|acute|grave|cedil|ring);#', '\1', $str); 
-    $str = preg_replace('#&([A-za-z]{2})(?:lig);#', '\1', $str); 
-    $str = preg_replace('#&[^;]+;#', '', $str); 
-    $str = preg_replace('/\s+/', '', $str); 
-    return $str; 
-} 
- 
-add_action('pmpro_after_checkout', 'create_mail_callback', 10, 2); 
-?> 
-</code> 
module_de_creation_automatique_des_mails_craac.org.1711287911.txt.gz · Dernière modification : 2024/07/14 15:02 (modification externe)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki