aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorarf20 <aruizfernandez05@gmail.com>2024-04-28 05:02:52 +0200
committerarf20 <aruizfernandez05@gmail.com>2024-04-28 05:02:52 +0200
commit0d733500b8a5e94eafc31b45a9015220d85ea8c2 (patch)
treeaf35942c923deede466d4df68925a7d713ba3d09
parent9f20c90c320140dbcaa9acfa6a58fea3e40f6806 (diff)
downloadarfnet2-cstims-0d733500b8a5e94eafc31b45a9015220d85ea8c2.tar.gz
arfnet2-cstims-0d733500b8a5e94eafc31b45a9015220d85ea8c2.zip
Add discord webhook announce
-rw-r--r--config.php.example3
-rw-r--r--publishannouncement.php30
2 files changed, 29 insertions, 4 deletions
diff --git a/config.php.example b/config.php.example
index ef5d0d1..e25f427 100644
--- a/config.php.example
+++ b/config.php.example
@@ -13,7 +13,8 @@ define('MAIL_USER', 'user');
define('MAIL_PASSWORD', 'password');
define('MAIL_FROM', 'system@example.com');
-define('MAIL_ANNOUNCE_ADDRESS', 'announce@example.com');
+define('ANNOUNCE_MAIL', 'announce@example.com');
+define('ANNOUNCE_DISCORD', 'https://discord.com/api/webhooks/thing');
define('DOMAIN', 'dash.example.com');
diff --git a/publishannouncement.php b/publishannouncement.php
index 76c934a..1225670 100644
--- a/publishannouncement.php
+++ b/publishannouncement.php
@@ -34,15 +34,39 @@ $users = $result->fetch_all(MYSQLI_ASSOC);
// POST actions
if ($_SERVER["REQUEST_METHOD"] == "POST") {
- /* Send email */
- $mailer->addAddress(MAIL_ANNOUNCE_ADDRESS);
+ // Send email
+ $mailer->addAddress(ANNOUNCE_MAIL);
$mailer->addReplyTo(getuserbyid($id)["email"]);
$mailer->Subject = "[ARFNET Announcement] ".$_POST["subject"];
$mailer->Body = $_POST["body"];
if (!$mailer->send()) {
echo 'Mailer Error [ask arf20]: ' . $mailer->ErrorInfo;
- } else header("location: ".$_SERVER['SCRIPT_NAME']);
+ }
+
+ // Send discord message
+ if (defined("ANNOUNCE_DISCORD")) {
+ echo "discord ";
+ $json_data = json_encode([
+ "content" => "@everyone \nSubject: ".$_POST["subject"]."\n".$_POST["body"]
+ ], JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE);
+
+ $ch = curl_init(ANNOUNCE_DISCORD);
+ curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-type: application/json'));
+ curl_setopt($ch, CURLOPT_POST, 1);
+ curl_setopt($ch, CURLOPT_POSTFIELDS, $json_data);
+ curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
+ curl_setopt($ch, CURLOPT_HEADER, 0);
+ curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
+ $response = curl_exec($ch);
+ curl_close($ch);
+
+ if ($response == false) {
+ echo 'Curl Error [ask arf20]: ' . $response;
+ } else echo "ok<br>";
+ }
+
+ die();
}