module_de_creation_automatique_des_mails_craac.org
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| module_de_creation_automatique_des_mails_craac.org [2024/07/14 15:10] – siick | module_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 |
| - | Le besoin du CRAAC est le suivant : lorsqu' | + | Le besoin du CRAAC est le suivant : lorsqu' |
| + | * 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' | ||
| Le module de gestion des adhésions permet d' | Le module de gestion des adhésions permet d' | ||
| Ligne 7: | Ligne 10: | ||
| wp-content/ | wp-content/ | ||
| - | Et voici le code Php de l'extension | + | Le code PHP de cette extension |
| - | <code PHP> | + | |
| - | <?php | + | |
| - | /** | + | |
| - | * Plugin Name: Webhook adherent Mail pour le CRAAC | + | |
| - | * Description: | + | |
| - | * d'une commande cURL passée à CPanel | + | |
| - | * | + | |
| - | * Les variables d' | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | * | + | |
| - | * Version: 1.0 | + | |
| - | * Author: Laurent Scarciello | + | |
| - | * Author URI: https://laurentscarciello.fr | + | |
| - | */ | + | |
| - | // Fonction d' | ||
| - | function activate_webhook_adherent_mail() { | ||
| - | } | ||
| - | register_activation_hook(__FILE__, | ||
| - | |||
| - | // Fonction principale | ||
| - | function create_mail_callback($user_id, | ||
| - | |||
| - | ob_start(); // Activer la mise en mémoire tampon | ||
| - | |||
| - | // Récupération des informations sur l' | ||
| - | $user_info = get_userdata($user_id); | ||
| - | $user_email = $user_info-> | ||
| - | $user_prenom = $user_info-> | ||
| - | $user_nom | ||
| - | |||
| - | // Récupération du code postal depuis la table pmpro_membership_orders | ||
| - | global $wpdb; | ||
| - | $user_postal_code = $wpdb-> | ||
| - | $wpdb-> | ||
| - | " | ||
| - | $user_id | ||
| - | ) | ||
| - | ); | ||
| - | |||
| - | // Paramètres d' | ||
| - | $username = defined(' | ||
| - | $url = defined(' | ||
| - | $password = defined(' | ||
| - | |||
| - | |||
| - | // Vérification si les informations sont ok | ||
| - | if (!$username || !$password) { | ||
| - | // Enregistrez l' | ||
| - | error_log(' | ||
| - | } | ||
| - | |||
| - | $user_prenom = clean_name($user_prenom); | ||
| - | $user_nom = clean_name($user_nom); | ||
| - | $email = $user_prenom.' | ||
| - | $bytes = openssl_random_pseudo_bytes(8); | ||
| - | $passwordEmail = bin2hex($bytes); | ||
| - | $quota = 1024; | ||
| - | |||
| - | // Construire l' | ||
| - | $authorizationHeader = ' | ||
| - | |||
| - | // Construire les données de la requête | ||
| - | $postData = array( | ||
| - | ' | ||
| - | ' | ||
| - | ' | ||
| - | ); | ||
| - | |||
| - | // Initialiser la session cURL | ||
| - | $curl_session = curl_init($url); | ||
| - | |||
| - | // Configurer les options cURL | ||
| - | curl_setopt($curl_session, | ||
| - | curl_setopt($curl_session, | ||
| - | curl_setopt($curl_session, | ||
| - | curl_setopt($curl_session, | ||
| - | |||
| - | // 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 = ' | ||
| - | error_log($error, | ||
| - | // Mail avec l' | ||
| - | wp_mail(' | ||
| - | } else { | ||
| - | // Fermer la session cURL | ||
| - | curl_close($curl_session); | ||
| - | |||
| - | // Second mail pour envoyer les informations de connexion à la boîte mail | ||
| - | $body = '< | ||
| - | $body .= '< | ||
| - | $body .= '< | ||
| - | $body .= '< | ||
| - | |||
| - | wp_mail($user_email, | ||
| - | |||
| - | // mail debug à commenter pour la prod | ||
| - | // wp_mail(' | ||
| - | |||
| - | } | ||
| - | |||
| - | ob_end_flush(); | ||
| - | } | ||
| - | |||
| - | // Clean les espaces et caractères spéciaux avant utilisation pour créer la boite mail | ||
| - | function clean_name($str) { | ||
| - | $str = htmlentities($str, | ||
| - | $str = preg_replace('#& | ||
| - | $str = preg_replace('#& | ||
| - | $str = preg_replace('#& | ||
| - | $str = preg_replace('/ | ||
| - | return $str; | ||
| - | } | ||
| - | |||
| - | add_action(' | ||
| - | ?> | ||
| - | </ | ||
module_de_creation_automatique_des_mails_craac.org.1720962641.txt.gz · Dernière modification : 2024/07/14 15:10 de siick
