67 lines
2.5 KiB
PHP
67 lines
2.5 KiB
PHP
<?php
|
|
// Envoi de message de contact via WebHook discord => Correction de faille de sécurité en cachant le webhook dans un fichier à part
|
|
require_once('../../idDiscord.php');
|
|
|
|
// Envoi de formulaire de contact via WebHook discord
|
|
$webhook = ID_DISCORD2; // URL du webhook Discord
|
|
// EXEMPLE de a quoi ressemble idDiscord :
|
|
// define('ID_DISCORD1', 'https://discord.com/api/webhooks/URL_WEBHOOK1');
|
|
// define('ID_DISCORD2', 'https://discord.com/api/webhooks/URL_WEBHOOK2');
|
|
|
|
|
|
// Exemple du message :
|
|
|
|
// Portfolio Contact
|
|
// @Este
|
|
// Nouveau message depuis le formulaire de contact
|
|
// Sujet : test
|
|
// Nom : esteban moussu
|
|
// Mail : esteban.moussu@ik.me
|
|
// Message :
|
|
// test
|
|
|
|
// Définition de mon ID pour ensuite me ping => notifier
|
|
$pingOurs1 = "<@471304822016966667>";
|
|
|
|
// On récupère les valeurs dans le formulaires et on les mets en variables locales
|
|
$subject = $_POST["subject"];
|
|
$name = $_POST["name"];
|
|
$mail = $_POST["mail"];
|
|
$message = $_POST["message"];
|
|
|
|
// Si les champs sont vides
|
|
if ($subject == "" || $name == "" || $mail == "" || $message == "") {
|
|
echo "Tous les champs doivent être remplis.";
|
|
} else { // Sinon on envoi via Webhook (j'ai recupéré l'envoi de webhook sur github je n'ai rien fais moi même)
|
|
$contenuMessage = $pingOurs1 . "\n\n";
|
|
$contenuMessage .= "**Nouveau message depuis le formulaire de contact du portfolio**\n\n";
|
|
$contenuMessage .= "**Sujet :** " . $subject . "\n";
|
|
$contenuMessage .= "**Nom :** " . $name . "\n";
|
|
$contenuMessage .= "**Mail :** " . $mail . "\n";
|
|
$contenuMessage .= "**Message :**\n" . $message;
|
|
|
|
$data = [
|
|
"content" => $contenuMessage
|
|
];
|
|
|
|
$dataJson = json_encode($data);
|
|
|
|
$ch = curl_init($webhook); // On démarre une ressource curl
|
|
curl_setopt($ch, CURLOPT_HTTPHEADER, ["Content-Type: application/json"]);
|
|
curl_setopt($ch, CURLOPT_POST, 1);
|
|
curl_setopt($ch, CURLOPT_POSTFIELDS, $dataJson);
|
|
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
|
|
|
$resultat = curl_exec($ch);
|
|
$codeHttp = curl_getinfo($ch, CURLINFO_HTTP_CODE);
|
|
|
|
if ($codeHttp == 204) { // Si ça renvoi 204 alors le message a été correctement envoyé
|
|
curl_close($ch); // Fermer la ressource curl lancée
|
|
header("Location: ../pages/contact.php?success=1");
|
|
exit();
|
|
} else { // Sinon c'est que ça n'a pas été envoyé (discord down / webhook expiré / etcc...)
|
|
curl_close($ch); // Fermer la ressource curl lancée
|
|
echo "Le message n'a pas pu être envoyé sur Discord.";
|
|
}
|
|
}
|
|
?>
|