mirror of
https://github.com/ellite/Wallos.git
synced 2026-05-12 14:58:31 -05:00
csrf on settings / notifications
This commit is contained in:
@@ -1,77 +1,67 @@
|
||||
<?php
|
||||
|
||||
require_once '../../includes/connect_endpoint.php';
|
||||
require_once '../../includes/validate_endpoint.php';
|
||||
|
||||
if (!isset($_SESSION['loggedin']) || $_SESSION['loggedin'] !== true) {
|
||||
die(json_encode([
|
||||
$postData = file_get_contents("php://input");
|
||||
$data = json_decode($postData, true);
|
||||
|
||||
if (
|
||||
!isset($data["url"]) || $data["url"] == ""
|
||||
) {
|
||||
$response = [
|
||||
"success" => false,
|
||||
"message" => translate('session_expired', $i18n)
|
||||
]));
|
||||
}
|
||||
"message" => translate('fill_mandatory_fields', $i18n)
|
||||
];
|
||||
echo json_encode($response);
|
||||
} else {
|
||||
$enabled = $data["enabled"];
|
||||
$webhook_url = $data["url"];
|
||||
$bot_username = $data["bot_username"];
|
||||
$bot_avatar_url = $data["bot_avatar"];
|
||||
|
||||
if ($_SERVER["REQUEST_METHOD"] === "POST") {
|
||||
$postData = file_get_contents("php://input");
|
||||
$data = json_decode($postData, true);
|
||||
$query = "SELECT COUNT(*) FROM discord_notifications WHERE user_id = :userId";
|
||||
$stmt = $db->prepare($query);
|
||||
$stmt->bindParam(":userId", $userId, SQLITE3_INTEGER);
|
||||
$result = $stmt->execute();
|
||||
|
||||
if (
|
||||
!isset($data["url"]) || $data["url"] == ""
|
||||
) {
|
||||
if ($result === false) {
|
||||
$response = [
|
||||
"success" => false,
|
||||
"message" => translate('fill_mandatory_fields', $i18n)
|
||||
"message" => translate('error_saving_notifications', $i18n)
|
||||
];
|
||||
echo json_encode($response);
|
||||
} else {
|
||||
$enabled = $data["enabled"];
|
||||
$webhook_url = $data["url"];
|
||||
$bot_username = $data["bot_username"];
|
||||
$bot_avatar_url = $data["bot_avatar"];
|
||||
$row = $result->fetchArray();
|
||||
$count = $row[0];
|
||||
if ($count == 0) {
|
||||
$query = "INSERT INTO discord_notifications (enabled, webhook_url, bot_username, bot_avatar_url, user_id)
|
||||
VALUES (:enabled, :webhook_url, :bot_username, :bot_avatar_url, :userId)";
|
||||
} else {
|
||||
$query = "UPDATE discord_notifications
|
||||
SET enabled = :enabled, webhook_url = :webhook_url, bot_username = :bot_username, bot_avatar_url = :bot_avatar_url
|
||||
WHERE user_id = :userId";
|
||||
}
|
||||
|
||||
$query = "SELECT COUNT(*) FROM discord_notifications WHERE user_id = :userId";
|
||||
$stmt = $db->prepare($query);
|
||||
$stmt->bindParam(":userId", $userId, SQLITE3_INTEGER);
|
||||
$result = $stmt->execute();
|
||||
$stmt->bindValue(':enabled', $enabled, SQLITE3_INTEGER);
|
||||
$stmt->bindValue(':webhook_url', $webhook_url, SQLITE3_TEXT);
|
||||
$stmt->bindValue(':bot_username', $bot_username, SQLITE3_TEXT);
|
||||
$stmt->bindValue(':bot_avatar_url', $bot_avatar_url, SQLITE3_TEXT);
|
||||
$stmt->bindValue(':userId', $userId, SQLITE3_INTEGER);
|
||||
|
||||
if ($result === false) {
|
||||
if ($stmt->execute()) {
|
||||
$response = [
|
||||
"success" => true,
|
||||
"message" => translate('notifications_settings_saved', $i18n)
|
||||
];
|
||||
echo json_encode($response);
|
||||
} else {
|
||||
$response = [
|
||||
"success" => false,
|
||||
"message" => translate('error_saving_notifications', $i18n)
|
||||
];
|
||||
echo json_encode($response);
|
||||
} else {
|
||||
$row = $result->fetchArray();
|
||||
$count = $row[0];
|
||||
if ($count == 0) {
|
||||
$query = "INSERT INTO discord_notifications (enabled, webhook_url, bot_username, bot_avatar_url, user_id)
|
||||
VALUES (:enabled, :webhook_url, :bot_username, :bot_avatar_url, :userId)";
|
||||
} else {
|
||||
$query = "UPDATE discord_notifications
|
||||
SET enabled = :enabled, webhook_url = :webhook_url, bot_username = :bot_username, bot_avatar_url = :bot_avatar_url
|
||||
WHERE user_id = :userId";
|
||||
}
|
||||
|
||||
$stmt = $db->prepare($query);
|
||||
$stmt->bindValue(':enabled', $enabled, SQLITE3_INTEGER);
|
||||
$stmt->bindValue(':webhook_url', $webhook_url, SQLITE3_TEXT);
|
||||
$stmt->bindValue(':bot_username', $bot_username, SQLITE3_TEXT);
|
||||
$stmt->bindValue(':bot_avatar_url', $bot_avatar_url, SQLITE3_TEXT);
|
||||
$stmt->bindValue(':userId', $userId, SQLITE3_INTEGER);
|
||||
|
||||
if ($stmt->execute()) {
|
||||
$response = [
|
||||
"success" => true,
|
||||
"message" => translate('notifications_settings_saved', $i18n)
|
||||
];
|
||||
echo json_encode($response);
|
||||
} else {
|
||||
$response = [
|
||||
"success" => false,
|
||||
"message" => translate('error_saving_notifications', $i18n)
|
||||
];
|
||||
echo json_encode($response);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
}
|
||||
@@ -1,87 +1,78 @@
|
||||
<?php
|
||||
require_once '../../includes/connect_endpoint.php';
|
||||
require_once '../../includes/validate_endpoint.php';
|
||||
|
||||
if (!isset($_SESSION['loggedin']) || $_SESSION['loggedin'] !== true) {
|
||||
die(json_encode([
|
||||
$postData = file_get_contents("php://input");
|
||||
$data = json_decode($postData, true);
|
||||
|
||||
if (
|
||||
!isset($data["smtpaddress"]) || $data["smtpaddress"] == "" ||
|
||||
!isset($data["smtpport"]) || $data["smtpport"] == ""
|
||||
) {
|
||||
$response = [
|
||||
"success" => false,
|
||||
"message" => translate('session_expired', $i18n)
|
||||
]));
|
||||
}
|
||||
"message" => translate('fill_mandatory_fields', $i18n)
|
||||
];
|
||||
echo json_encode($response);
|
||||
} else {
|
||||
$enabled = $data["enabled"];
|
||||
$smtpAddress = $data["smtpaddress"];
|
||||
$smtpPort = $data["smtpport"];
|
||||
$encryption = "tls";
|
||||
if (isset($data["encryption"])) {
|
||||
$encryption = $data["encryption"];
|
||||
}
|
||||
$smtpUsername = $data["smtpusername"];
|
||||
$smtpPassword = $data["smtppassword"];
|
||||
$fromEmail = $data["fromemail"];
|
||||
$otherEmails = $data["otheremails"];
|
||||
|
||||
if ($_SERVER["REQUEST_METHOD"] === "POST") {
|
||||
$postData = file_get_contents("php://input");
|
||||
$data = json_decode($postData, true);
|
||||
$query = "SELECT COUNT(*) FROM email_notifications WHERE user_id = :userId";
|
||||
$stmt = $db->prepare($query);
|
||||
$stmt->bindParam(":userId", $userId, SQLITE3_INTEGER);
|
||||
$result = $stmt->execute();
|
||||
|
||||
if (
|
||||
!isset($data["smtpaddress"]) || $data["smtpaddress"] == "" ||
|
||||
!isset($data["smtpport"]) || $data["smtpport"] == ""
|
||||
) {
|
||||
if ($result === false) {
|
||||
$response = [
|
||||
"success" => false,
|
||||
"message" => translate('fill_mandatory_fields', $i18n)
|
||||
"message" => translate('error_saving_notifications', $i18n)
|
||||
];
|
||||
echo json_encode($response);
|
||||
} else {
|
||||
$enabled = $data["enabled"];
|
||||
$smtpAddress = $data["smtpaddress"];
|
||||
$smtpPort = $data["smtpport"];
|
||||
$encryption = "tls";
|
||||
if (isset($data["encryption"])) {
|
||||
$encryption = $data["encryption"];
|
||||
$row = $result->fetchArray();
|
||||
$count = $row[0];
|
||||
if ($count == 0) {
|
||||
$query = "INSERT INTO email_notifications (enabled, smtp_address, smtp_port, smtp_username, smtp_password, from_email, other_emails, encryption, user_id)
|
||||
VALUES (:enabled, :smtpAddress, :smtpPort, :smtpUsername, :smtpPassword, :fromEmail, :otherEmails, :encryption, :userId)";
|
||||
} else {
|
||||
$query = "UPDATE email_notifications
|
||||
SET enabled = :enabled, smtp_address = :smtpAddress, smtp_port = :smtpPort,
|
||||
smtp_username = :smtpUsername, smtp_password = :smtpPassword, from_email = :fromEmail, other_emails = :otherEmails, encryption = :encryption WHERE user_id = :userId";
|
||||
}
|
||||
$smtpUsername = $data["smtpusername"];
|
||||
$smtpPassword = $data["smtppassword"];
|
||||
$fromEmail = $data["fromemail"];
|
||||
$otherEmails = $data["otheremails"];
|
||||
|
||||
$query = "SELECT COUNT(*) FROM email_notifications WHERE user_id = :userId";
|
||||
$stmt = $db->prepare($query);
|
||||
$stmt->bindParam(":userId", $userId, SQLITE3_INTEGER);
|
||||
$result = $stmt->execute();
|
||||
$stmt->bindValue(':enabled', $enabled, SQLITE3_INTEGER);
|
||||
$stmt->bindValue(':smtpAddress', $smtpAddress, SQLITE3_TEXT);
|
||||
$stmt->bindValue(':smtpPort', $smtpPort, SQLITE3_INTEGER);
|
||||
$stmt->bindValue(':smtpUsername', $smtpUsername, SQLITE3_TEXT);
|
||||
$stmt->bindValue(':smtpPassword', $smtpPassword, SQLITE3_TEXT);
|
||||
$stmt->bindValue(':fromEmail', $fromEmail, SQLITE3_TEXT);
|
||||
$stmt->bindValue(':otherEmails', $otherEmails, SQLITE3_TEXT);
|
||||
$stmt->bindValue(':encryption', $encryption, SQLITE3_TEXT);
|
||||
$stmt->bindValue(':userId', $userId, SQLITE3_INTEGER);
|
||||
|
||||
if ($result === false) {
|
||||
if ($stmt->execute()) {
|
||||
$response = [
|
||||
"success" => true,
|
||||
"message" => translate('notifications_settings_saved', $i18n)
|
||||
];
|
||||
echo json_encode($response);
|
||||
} else {
|
||||
$response = [
|
||||
"success" => false,
|
||||
"message" => translate('error_saving_notifications', $i18n)
|
||||
];
|
||||
echo json_encode($response);
|
||||
} else {
|
||||
$row = $result->fetchArray();
|
||||
$count = $row[0];
|
||||
if ($count == 0) {
|
||||
$query = "INSERT INTO email_notifications (enabled, smtp_address, smtp_port, smtp_username, smtp_password, from_email, other_emails, encryption, user_id)
|
||||
VALUES (:enabled, :smtpAddress, :smtpPort, :smtpUsername, :smtpPassword, :fromEmail, :otherEmails, :encryption, :userId)";
|
||||
} else {
|
||||
$query = "UPDATE email_notifications
|
||||
SET enabled = :enabled, smtp_address = :smtpAddress, smtp_port = :smtpPort,
|
||||
smtp_username = :smtpUsername, smtp_password = :smtpPassword, from_email = :fromEmail, other_emails = :otherEmails, encryption = :encryption WHERE user_id = :userId";
|
||||
}
|
||||
|
||||
$stmt = $db->prepare($query);
|
||||
$stmt->bindValue(':enabled', $enabled, SQLITE3_INTEGER);
|
||||
$stmt->bindValue(':smtpAddress', $smtpAddress, SQLITE3_TEXT);
|
||||
$stmt->bindValue(':smtpPort', $smtpPort, SQLITE3_INTEGER);
|
||||
$stmt->bindValue(':smtpUsername', $smtpUsername, SQLITE3_TEXT);
|
||||
$stmt->bindValue(':smtpPassword', $smtpPassword, SQLITE3_TEXT);
|
||||
$stmt->bindValue(':fromEmail', $fromEmail, SQLITE3_TEXT);
|
||||
$stmt->bindValue(':otherEmails', $otherEmails, SQLITE3_TEXT);
|
||||
$stmt->bindValue(':encryption', $encryption, SQLITE3_TEXT);
|
||||
$stmt->bindValue(':userId', $userId, SQLITE3_INTEGER);
|
||||
|
||||
if ($stmt->execute()) {
|
||||
$response = [
|
||||
"success" => true,
|
||||
"message" => translate('notifications_settings_saved', $i18n)
|
||||
];
|
||||
echo json_encode($response);
|
||||
} else {
|
||||
$response = [
|
||||
"success" => false,
|
||||
"message" => translate('error_saving_notifications', $i18n)
|
||||
];
|
||||
echo json_encode($response);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
}
|
||||
@@ -1,88 +1,80 @@
|
||||
<?php
|
||||
require_once '../../includes/connect_endpoint.php';
|
||||
require_once '../../includes/validate_endpoint.php';
|
||||
|
||||
if (!isset($_SESSION['loggedin']) || $_SESSION['loggedin'] !== true) {
|
||||
die(json_encode([
|
||||
|
||||
$postData = file_get_contents("php://input");
|
||||
$data = json_decode($postData, true);
|
||||
|
||||
if (
|
||||
!isset($data["gotify_url"]) || $data["gotify_url"] == "" ||
|
||||
!isset($data["token"]) || $data["token"] == ""
|
||||
) {
|
||||
$response = [
|
||||
"success" => false,
|
||||
"message" => translate('session_expired', $i18n)
|
||||
]));
|
||||
}
|
||||
|
||||
if ($_SERVER["REQUEST_METHOD"] === "POST") {
|
||||
$postData = file_get_contents("php://input");
|
||||
$data = json_decode($postData, true);
|
||||
"message" => translate('fill_mandatory_fields', $i18n)
|
||||
];
|
||||
echo json_encode($response);
|
||||
} else {
|
||||
$enabled = $data["enabled"];
|
||||
$url = $data["gotify_url"];
|
||||
$token = $data["token"];
|
||||
$ignore_ssl = $data["ignore_ssl"];
|
||||
|
||||
// Validate URL scheme
|
||||
$parsedUrl = parse_url($url);
|
||||
if (
|
||||
!isset($data["gotify_url"]) || $data["gotify_url"] == "" ||
|
||||
!isset($data["token"]) || $data["token"] == ""
|
||||
!isset($parsedUrl['scheme']) ||
|
||||
!in_array(strtolower($parsedUrl['scheme']), ['http', 'https']) ||
|
||||
!filter_var($url, FILTER_VALIDATE_URL)
|
||||
) {
|
||||
die(json_encode([
|
||||
"success" => false,
|
||||
"message" => translate("error", $i18n)
|
||||
]));
|
||||
}
|
||||
|
||||
$query = "SELECT COUNT(*) FROM gotify_notifications WHERE user_id = :userId";
|
||||
$stmt = $db->prepare($query);
|
||||
$stmt->bindParam(":userId", $userId, SQLITE3_INTEGER);
|
||||
$result = $stmt->execute();
|
||||
|
||||
if ($result === false) {
|
||||
$response = [
|
||||
"success" => false,
|
||||
"message" => translate('fill_mandatory_fields', $i18n)
|
||||
"message" => translate('error_saving_notifications', $i18n)
|
||||
];
|
||||
echo json_encode($response);
|
||||
} else {
|
||||
$enabled = $data["enabled"];
|
||||
$url = $data["gotify_url"];
|
||||
$token = $data["token"];
|
||||
$ignore_ssl = $data["ignore_ssl"];
|
||||
|
||||
// Validate URL scheme
|
||||
$parsedUrl = parse_url($url);
|
||||
if (
|
||||
!isset($parsedUrl['scheme']) ||
|
||||
!in_array(strtolower($parsedUrl['scheme']), ['http', 'https']) ||
|
||||
!filter_var($url, FILTER_VALIDATE_URL)
|
||||
) {
|
||||
die(json_encode([
|
||||
"success" => false,
|
||||
"message" => translate("error", $i18n)
|
||||
]));
|
||||
$row = $result->fetchArray();
|
||||
$count = $row[0];
|
||||
if ($count == 0) {
|
||||
$query = "INSERT INTO gotify_notifications (enabled, url, token, user_id, ignore_ssl)
|
||||
VALUES (:enabled, :url, :token, :userId, :ignore_ssl)";
|
||||
} else {
|
||||
$query = "UPDATE gotify_notifications
|
||||
SET enabled = :enabled, url = :url, token = :token, ignore_ssl = :ignore_ssl WHERE user_id = :userId";
|
||||
}
|
||||
|
||||
$query = "SELECT COUNT(*) FROM gotify_notifications WHERE user_id = :userId";
|
||||
$stmt = $db->prepare($query);
|
||||
$stmt->bindParam(":userId", $userId, SQLITE3_INTEGER);
|
||||
$result = $stmt->execute();
|
||||
$stmt->bindValue(':enabled', $enabled, SQLITE3_INTEGER);
|
||||
$stmt->bindValue(':url', $url, SQLITE3_TEXT);
|
||||
$stmt->bindValue(':token', $token, SQLITE3_TEXT);
|
||||
$stmt->bindValue(':ignore_ssl', $ignore_ssl, SQLITE3_INTEGER);
|
||||
$stmt->bindValue(':userId', $userId, SQLITE3_INTEGER);
|
||||
|
||||
if ($result === false) {
|
||||
if ($stmt->execute()) {
|
||||
$response = [
|
||||
"success" => true,
|
||||
"message" => translate('notifications_settings_saved', $i18n)
|
||||
];
|
||||
echo json_encode($response);
|
||||
} else {
|
||||
$response = [
|
||||
"success" => false,
|
||||
"message" => translate('error_saving_notifications', $i18n)
|
||||
];
|
||||
echo json_encode($response);
|
||||
} else {
|
||||
$row = $result->fetchArray();
|
||||
$count = $row[0];
|
||||
if ($count == 0) {
|
||||
$query = "INSERT INTO gotify_notifications (enabled, url, token, user_id, ignore_ssl)
|
||||
VALUES (:enabled, :url, :token, :userId, :ignore_ssl)";
|
||||
} else {
|
||||
$query = "UPDATE gotify_notifications
|
||||
SET enabled = :enabled, url = :url, token = :token, ignore_ssl = :ignore_ssl WHERE user_id = :userId";
|
||||
}
|
||||
|
||||
$stmt = $db->prepare($query);
|
||||
$stmt->bindValue(':enabled', $enabled, SQLITE3_INTEGER);
|
||||
$stmt->bindValue(':url', $url, SQLITE3_TEXT);
|
||||
$stmt->bindValue(':token', $token, SQLITE3_TEXT);
|
||||
$stmt->bindValue(':ignore_ssl', $ignore_ssl, SQLITE3_INTEGER);
|
||||
$stmt->bindValue(':userId', $userId, SQLITE3_INTEGER);
|
||||
|
||||
if ($stmt->execute()) {
|
||||
$response = [
|
||||
"success" => true,
|
||||
"message" => translate('notifications_settings_saved', $i18n)
|
||||
];
|
||||
echo json_encode($response);
|
||||
} else {
|
||||
$response = [
|
||||
"success" => false,
|
||||
"message" => translate('error_saving_notifications', $i18n)
|
||||
];
|
||||
echo json_encode($response);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
}
|
||||
@@ -1,72 +1,63 @@
|
||||
<?php
|
||||
require_once '../../includes/connect_endpoint.php';
|
||||
require_once '../../includes/validate_endpoint.php';
|
||||
|
||||
if (!isset($_SESSION['loggedin']) || $_SESSION['loggedin'] !== true) {
|
||||
die(json_encode([
|
||||
$postData = file_get_contents("php://input");
|
||||
$data = json_decode($postData, true);
|
||||
|
||||
if (!isset($data["webhook_url"]) || $data["webhook_url"] == "") {
|
||||
$response = [
|
||||
"success" => false,
|
||||
"message" => translate('session_expired', $i18n)
|
||||
]));
|
||||
}
|
||||
"message" => translate('fill_mandatory_fields', $i18n)
|
||||
];
|
||||
echo json_encode($response);
|
||||
} else {
|
||||
$enabled = $data["enabled"];
|
||||
$webhook_url = $data["webhook_url"];
|
||||
$bot_username = $data["bot_username"];
|
||||
$bot_iconemoji = $data["bot_icon_emoji"];
|
||||
|
||||
if ($_SERVER["REQUEST_METHOD"] === "POST") {
|
||||
$postData = file_get_contents("php://input");
|
||||
$data = json_decode($postData, true);
|
||||
$query = "SELECT COUNT(*) FROM mattermost_notifications WHERE user_id = :userId";
|
||||
$stmt = $db->prepare($query);
|
||||
$stmt->bindParam(":userId", $userId, SQLITE3_INTEGER);
|
||||
$result = $stmt->execute();
|
||||
|
||||
if (!isset($data["webhook_url"]) || $data["webhook_url"] == "") {
|
||||
if ($result === false) {
|
||||
$response = [
|
||||
"success" => false,
|
||||
"message" => translate('fill_mandatory_fields', $i18n)
|
||||
"message" => translate('error_saving_notifications', $i18n)
|
||||
];
|
||||
echo json_encode($response);
|
||||
} else {
|
||||
$enabled = $data["enabled"];
|
||||
$webhook_url = $data["webhook_url"];
|
||||
$bot_username = $data["bot_username"];
|
||||
$bot_iconemoji = $data["bot_icon_emoji"];
|
||||
$row = $result->fetchArray();
|
||||
$count = $row[0];
|
||||
if ($count == 0) {
|
||||
$query = "INSERT INTO mattermost_notifications (enabled, webhook_url, user_id, bot_username, bot_icon_emoji)
|
||||
VALUES (:enabled, :webhook_url, :userId, :bot_username, :bot_icon_emoji)";
|
||||
} else {
|
||||
$query = "UPDATE mattermost_notifications
|
||||
SET enabled = :enabled, webhook_url = :webhook_url WHERE user_id = :userId";
|
||||
}
|
||||
|
||||
$query = "SELECT COUNT(*) FROM mattermost_notifications WHERE user_id = :userId";
|
||||
$stmt = $db->prepare($query);
|
||||
$stmt->bindParam(":userId", $userId, SQLITE3_INTEGER);
|
||||
$result = $stmt->execute();
|
||||
$stmt->bindValue(':enabled', $enabled, SQLITE3_INTEGER);
|
||||
$stmt->bindValue(':webhook_url', $webhook_url, SQLITE3_TEXT);
|
||||
$stmt->bindValue(':userId', $userId, SQLITE3_INTEGER);
|
||||
$stmt->bindValue(':bot_username', $bot_username, SQLITE3_TEXT);
|
||||
$stmt->bindValue(':bot_icon_emoji', $bot_iconemoji, SQLITE3_TEXT);
|
||||
|
||||
if ($result === false) {
|
||||
if ($stmt->execute()) {
|
||||
$response = [
|
||||
"success" => true,
|
||||
"message" => translate('notifications_settings_saved', $i18n)
|
||||
];
|
||||
echo json_encode($response);
|
||||
} else {
|
||||
$response = [
|
||||
"success" => false,
|
||||
"message" => translate('error_saving_notifications', $i18n)
|
||||
];
|
||||
echo json_encode($response);
|
||||
} else {
|
||||
$row = $result->fetchArray();
|
||||
$count = $row[0];
|
||||
if ($count == 0) {
|
||||
$query = "INSERT INTO mattermost_notifications (enabled, webhook_url, user_id, bot_username, bot_icon_emoji)
|
||||
VALUES (:enabled, :webhook_url, :userId, :bot_username, :bot_icon_emoji)";
|
||||
} else {
|
||||
$query = "UPDATE mattermost_notifications
|
||||
SET enabled = :enabled, webhook_url = :webhook_url WHERE user_id = :userId";
|
||||
}
|
||||
|
||||
$stmt = $db->prepare($query);
|
||||
$stmt->bindValue(':enabled', $enabled, SQLITE3_INTEGER);
|
||||
$stmt->bindValue(':webhook_url', $webhook_url, SQLITE3_TEXT);
|
||||
$stmt->bindValue(':userId', $userId, SQLITE3_INTEGER);
|
||||
$stmt->bindValue(':bot_username', $bot_username, SQLITE3_TEXT);
|
||||
$stmt->bindValue(':bot_icon_emoji', $bot_iconemoji, SQLITE3_TEXT);
|
||||
|
||||
if ($stmt->execute()) {
|
||||
$response = [
|
||||
"success" => true,
|
||||
"message" => translate('notifications_settings_saved', $i18n)
|
||||
];
|
||||
echo json_encode($response);
|
||||
} else {
|
||||
$response = [
|
||||
"success" => false,
|
||||
"message" => translate('error_saving_notifications', $i18n)
|
||||
];
|
||||
echo json_encode($response);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
}
|
||||
@@ -1,71 +1,56 @@
|
||||
<?php
|
||||
|
||||
require_once '../../includes/connect_endpoint.php';
|
||||
require_once '../../includes/validate_endpoint.php';
|
||||
|
||||
if (!isset($_SESSION['loggedin']) || $_SESSION['loggedin'] !== true) {
|
||||
die(json_encode([
|
||||
$postData = file_get_contents("php://input");
|
||||
$data = json_decode($postData, true);
|
||||
|
||||
if (!isset($data["days"]) || $data['days'] == "") {
|
||||
$response = [
|
||||
"success" => false,
|
||||
"message" => translate('session_expired', $i18n)
|
||||
]));
|
||||
}
|
||||
"message" => translate('fill_mandatory_fields', $i18n)
|
||||
];
|
||||
echo json_encode($response);
|
||||
} else {
|
||||
$days = $data["days"];
|
||||
$query = "SELECT COUNT(*) FROM notification_settings WHERE user_id = :userId";
|
||||
$stmt = $db->prepare($query);
|
||||
$stmt->bindParam(":userId", $userId, SQLITE3_INTEGER);
|
||||
$result = $stmt->execute();
|
||||
|
||||
if ($_SERVER["REQUEST_METHOD"] === "POST") {
|
||||
$postData = file_get_contents("php://input");
|
||||
$data = json_decode($postData, true);
|
||||
|
||||
if (!isset($data["days"]) || $data['days'] == "") {
|
||||
if ($result === false) {
|
||||
$response = [
|
||||
"success" => false,
|
||||
"message" => translate('fill_mandatory_fields', $i18n)
|
||||
"message" => translate('error_saving_notifications', $i18n)
|
||||
];
|
||||
echo json_encode($response);
|
||||
} else {
|
||||
$days = $data["days"];
|
||||
$query = "SELECT COUNT(*) FROM notification_settings WHERE user_id = :userId";
|
||||
$stmt = $db->prepare($query);
|
||||
$stmt->bindParam(":userId", $userId, SQLITE3_INTEGER);
|
||||
$result = $stmt->execute();
|
||||
$row = $result->fetchArray();
|
||||
$count = $row[0];
|
||||
if ($count == 0) {
|
||||
$query = "INSERT INTO notification_settings (days, user_id)
|
||||
VALUES (:days, :userId)";
|
||||
} else {
|
||||
$query = "UPDATE notification_settings SET days = :days WHERE user_id = :userId";
|
||||
}
|
||||
|
||||
if ($result === false) {
|
||||
$stmt = $db->prepare($query);
|
||||
$stmt->bindValue(':days', $days, SQLITE3_INTEGER);
|
||||
$stmt->bindValue(':userId', $userId, SQLITE3_INTEGER);
|
||||
|
||||
if ($stmt->execute()) {
|
||||
$response = [
|
||||
"success" => true,
|
||||
"message" => translate('notifications_settings_saved', $i18n)
|
||||
];
|
||||
echo json_encode($response);
|
||||
} else {
|
||||
$response = [
|
||||
"success" => false,
|
||||
"message" => translate('error_saving_notifications', $i18n)
|
||||
];
|
||||
echo json_encode($response);
|
||||
} else {
|
||||
$row = $result->fetchArray();
|
||||
$count = $row[0];
|
||||
if ($count == 0) {
|
||||
$query = "INSERT INTO notification_settings (days, user_id)
|
||||
VALUES (:days, :userId)";
|
||||
} else {
|
||||
$query = "UPDATE notification_settings SET days = :days WHERE user_id = :userId";
|
||||
}
|
||||
|
||||
$stmt = $db->prepare($query);
|
||||
$stmt->bindValue(':days', $days, SQLITE3_INTEGER);
|
||||
$stmt->bindValue(':userId', $userId, SQLITE3_INTEGER);
|
||||
|
||||
if ($stmt->execute()) {
|
||||
$response = [
|
||||
"success" => true,
|
||||
"message" => translate('notifications_settings_saved', $i18n)
|
||||
];
|
||||
echo json_encode($response);
|
||||
} else {
|
||||
$response = [
|
||||
"success" => false,
|
||||
"message" => translate('error_saving_notifications', $i18n)
|
||||
];
|
||||
echo json_encode($response);
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
$response = [
|
||||
"success" => false,
|
||||
"message" => "Invalid request method"
|
||||
];
|
||||
echo json_encode($response);
|
||||
exit();
|
||||
}
|
||||
@@ -1,100 +1,83 @@
|
||||
<?php
|
||||
|
||||
require_once '../../includes/connect_endpoint.php';
|
||||
require_once '../../includes/validate_endpoint.php';
|
||||
|
||||
if (!isset($_SESSION['loggedin']) || $_SESSION['loggedin'] !== true) {
|
||||
die(json_encode([
|
||||
$postData = file_get_contents("php://input");
|
||||
$data = json_decode($postData, true);
|
||||
|
||||
if (
|
||||
!isset($data["topic"]) || $data["topic"] == "" ||
|
||||
!isset($data["host"]) || $data["host"] == ""
|
||||
) {
|
||||
$response = [
|
||||
"success" => false,
|
||||
"message" => translate('session_expired', $i18n)
|
||||
]));
|
||||
}
|
||||
|
||||
if ($_SERVER["REQUEST_METHOD"] === "POST") {
|
||||
$postData = file_get_contents("php://input");
|
||||
$data = json_decode($postData, true);
|
||||
"message" => translate('fill_mandatory_fields', $i18n)
|
||||
];
|
||||
echo json_encode($response);
|
||||
} else {
|
||||
$enabled = $data["enabled"];
|
||||
$host = $data["host"];
|
||||
$topic = $data["topic"];
|
||||
$headers = $data["headers"];
|
||||
$ignore_ssl = $data["ignore_ssl"];
|
||||
|
||||
$url = rtrim($host, '/') . '/' . ltrim($topic, '/');
|
||||
// Validate URL scheme
|
||||
$parsedUrl = parse_url($url);
|
||||
if (
|
||||
!isset($data["topic"]) || $data["topic"] == "" ||
|
||||
!isset($data["host"]) || $data["host"] == ""
|
||||
!isset($parsedUrl['scheme']) ||
|
||||
!in_array(strtolower($parsedUrl['scheme']), ['http', 'https']) ||
|
||||
!filter_var($url, FILTER_VALIDATE_URL)
|
||||
) {
|
||||
die(json_encode([
|
||||
"success" => false,
|
||||
"message" => translate("error", $i18n)
|
||||
]));
|
||||
}
|
||||
|
||||
$query = "SELECT COUNT(*) FROM ntfy_notifications WHERE user_id = :userId";
|
||||
$stmt = $db->prepare($query);
|
||||
$stmt->bindParam(":userId", $userId, SQLITE3_INTEGER);
|
||||
$result = $stmt->execute();
|
||||
|
||||
if ($result === false) {
|
||||
$response = [
|
||||
"success" => false,
|
||||
"message" => translate('fill_mandatory_fields', $i18n)
|
||||
"message" => translate('error_saving_notifications', $i18n)
|
||||
];
|
||||
echo json_encode($response);
|
||||
} else {
|
||||
$enabled = $data["enabled"];
|
||||
$host = $data["host"];
|
||||
$topic = $data["topic"];
|
||||
$headers = $data["headers"];
|
||||
$ignore_ssl = $data["ignore_ssl"];
|
||||
|
||||
$url = rtrim($host, '/') . '/' . ltrim($topic, '/');
|
||||
// Validate URL scheme
|
||||
$parsedUrl = parse_url($url);
|
||||
if (
|
||||
!isset($parsedUrl['scheme']) ||
|
||||
!in_array(strtolower($parsedUrl['scheme']), ['http', 'https']) ||
|
||||
!filter_var($url, FILTER_VALIDATE_URL)
|
||||
) {
|
||||
die(json_encode([
|
||||
"success" => false,
|
||||
"message" => translate("error", $i18n)
|
||||
]));
|
||||
$row = $result->fetchArray();
|
||||
$count = $row[0];
|
||||
if ($count == 0) {
|
||||
$query = "INSERT INTO ntfy_notifications (enabled, host, topic, headers, user_id, ignore_ssl)
|
||||
VALUES (:enabled, :host, :topic, :headers, :userId, :ignore_ssl)";
|
||||
} else {
|
||||
$query = "UPDATE ntfy_notifications
|
||||
SET enabled = :enabled, host = :host, topic = :topic, headers = :headers, ignore_ssl = :ignore_ssl WHERE user_id = :userId";
|
||||
}
|
||||
|
||||
$query = "SELECT COUNT(*) FROM ntfy_notifications WHERE user_id = :userId";
|
||||
$stmt = $db->prepare($query);
|
||||
$stmt->bindParam(":userId", $userId, SQLITE3_INTEGER);
|
||||
$result = $stmt->execute();
|
||||
$stmt->bindValue(':enabled', $enabled, SQLITE3_INTEGER);
|
||||
$stmt->bindValue(':host', $host, SQLITE3_TEXT);
|
||||
$stmt->bindValue(':topic', $topic, SQLITE3_TEXT);
|
||||
$stmt->bindValue(':headers', $headers, SQLITE3_TEXT);
|
||||
$stmt->bindValue(':ignore_ssl', $ignore_ssl, SQLITE3_INTEGER);
|
||||
$stmt->bindValue(':userId', $userId, SQLITE3_INTEGER);
|
||||
|
||||
if ($result === false) {
|
||||
if ($stmt->execute()) {
|
||||
$response = [
|
||||
"success" => true,
|
||||
"message" => translate('notifications_settings_saved', $i18n)
|
||||
];
|
||||
echo json_encode($response);
|
||||
} else {
|
||||
$response = [
|
||||
"success" => false,
|
||||
"message" => translate('error_saving_notifications', $i18n)
|
||||
];
|
||||
echo json_encode($response);
|
||||
} else {
|
||||
$row = $result->fetchArray();
|
||||
$count = $row[0];
|
||||
if ($count == 0) {
|
||||
$query = "INSERT INTO ntfy_notifications (enabled, host, topic, headers, user_id, ignore_ssl)
|
||||
VALUES (:enabled, :host, :topic, :headers, :userId, :ignore_ssl)";
|
||||
} else {
|
||||
$query = "UPDATE ntfy_notifications
|
||||
SET enabled = :enabled, host = :host, topic = :topic, headers = :headers, ignore_ssl = :ignore_ssl WHERE user_id = :userId";
|
||||
}
|
||||
|
||||
$stmt = $db->prepare($query);
|
||||
$stmt->bindValue(':enabled', $enabled, SQLITE3_INTEGER);
|
||||
$stmt->bindValue(':host', $host, SQLITE3_TEXT);
|
||||
$stmt->bindValue(':topic', $topic, SQLITE3_TEXT);
|
||||
$stmt->bindValue(':headers', $headers, SQLITE3_TEXT);
|
||||
$stmt->bindValue(':ignore_ssl', $ignore_ssl, SQLITE3_INTEGER);
|
||||
$stmt->bindValue(':userId', $userId, SQLITE3_INTEGER);
|
||||
|
||||
if ($stmt->execute()) {
|
||||
$response = [
|
||||
"success" => true,
|
||||
"message" => translate('notifications_settings_saved', $i18n)
|
||||
];
|
||||
echo json_encode($response);
|
||||
} else {
|
||||
$response = [
|
||||
"success" => false,
|
||||
"message" => translate('error_saving_notifications', $i18n)
|
||||
];
|
||||
echo json_encode($response);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
} else {
|
||||
$response = [
|
||||
"success" => false,
|
||||
"message" => translate('invalid_request_method', $i18n)
|
||||
];
|
||||
echo json_encode($response);
|
||||
}
|
||||
|
||||
?>
|
||||
}
|
||||
@@ -1,81 +1,66 @@
|
||||
<?php
|
||||
|
||||
require_once '../../includes/connect_endpoint.php';
|
||||
require_once '../../includes/validate_endpoint.php';
|
||||
|
||||
if (!isset($_SESSION['loggedin']) || $_SESSION['loggedin'] !== true) {
|
||||
die(json_encode([
|
||||
|
||||
$postData = file_get_contents("php://input");
|
||||
$data = json_decode($postData, true);
|
||||
|
||||
if (
|
||||
!isset($data["user_key"]) || $data["user_key"] == "" ||
|
||||
!isset($data["token"]) || $data["token"] == ""
|
||||
) {
|
||||
$response = [
|
||||
"success" => false,
|
||||
"message" => translate('session_expired', $i18n)
|
||||
]));
|
||||
}
|
||||
"message" => translate('fill_mandatory_fields', $i18n)
|
||||
];
|
||||
echo json_encode($response);
|
||||
} else {
|
||||
$enabled = $data["enabled"];
|
||||
$user_key = $data["user_key"];
|
||||
$token = $data["token"];
|
||||
|
||||
if ($_SERVER["REQUEST_METHOD"] === "POST") {
|
||||
$postData = file_get_contents("php://input");
|
||||
$data = json_decode($postData, true);
|
||||
$query = "SELECT COUNT(*) FROM pushover_notifications WHERE user_id = :userId";
|
||||
$stmt = $db->prepare($query);
|
||||
$stmt->bindParam(":userId", $userId, SQLITE3_INTEGER);
|
||||
$result = $stmt->execute();
|
||||
|
||||
if (
|
||||
!isset($data["user_key"]) || $data["user_key"] == "" ||
|
||||
!isset($data["token"]) || $data["token"] == ""
|
||||
) {
|
||||
if ($result === false) {
|
||||
$response = [
|
||||
"success" => false,
|
||||
"message" => translate('fill_mandatory_fields', $i18n)
|
||||
"message" => translate('error_saving_notifications', $i18n)
|
||||
];
|
||||
echo json_encode($response);
|
||||
} else {
|
||||
$enabled = $data["enabled"];
|
||||
$user_key = $data["user_key"];
|
||||
$token = $data["token"];
|
||||
$row = $result->fetchArray();
|
||||
$count = $row[0];
|
||||
if ($count == 0) {
|
||||
$query = "INSERT INTO pushover_notifications (enabled, user_key, token, user_id)
|
||||
VALUES (:enabled, :user_key, :token, :userId)";
|
||||
} else {
|
||||
$query = "UPDATE pushover_notifications
|
||||
SET enabled = :enabled, user_key = :user_key, token = :token, user_id = :userId";
|
||||
}
|
||||
|
||||
$query = "SELECT COUNT(*) FROM pushover_notifications WHERE user_id = :userId";
|
||||
$stmt = $db->prepare($query);
|
||||
$stmt->bindParam(":userId", $userId, SQLITE3_INTEGER);
|
||||
$result = $stmt->execute();
|
||||
$stmt->bindValue(':enabled', $enabled, SQLITE3_INTEGER);
|
||||
$stmt->bindValue(':user_key', $user_key, SQLITE3_TEXT);
|
||||
$stmt->bindValue(':token', $token, SQLITE3_TEXT);
|
||||
$stmt->bindValue(':userId', $userId, SQLITE3_INTEGER);
|
||||
|
||||
if ($result === false) {
|
||||
if ($stmt->execute()) {
|
||||
$response = [
|
||||
"success" => true,
|
||||
"message" => translate('notifications_settings_saved', $i18n)
|
||||
];
|
||||
echo json_encode($response);
|
||||
} else {
|
||||
$response = [
|
||||
"success" => false,
|
||||
"message" => translate('error_saving_notifications', $i18n)
|
||||
];
|
||||
echo json_encode($response);
|
||||
} else {
|
||||
$row = $result->fetchArray();
|
||||
$count = $row[0];
|
||||
if ($count == 0) {
|
||||
$query = "INSERT INTO pushover_notifications (enabled, user_key, token, user_id)
|
||||
VALUES (:enabled, :user_key, :token, :userId)";
|
||||
} else {
|
||||
$query = "UPDATE pushover_notifications
|
||||
SET enabled = :enabled, user_key = :user_key, token = :token, user_id = :userId";
|
||||
}
|
||||
|
||||
$stmt = $db->prepare($query);
|
||||
$stmt->bindValue(':enabled', $enabled, SQLITE3_INTEGER);
|
||||
$stmt->bindValue(':user_key', $user_key, SQLITE3_TEXT);
|
||||
$stmt->bindValue(':token', $token, SQLITE3_TEXT);
|
||||
$stmt->bindValue(':userId', $userId, SQLITE3_INTEGER);
|
||||
|
||||
if ($stmt->execute()) {
|
||||
$response = [
|
||||
"success" => true,
|
||||
"message" => translate('notifications_settings_saved', $i18n)
|
||||
];
|
||||
echo json_encode($response);
|
||||
} else {
|
||||
$response = [
|
||||
"success" => false,
|
||||
"message" => translate('error_saving_notifications', $i18n)
|
||||
];
|
||||
echo json_encode($response);
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
$response = [
|
||||
"success" => false,
|
||||
"message" => translate('invalid_request_method', $i18n)
|
||||
];
|
||||
echo json_encode($response);
|
||||
}
|
||||
|
||||
?>
|
||||
}
|
||||
@@ -1,14 +1,8 @@
|
||||
<?php
|
||||
require_once '../../includes/connect_endpoint.php';
|
||||
require_once '../../includes/validate_endpoint.php';
|
||||
|
||||
if (!isset($_SESSION['loggedin']) || $_SESSION['loggedin'] !== true) {
|
||||
die(json_encode([
|
||||
"success" => false,
|
||||
"message" => translate('session_expired', $i18n)
|
||||
]));
|
||||
}
|
||||
|
||||
if ($_SERVER["REQUEST_METHOD"] === "POST") {
|
||||
$postData = file_get_contents("php://input");
|
||||
$data = json_decode($postData, true);
|
||||
|
||||
@@ -63,6 +57,4 @@ if ($_SERVER["REQUEST_METHOD"] === "POST") {
|
||||
echo json_encode($response);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
}
|
||||
@@ -1,73 +1,65 @@
|
||||
<?php
|
||||
require_once '../../includes/connect_endpoint.php';
|
||||
require_once '../../includes/validate_endpoint.php';
|
||||
|
||||
if (!isset($_SESSION['loggedin']) || $_SESSION['loggedin'] !== true) {
|
||||
die(json_encode([
|
||||
|
||||
$postData = file_get_contents("php://input");
|
||||
$data = json_decode($postData, true);
|
||||
|
||||
if (
|
||||
!isset($data["bot_token"]) || $data["bot_token"] == "" ||
|
||||
!isset($data["chat_id"]) || $data["chat_id"] == ""
|
||||
) {
|
||||
$response = [
|
||||
"success" => false,
|
||||
"message" => translate('session_expired', $i18n)
|
||||
]));
|
||||
}
|
||||
"message" => translate('fill_mandatory_fields', $i18n)
|
||||
];
|
||||
echo json_encode($response);
|
||||
} else {
|
||||
$enabled = $data["enabled"];
|
||||
$bot_token = $data["bot_token"];
|
||||
$chat_id = $data["chat_id"];
|
||||
|
||||
if ($_SERVER["REQUEST_METHOD"] === "POST") {
|
||||
$postData = file_get_contents("php://input");
|
||||
$data = json_decode($postData, true);
|
||||
$query = "SELECT COUNT(*) FROM telegram_notifications WHERE user_id = :userId";
|
||||
$stmt = $db->prepare($query);
|
||||
$stmt->bindParam(":userId", $userId, SQLITE3_INTEGER);
|
||||
$result = $stmt->execute();
|
||||
|
||||
if (
|
||||
!isset($data["bot_token"]) || $data["bot_token"] == "" ||
|
||||
!isset($data["chat_id"]) || $data["chat_id"] == ""
|
||||
) {
|
||||
if ($result === false) {
|
||||
$response = [
|
||||
"success" => false,
|
||||
"message" => translate('fill_mandatory_fields', $i18n)
|
||||
"message" => translate('error_saving_notifications', $i18n)
|
||||
];
|
||||
echo json_encode($response);
|
||||
} else {
|
||||
$enabled = $data["enabled"];
|
||||
$bot_token = $data["bot_token"];
|
||||
$chat_id = $data["chat_id"];
|
||||
$row = $result->fetchArray();
|
||||
$count = $row[0];
|
||||
if ($count == 0) {
|
||||
$query = "INSERT INTO telegram_notifications (enabled, bot_token, chat_id, user_id)
|
||||
VALUES (:enabled, :bot_token, :chat_id, :userId)";
|
||||
} else {
|
||||
$query = "UPDATE telegram_notifications
|
||||
SET enabled = :enabled, bot_token = :bot_token, chat_id = :chat_id WHERE user_id = :userId";
|
||||
}
|
||||
|
||||
$query = "SELECT COUNT(*) FROM telegram_notifications WHERE user_id = :userId";
|
||||
$stmt = $db->prepare($query);
|
||||
$stmt->bindParam(":userId", $userId, SQLITE3_INTEGER);
|
||||
$result = $stmt->execute();
|
||||
$stmt->bindValue(':enabled', $enabled, SQLITE3_INTEGER);
|
||||
$stmt->bindValue(':bot_token', $bot_token, SQLITE3_TEXT);
|
||||
$stmt->bindValue(':chat_id', $chat_id, SQLITE3_TEXT);
|
||||
$stmt->bindValue(':userId', $userId, SQLITE3_INTEGER);
|
||||
|
||||
if ($result === false) {
|
||||
if ($stmt->execute()) {
|
||||
$response = [
|
||||
"success" => true,
|
||||
"message" => translate('notifications_settings_saved', $i18n)
|
||||
];
|
||||
echo json_encode($response);
|
||||
} else {
|
||||
$response = [
|
||||
"success" => false,
|
||||
"message" => translate('error_saving_notifications', $i18n)
|
||||
];
|
||||
echo json_encode($response);
|
||||
} else {
|
||||
$row = $result->fetchArray();
|
||||
$count = $row[0];
|
||||
if ($count == 0) {
|
||||
$query = "INSERT INTO telegram_notifications (enabled, bot_token, chat_id, user_id)
|
||||
VALUES (:enabled, :bot_token, :chat_id, :userId)";
|
||||
} else {
|
||||
$query = "UPDATE telegram_notifications
|
||||
SET enabled = :enabled, bot_token = :bot_token, chat_id = :chat_id WHERE user_id = :userId";
|
||||
}
|
||||
|
||||
$stmt = $db->prepare($query);
|
||||
$stmt->bindValue(':enabled', $enabled, SQLITE3_INTEGER);
|
||||
$stmt->bindValue(':bot_token', $bot_token, SQLITE3_TEXT);
|
||||
$stmt->bindValue(':chat_id', $chat_id, SQLITE3_TEXT);
|
||||
$stmt->bindValue(':userId', $userId, SQLITE3_INTEGER);
|
||||
|
||||
if ($stmt->execute()) {
|
||||
$response = [
|
||||
"success" => true,
|
||||
"message" => translate('notifications_settings_saved', $i18n)
|
||||
];
|
||||
echo json_encode($response);
|
||||
} else {
|
||||
$response = [
|
||||
"success" => false,
|
||||
"message" => translate('error_saving_notifications', $i18n)
|
||||
];
|
||||
echo json_encode($response);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
}
|
||||
@@ -1,91 +1,82 @@
|
||||
<?php
|
||||
require_once '../../includes/connect_endpoint.php';
|
||||
require_once '../../includes/validate_endpoint.php';
|
||||
|
||||
if (!isset($_SESSION['loggedin']) || $_SESSION['loggedin'] !== true) {
|
||||
die(json_encode([
|
||||
$postData = file_get_contents("php://input");
|
||||
$data = json_decode($postData, true);
|
||||
|
||||
if (
|
||||
!isset($data["webhook_url"]) || $data["webhook_url"] == ""
|
||||
) {
|
||||
$response = [
|
||||
"success" => false,
|
||||
"message" => translate('session_expired', $i18n)
|
||||
]));
|
||||
}
|
||||
|
||||
if ($_SERVER["REQUEST_METHOD"] === "POST") {
|
||||
$postData = file_get_contents("php://input");
|
||||
$data = json_decode($postData, true);
|
||||
"message" => translate('fill_mandatory_fields', $i18n)
|
||||
];
|
||||
echo json_encode($response);
|
||||
} else {
|
||||
$enabled = $data["enabled"];
|
||||
$url = $data["webhook_url"];
|
||||
$headers = $data["headers"];
|
||||
$payload = $data["payload"];
|
||||
$cancelation_payload = $data["cancelation_payload"];
|
||||
$ignore_ssl = $data["ignore_ssl"];
|
||||
|
||||
// Validate URL scheme
|
||||
$parsedUrl = parse_url($url);
|
||||
if (
|
||||
!isset($data["webhook_url"]) || $data["webhook_url"] == ""
|
||||
!isset($parsedUrl['scheme']) ||
|
||||
!in_array(strtolower($parsedUrl['scheme']), ['http', 'https']) ||
|
||||
!filter_var($url, FILTER_VALIDATE_URL)
|
||||
) {
|
||||
die(json_encode([
|
||||
"success" => false,
|
||||
"message" => translate("error", $i18n)
|
||||
]));
|
||||
}
|
||||
|
||||
$query = "SELECT COUNT(*) FROM webhook_notifications WHERE user_id = :userId";
|
||||
$stmt = $db->prepare($query);
|
||||
$stmt->bindParam(":userId", $userId, SQLITE3_INTEGER);
|
||||
$result = $stmt->execute();
|
||||
|
||||
if ($result === false) {
|
||||
$response = [
|
||||
"success" => false,
|
||||
"message" => translate('fill_mandatory_fields', $i18n)
|
||||
"message" => translate('error_saving_notifications', $i18n)
|
||||
];
|
||||
echo json_encode($response);
|
||||
} else {
|
||||
$enabled = $data["enabled"];
|
||||
$url = $data["webhook_url"];
|
||||
$headers = $data["headers"];
|
||||
$payload = $data["payload"];
|
||||
$cancelation_payload = $data["cancelation_payload"];
|
||||
$ignore_ssl = $data["ignore_ssl"];
|
||||
|
||||
// Validate URL scheme
|
||||
$parsedUrl = parse_url($url);
|
||||
if (
|
||||
!isset($parsedUrl['scheme']) ||
|
||||
!in_array(strtolower($parsedUrl['scheme']), ['http', 'https']) ||
|
||||
!filter_var($url, FILTER_VALIDATE_URL)
|
||||
) {
|
||||
die(json_encode([
|
||||
"success" => false,
|
||||
"message" => translate("error", $i18n)
|
||||
]));
|
||||
$row = $result->fetchArray();
|
||||
$count = $row[0];
|
||||
if ($count == 0) {
|
||||
$query = "INSERT INTO webhook_notifications (enabled, url, headers, payload, cancelation_payload, user_id, ignore_ssl)
|
||||
VALUES (:enabled, :url, :headers, :payload, :cancelation_payload, :userId, :ignore_ssl)";
|
||||
} else {
|
||||
$query = "UPDATE webhook_notifications
|
||||
SET enabled = :enabled, url = :url, headers = :headers, payload = :payload, cancelation_payload = :cancelation_payload, ignore_ssl = :ignore_ssl WHERE user_id = :userId";
|
||||
}
|
||||
|
||||
$query = "SELECT COUNT(*) FROM webhook_notifications WHERE user_id = :userId";
|
||||
$stmt = $db->prepare($query);
|
||||
$stmt->bindParam(":userId", $userId, SQLITE3_INTEGER);
|
||||
$result = $stmt->execute();
|
||||
$stmt->bindValue(':enabled', $enabled, SQLITE3_INTEGER);
|
||||
$stmt->bindValue(':url', $url, SQLITE3_TEXT);
|
||||
$stmt->bindValue(':headers', $headers, SQLITE3_TEXT);
|
||||
$stmt->bindValue(':payload', $payload, SQLITE3_TEXT);
|
||||
$stmt->bindValue(':cancelation_payload', $cancelation_payload, SQLITE3_TEXT);
|
||||
$stmt->bindValue(':ignore_ssl', $ignore_ssl, SQLITE3_INTEGER);
|
||||
$stmt->bindValue(':userId', $userId, SQLITE3_INTEGER);
|
||||
|
||||
if ($result === false) {
|
||||
if ($stmt->execute()) {
|
||||
$response = [
|
||||
"success" => true,
|
||||
"message" => translate('notifications_settings_saved', $i18n)
|
||||
];
|
||||
echo json_encode($response);
|
||||
} else {
|
||||
$response = [
|
||||
"success" => false,
|
||||
"message" => translate('error_saving_notifications', $i18n)
|
||||
];
|
||||
echo json_encode($response);
|
||||
} else {
|
||||
$row = $result->fetchArray();
|
||||
$count = $row[0];
|
||||
if ($count == 0) {
|
||||
$query = "INSERT INTO webhook_notifications (enabled, url, headers, payload, cancelation_payload, user_id, ignore_ssl)
|
||||
VALUES (:enabled, :url, :headers, :payload, :cancelation_payload, :userId, :ignore_ssl)";
|
||||
} else {
|
||||
$query = "UPDATE webhook_notifications
|
||||
SET enabled = :enabled, url = :url, headers = :headers, payload = :payload, cancelation_payload = :cancelation_payload, ignore_ssl = :ignore_ssl WHERE user_id = :userId";
|
||||
}
|
||||
|
||||
$stmt = $db->prepare($query);
|
||||
$stmt->bindValue(':enabled', $enabled, SQLITE3_INTEGER);
|
||||
$stmt->bindValue(':url', $url, SQLITE3_TEXT);
|
||||
$stmt->bindValue(':headers', $headers, SQLITE3_TEXT);
|
||||
$stmt->bindValue(':payload', $payload, SQLITE3_TEXT);
|
||||
$stmt->bindValue(':cancelation_payload', $cancelation_payload, SQLITE3_TEXT);
|
||||
$stmt->bindValue(':ignore_ssl', $ignore_ssl, SQLITE3_INTEGER);
|
||||
$stmt->bindValue(':userId', $userId, SQLITE3_INTEGER);
|
||||
|
||||
if ($stmt->execute()) {
|
||||
$response = [
|
||||
"success" => true,
|
||||
"message" => translate('notifications_settings_saved', $i18n)
|
||||
];
|
||||
echo json_encode($response);
|
||||
} else {
|
||||
$response = [
|
||||
"success" => false,
|
||||
"message" => translate('error_saving_notifications', $i18n)
|
||||
];
|
||||
echo json_encode($response);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
}
|
||||
@@ -1,102 +1,87 @@
|
||||
<?php
|
||||
|
||||
require_once '../../includes/connect_endpoint.php';
|
||||
require_once '../../includes/validate_endpoint.php';
|
||||
|
||||
if (!isset($_SESSION['loggedin']) || $_SESSION['loggedin'] !== true) {
|
||||
die(json_encode([
|
||||
$postData = file_get_contents("php://input");
|
||||
$data = json_decode($postData, true);
|
||||
|
||||
if (
|
||||
!isset($data["url"]) || $data["url"] == ""
|
||||
) {
|
||||
$response = [
|
||||
"success" => false,
|
||||
"message" => translate('session_expired', $i18n)
|
||||
]));
|
||||
}
|
||||
|
||||
if ($_SERVER["REQUEST_METHOD"] === "POST") {
|
||||
$postData = file_get_contents("php://input");
|
||||
$data = json_decode($postData, true);
|
||||
|
||||
if (
|
||||
!isset($data["url"]) || $data["url"] == ""
|
||||
) {
|
||||
$response = [
|
||||
"success" => false,
|
||||
"message" => translate('fill_mandatory_fields', $i18n)
|
||||
];
|
||||
echo json_encode($response);
|
||||
} else {
|
||||
// Set the message parameters
|
||||
$title = translate('wallos_notification', $i18n);
|
||||
$message = translate('test_notification', $i18n);
|
||||
|
||||
$webhook_url = $data["url"];
|
||||
$bot_username = $data["bot_username"];
|
||||
$bot_avatar_url = $data["bot_avatar"];
|
||||
|
||||
// Validate URL scheme
|
||||
$parsedUrl = parse_url($webhook_url);
|
||||
if (
|
||||
!isset($parsedUrl['scheme']) ||
|
||||
!in_array(strtolower($parsedUrl['scheme']), ['http', 'https']) ||
|
||||
!filter_var($webhook_url, FILTER_VALIDATE_URL)
|
||||
) {
|
||||
die(json_encode([
|
||||
"success" => false,
|
||||
"message" => translate("error", $i18n)
|
||||
]));
|
||||
}
|
||||
|
||||
$postfields = [
|
||||
'content' => $message,
|
||||
'embeds' => [
|
||||
[
|
||||
'title' => $title,
|
||||
'description' => $message,
|
||||
'color' => hexdec("FF0000")
|
||||
]
|
||||
]
|
||||
];
|
||||
|
||||
if (!empty($bot_username)) {
|
||||
$postfields['username'] = $bot_username;
|
||||
}
|
||||
|
||||
if (!empty($bot_avatar_url)) {
|
||||
$postfields['avatar_url'] = $bot_avatar_url;
|
||||
}
|
||||
|
||||
$ch = curl_init();
|
||||
|
||||
// Set the URL and other options
|
||||
curl_setopt($ch, CURLOPT_URL, $webhook_url);
|
||||
curl_setopt($ch, CURLOPT_POST, 1);
|
||||
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($postfields));
|
||||
curl_setopt($ch, CURLOPT_HTTPHEADER, [
|
||||
'Content-Type: application/json'
|
||||
]);
|
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
||||
|
||||
// Execute the request
|
||||
$response = curl_exec($ch);
|
||||
|
||||
// Close the cURL session
|
||||
curl_close($ch);
|
||||
|
||||
// Check if the message was sent successfully
|
||||
if ($response === false) {
|
||||
die(json_encode([
|
||||
"success" => false,
|
||||
"message" => translate('notification_failed', $i18n)
|
||||
]));
|
||||
} else {
|
||||
die(json_encode([
|
||||
"success" => true,
|
||||
"message" => translate('notification_sent_successfuly', $i18n)
|
||||
]));
|
||||
}
|
||||
}
|
||||
"message" => translate('fill_mandatory_fields', $i18n)
|
||||
];
|
||||
echo json_encode($response);
|
||||
} else {
|
||||
die(json_encode([
|
||||
"success" => false,
|
||||
"message" => translate("invalid_request_method", $i18n)
|
||||
]));
|
||||
}
|
||||
// Set the message parameters
|
||||
$title = translate('wallos_notification', $i18n);
|
||||
$message = translate('test_notification', $i18n);
|
||||
|
||||
?>
|
||||
$webhook_url = $data["url"];
|
||||
$bot_username = $data["bot_username"];
|
||||
$bot_avatar_url = $data["bot_avatar"];
|
||||
|
||||
// Validate URL scheme
|
||||
$parsedUrl = parse_url($webhook_url);
|
||||
if (
|
||||
!isset($parsedUrl['scheme']) ||
|
||||
!in_array(strtolower($parsedUrl['scheme']), ['http', 'https']) ||
|
||||
!filter_var($webhook_url, FILTER_VALIDATE_URL)
|
||||
) {
|
||||
die(json_encode([
|
||||
"success" => false,
|
||||
"message" => translate("error", $i18n)
|
||||
]));
|
||||
}
|
||||
|
||||
$postfields = [
|
||||
'content' => $message,
|
||||
'embeds' => [
|
||||
[
|
||||
'title' => $title,
|
||||
'description' => $message,
|
||||
'color' => hexdec("FF0000")
|
||||
]
|
||||
]
|
||||
];
|
||||
|
||||
if (!empty($bot_username)) {
|
||||
$postfields['username'] = $bot_username;
|
||||
}
|
||||
|
||||
if (!empty($bot_avatar_url)) {
|
||||
$postfields['avatar_url'] = $bot_avatar_url;
|
||||
}
|
||||
|
||||
$ch = curl_init();
|
||||
|
||||
// Set the URL and other options
|
||||
curl_setopt($ch, CURLOPT_URL, $webhook_url);
|
||||
curl_setopt($ch, CURLOPT_POST, 1);
|
||||
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($postfields));
|
||||
curl_setopt($ch, CURLOPT_HTTPHEADER, [
|
||||
'Content-Type: application/json'
|
||||
]);
|
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
||||
|
||||
// Execute the request
|
||||
$response = curl_exec($ch);
|
||||
|
||||
// Close the cURL session
|
||||
curl_close($ch);
|
||||
|
||||
// Check if the message was sent successfully
|
||||
if ($response === false) {
|
||||
die(json_encode([
|
||||
"success" => false,
|
||||
"message" => translate('notification_failed', $i18n)
|
||||
]));
|
||||
} else {
|
||||
die(json_encode([
|
||||
"success" => true,
|
||||
"message" => translate('notification_sent_successfuly', $i18n)
|
||||
]));
|
||||
}
|
||||
}
|
||||
@@ -5,98 +5,88 @@ use PHPMailer\PHPMailer\SMTP;
|
||||
use PHPMailer\PHPMailer\Exception;
|
||||
|
||||
require_once '../../includes/connect_endpoint.php';
|
||||
require_once '../../includes/validate_endpoint.php';
|
||||
|
||||
if (!isset($_SESSION['loggedin']) || $_SESSION['loggedin'] !== true) {
|
||||
die(json_encode([
|
||||
$postData = file_get_contents("php://input");
|
||||
$data = json_decode($postData, true);
|
||||
|
||||
if (
|
||||
!isset($data["smtpaddress"]) || $data["smtpaddress"] == "" ||
|
||||
!isset($data["smtpport"]) || $data["smtpport"] == ""
|
||||
) {
|
||||
$response = [
|
||||
"success" => false,
|
||||
"message" => translate('session_expired', $i18n)
|
||||
]));
|
||||
}
|
||||
"message" => translate('fill_all_fields', $i18n)
|
||||
];
|
||||
die(json_encode($response));
|
||||
} else {
|
||||
$encryption = "none";
|
||||
if (isset($data["encryption"])) {
|
||||
$encryption = $data["encryption"];
|
||||
}
|
||||
|
||||
if ($_SERVER["REQUEST_METHOD"] === "POST") {
|
||||
$postData = file_get_contents("php://input");
|
||||
$data = json_decode($postData, true);
|
||||
$smtpAuth = (isset($data["smtpusername"]) && $data["smtpusername"] != "") || (isset($data["smtppassword"]) && $data["smtppassword"] != "");
|
||||
|
||||
if (
|
||||
!isset($data["smtpaddress"]) || $data["smtpaddress"] == "" ||
|
||||
!isset($data["smtpport"]) || $data["smtpport"] == ""
|
||||
) {
|
||||
$response = [
|
||||
"success" => false,
|
||||
"message" => translate('fill_all_fields', $i18n)
|
||||
];
|
||||
die(json_encode($response));
|
||||
require '../../libs/PHPMailer/PHPMailer.php';
|
||||
require '../../libs/PHPMailer/SMTP.php';
|
||||
require '../../libs/PHPMailer/Exception.php';
|
||||
|
||||
$smtpAddress = $data["smtpaddress"];
|
||||
$smtpPort = $data["smtpport"];
|
||||
$smtpUsername = $data["smtpusername"];
|
||||
$smtpPassword = $data["smtppassword"];
|
||||
$fromEmail = $data["fromemail"] ? $data['fromemail'] : "wallos@wallosapp.com";
|
||||
|
||||
$mail = new PHPMailer(true);
|
||||
$mail->CharSet = "UTF-8";
|
||||
$mail->isSMTP();
|
||||
|
||||
$mail->Host = $smtpAddress;
|
||||
$mail->SMTPAuth = $smtpAuth;
|
||||
if ($smtpAuth) {
|
||||
$mail->Username = $smtpUsername;
|
||||
$mail->Password = $smtpPassword;
|
||||
}
|
||||
|
||||
if ($encryption != "none") {
|
||||
$mail->SMTPSecure = $encryption;
|
||||
} else {
|
||||
$encryption = "none";
|
||||
if (isset($data["encryption"])) {
|
||||
$encryption = $data["encryption"];
|
||||
}
|
||||
$mail->SMTPSecure = false;
|
||||
$mail->SMTPAutoTLS = false;
|
||||
}
|
||||
|
||||
$smtpAuth = (isset($data["smtpusername"]) && $data["smtpusername"] != "") || (isset($data["smtppassword"]) && $data["smtppassword"] != "");
|
||||
$mail->Port = $smtpPort;
|
||||
|
||||
require '../../libs/PHPMailer/PHPMailer.php';
|
||||
require '../../libs/PHPMailer/SMTP.php';
|
||||
require '../../libs/PHPMailer/Exception.php';
|
||||
$getUser = "SELECT * FROM user WHERE id = $userId";
|
||||
$user = $db->querySingle($getUser, true);
|
||||
$email = $user['email'];
|
||||
$name = $user['username'];
|
||||
|
||||
$smtpAddress = $data["smtpaddress"];
|
||||
$smtpPort = $data["smtpport"];
|
||||
$smtpUsername = $data["smtpusername"];
|
||||
$smtpPassword = $data["smtppassword"];
|
||||
$fromEmail = $data["fromemail"] ? $data['fromemail'] : "wallos@wallosapp.com";
|
||||
$mail->setFrom($fromEmail, 'Wallos App');
|
||||
$mail->addAddress($email, $name);
|
||||
|
||||
$mail = new PHPMailer(true);
|
||||
$mail->CharSet = "UTF-8";
|
||||
$mail->isSMTP();
|
||||
$mail->Subject = translate('wallos_notification', $i18n);
|
||||
$mail->Body = translate('test_notification', $i18n);
|
||||
|
||||
$mail->Host = $smtpAddress;
|
||||
$mail->SMTPAuth = $smtpAuth;
|
||||
if ($smtpAuth) {
|
||||
$mail->Username = $smtpUsername;
|
||||
$mail->Password = $smtpPassword;
|
||||
}
|
||||
|
||||
if ($encryption != "none") {
|
||||
$mail->SMTPSecure = $encryption;
|
||||
try {
|
||||
if ($mail->send()) {
|
||||
$response = [
|
||||
"success" => true,
|
||||
"message" => translate('notification_sent_successfuly', $i18n)
|
||||
];
|
||||
} else {
|
||||
$mail->SMTPSecure = false;
|
||||
$mail->SMTPAutoTLS = false;
|
||||
}
|
||||
|
||||
$mail->Port = $smtpPort;
|
||||
|
||||
$getUser = "SELECT * FROM user WHERE id = $userId";
|
||||
$user = $db->querySingle($getUser, true);
|
||||
$email = $user['email'];
|
||||
$name = $user['username'];
|
||||
|
||||
$mail->setFrom($fromEmail, 'Wallos App');
|
||||
$mail->addAddress($email, $name);
|
||||
|
||||
$mail->Subject = translate('wallos_notification', $i18n);
|
||||
$mail->Body = translate('test_notification', $i18n);
|
||||
|
||||
try {
|
||||
if ($mail->send()) {
|
||||
$response = [
|
||||
"success" => true,
|
||||
"message" => translate('notification_sent_successfuly', $i18n)
|
||||
];
|
||||
} else {
|
||||
$response = [
|
||||
"success" => false,
|
||||
"message" => translate('email_error', $i18n) . $mail->ErrorInfo
|
||||
];
|
||||
}
|
||||
} catch (Exception $e) {
|
||||
$response = [
|
||||
"success" => false,
|
||||
"message" => translate('email_error', $i18n) . $e->getMessage()
|
||||
"message" => translate('email_error', $i18n) . $mail->ErrorInfo
|
||||
];
|
||||
}
|
||||
|
||||
die(json_encode($response));
|
||||
|
||||
} catch (Exception $e) {
|
||||
$response = [
|
||||
"success" => false,
|
||||
"message" => translate('email_error', $i18n) . $e->getMessage()
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
die(json_encode($response));
|
||||
|
||||
}
|
||||
@@ -1,93 +1,80 @@
|
||||
<?php
|
||||
require_once '../../includes/connect_endpoint.php';
|
||||
require_once '../../includes/validate_endpoint.php';
|
||||
|
||||
if (!isset($_SESSION['loggedin']) || $_SESSION['loggedin'] !== true) {
|
||||
die(json_encode([
|
||||
|
||||
$postData = file_get_contents("php://input");
|
||||
$data = json_decode($postData, true);
|
||||
|
||||
if (
|
||||
!isset($data["gotify_url"]) || $data["gotify_url"] == "" ||
|
||||
!isset($data["token"]) || $data["token"] == ""
|
||||
) {
|
||||
$response = [
|
||||
"success" => false,
|
||||
"message" => translate('session_expired', $i18n)
|
||||
]));
|
||||
}
|
||||
|
||||
if ($_SERVER["REQUEST_METHOD"] === "POST") {
|
||||
$postData = file_get_contents("php://input");
|
||||
$data = json_decode($postData, true);
|
||||
|
||||
if (
|
||||
!isset($data["gotify_url"]) || $data["gotify_url"] == "" ||
|
||||
!isset($data["token"]) || $data["token"] == ""
|
||||
) {
|
||||
$response = [
|
||||
"success" => false,
|
||||
"message" => translate('fill_mandatory_fields', $i18n)
|
||||
];
|
||||
die(json_encode($response));
|
||||
} else {
|
||||
// Set the message parameters
|
||||
$title = translate('wallos_notification', $i18n);
|
||||
$message = translate('test_notification', $i18n);
|
||||
$priority = 5;
|
||||
|
||||
$url = $data["gotify_url"];
|
||||
$token = $data["token"];
|
||||
$ignore_ssl = $data["ignore_ssl"];
|
||||
|
||||
// Validate URL scheme
|
||||
$parsedUrl = parse_url($url);
|
||||
if (
|
||||
!isset($parsedUrl['scheme']) ||
|
||||
!in_array(strtolower($parsedUrl['scheme']), ['http', 'https']) ||
|
||||
!filter_var($url, FILTER_VALIDATE_URL)
|
||||
) {
|
||||
die(json_encode([
|
||||
"success" => false,
|
||||
"message" => translate("error", $i18n)
|
||||
]));
|
||||
}
|
||||
|
||||
$ch = curl_init();
|
||||
|
||||
// Set the URL and other options
|
||||
curl_setopt($ch, CURLOPT_URL, $url . "/message?token=" . $token);
|
||||
curl_setopt($ch, CURLOPT_POST, 1);
|
||||
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query([
|
||||
'title' => $title,
|
||||
'message' => $message,
|
||||
'priority' => $priority,
|
||||
]));
|
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
||||
|
||||
if ($ignore_ssl) {
|
||||
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
|
||||
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
|
||||
}
|
||||
|
||||
// Execute the request
|
||||
$response = curl_exec($ch);
|
||||
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
|
||||
|
||||
// Close the cURL session
|
||||
curl_close($ch);
|
||||
|
||||
// Check if the message was sent successfully
|
||||
if ($response === false || $httpCode < 200 || $httpCode >= 300) {
|
||||
die(json_encode([
|
||||
"success" => false,
|
||||
"message" => translate('notification_failed', $i18n),
|
||||
"response" => $response,
|
||||
"http_code" => $httpCode
|
||||
]));
|
||||
} else {
|
||||
die(json_encode([
|
||||
"success" => true,
|
||||
"message" => translate('notification_sent_successfuly', $i18n),
|
||||
"response" => $response
|
||||
]));
|
||||
}
|
||||
}
|
||||
"message" => translate('fill_mandatory_fields', $i18n)
|
||||
];
|
||||
die(json_encode($response));
|
||||
} else {
|
||||
die(json_encode([
|
||||
"success" => false,
|
||||
"message" => translate("invalid_request_method", $i18n)
|
||||
// Set the message parameters
|
||||
$title = translate('wallos_notification', $i18n);
|
||||
$message = translate('test_notification', $i18n);
|
||||
$priority = 5;
|
||||
|
||||
$url = $data["gotify_url"];
|
||||
$token = $data["token"];
|
||||
$ignore_ssl = $data["ignore_ssl"];
|
||||
|
||||
// Validate URL scheme
|
||||
$parsedUrl = parse_url($url);
|
||||
if (
|
||||
!isset($parsedUrl['scheme']) ||
|
||||
!in_array(strtolower($parsedUrl['scheme']), ['http', 'https']) ||
|
||||
!filter_var($url, FILTER_VALIDATE_URL)
|
||||
) {
|
||||
die(json_encode([
|
||||
"success" => false,
|
||||
"message" => translate("error", $i18n)
|
||||
]));
|
||||
}
|
||||
|
||||
$ch = curl_init();
|
||||
|
||||
// Set the URL and other options
|
||||
curl_setopt($ch, CURLOPT_URL, $url . "/message?token=" . $token);
|
||||
curl_setopt($ch, CURLOPT_POST, 1);
|
||||
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query([
|
||||
'title' => $title,
|
||||
'message' => $message,
|
||||
'priority' => $priority,
|
||||
]));
|
||||
}
|
||||
?>
|
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
||||
|
||||
if ($ignore_ssl) {
|
||||
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
|
||||
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
|
||||
}
|
||||
|
||||
// Execute the request
|
||||
$response = curl_exec($ch);
|
||||
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
|
||||
|
||||
// Close the cURL session
|
||||
curl_close($ch);
|
||||
|
||||
// Check if the message was sent successfully
|
||||
if ($response === false || $httpCode < 200 || $httpCode >= 300) {
|
||||
die(json_encode([
|
||||
"success" => false,
|
||||
"message" => translate('notification_failed', $i18n),
|
||||
"response" => $response,
|
||||
"http_code" => $httpCode
|
||||
]));
|
||||
} else {
|
||||
die(json_encode([
|
||||
"success" => true,
|
||||
"message" => translate('notification_sent_successfuly', $i18n),
|
||||
"response" => $response
|
||||
]));
|
||||
}
|
||||
}
|
||||
@@ -1,97 +1,82 @@
|
||||
<?php
|
||||
|
||||
require_once '../../includes/connect_endpoint.php';
|
||||
require_once '../../includes/validate_endpoint.php';
|
||||
|
||||
if (!isset($_SESSION['loggedin']) || $_SESSION['loggedin'] !== true) {
|
||||
die(json_encode([
|
||||
$postData = file_get_contents("php://input");
|
||||
$data = json_decode($postData, true);
|
||||
|
||||
if (
|
||||
!isset($data["webhook_url"]) || $data["webhook_url"] == "" ||
|
||||
!isset($data["bot_username"]) || $data["bot_username"] == "" ||
|
||||
!isset($data["bot_icon_emoji"]) || $data["bot_icon_emoji"] == ""
|
||||
) {
|
||||
$response = [
|
||||
"success" => false,
|
||||
"message" => translate('session_expired', $i18n)
|
||||
]));
|
||||
}
|
||||
|
||||
if ($_SERVER["REQUEST_METHOD"] === "POST") {
|
||||
$postData = file_get_contents("php://input");
|
||||
$data = json_decode($postData, true);
|
||||
|
||||
if (
|
||||
!isset($data["webhook_url"]) || $data["webhook_url"] == "" ||
|
||||
!isset($data["bot_username"]) || $data["bot_username"] == "" ||
|
||||
!isset($data["bot_icon_emoji"]) || $data["bot_icon_emoji"] == ""
|
||||
) {
|
||||
$response = [
|
||||
"success" => false,
|
||||
"message" => translate('fill_mandatory_fields', $i18n)
|
||||
];
|
||||
echo json_encode($response);
|
||||
} else {
|
||||
// Set the message parameters
|
||||
$title = translate('wallos_notification', $i18n);
|
||||
$message = translate('test_notification', $i18n);
|
||||
|
||||
$webhook_url = $data["webhook_url"];
|
||||
$bot_username = $data["bot_username"];
|
||||
$bot_icon_emoji = $data["bot_icon_emoji"];
|
||||
|
||||
// Validate URL scheme
|
||||
$parsedUrl = parse_url($webhook_url);
|
||||
if (
|
||||
!isset($parsedUrl['scheme']) ||
|
||||
!in_array(strtolower($parsedUrl['scheme']), ['http', 'https']) ||
|
||||
!filter_var($webhook_url, FILTER_VALIDATE_URL)
|
||||
) {
|
||||
die(json_encode([
|
||||
"success" => false,
|
||||
"message" => translate("error", $i18n)
|
||||
]));
|
||||
}
|
||||
|
||||
$postfields = [
|
||||
'text' => $message,
|
||||
];
|
||||
|
||||
if (!empty($bot_username)) {
|
||||
$postfields['username'] = $bot_username;
|
||||
}
|
||||
|
||||
if (!empty($bot_icon_emoji)) {
|
||||
$postfields['icon_emoji'] = $bot_icon_emoji;
|
||||
}
|
||||
|
||||
$ch = curl_init();
|
||||
|
||||
// Set the URL and other options
|
||||
curl_setopt($ch, CURLOPT_URL, $webhook_url);
|
||||
curl_setopt($ch, CURLOPT_POST, 1);
|
||||
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($postfields));
|
||||
curl_setopt($ch, CURLOPT_HTTPHEADER, [
|
||||
'Content-Type: application/json'
|
||||
]);
|
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
||||
|
||||
// Execute the request
|
||||
$response = curl_exec($ch);
|
||||
|
||||
// Close the cURL session
|
||||
curl_close($ch);
|
||||
|
||||
// Check if the message was sent successfully
|
||||
if ($response === false) {
|
||||
die(json_encode([
|
||||
"success" => false,
|
||||
"message" => translate('notification_failed', $i18n)
|
||||
]));
|
||||
} else {
|
||||
die(json_encode([
|
||||
"success" => true,
|
||||
"message" => translate('notification_sent_successfuly', $i18n)
|
||||
]));
|
||||
}
|
||||
}
|
||||
"message" => translate('fill_mandatory_fields', $i18n)
|
||||
];
|
||||
echo json_encode($response);
|
||||
} else {
|
||||
die(json_encode([
|
||||
"success" => false,
|
||||
"message" => translate("invalid_request_method", $i18n)
|
||||
]));
|
||||
}
|
||||
// Set the message parameters
|
||||
$title = translate('wallos_notification', $i18n);
|
||||
$message = translate('test_notification', $i18n);
|
||||
|
||||
?>
|
||||
$webhook_url = $data["webhook_url"];
|
||||
$bot_username = $data["bot_username"];
|
||||
$bot_icon_emoji = $data["bot_icon_emoji"];
|
||||
|
||||
// Validate URL scheme
|
||||
$parsedUrl = parse_url($webhook_url);
|
||||
if (
|
||||
!isset($parsedUrl['scheme']) ||
|
||||
!in_array(strtolower($parsedUrl['scheme']), ['http', 'https']) ||
|
||||
!filter_var($webhook_url, FILTER_VALIDATE_URL)
|
||||
) {
|
||||
die(json_encode([
|
||||
"success" => false,
|
||||
"message" => translate("error", $i18n)
|
||||
]));
|
||||
}
|
||||
|
||||
$postfields = [
|
||||
'text' => $message,
|
||||
];
|
||||
|
||||
if (!empty($bot_username)) {
|
||||
$postfields['username'] = $bot_username;
|
||||
}
|
||||
|
||||
if (!empty($bot_icon_emoji)) {
|
||||
$postfields['icon_emoji'] = $bot_icon_emoji;
|
||||
}
|
||||
|
||||
$ch = curl_init();
|
||||
|
||||
// Set the URL and other options
|
||||
curl_setopt($ch, CURLOPT_URL, $webhook_url);
|
||||
curl_setopt($ch, CURLOPT_POST, 1);
|
||||
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($postfields));
|
||||
curl_setopt($ch, CURLOPT_HTTPHEADER, [
|
||||
'Content-Type: application/json'
|
||||
]);
|
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
||||
|
||||
// Execute the request
|
||||
$response = curl_exec($ch);
|
||||
|
||||
// Close the cURL session
|
||||
curl_close($ch);
|
||||
|
||||
// Check if the message was sent successfully
|
||||
if ($response === false) {
|
||||
die(json_encode([
|
||||
"success" => false,
|
||||
"message" => translate('notification_failed', $i18n)
|
||||
]));
|
||||
} else {
|
||||
die(json_encode([
|
||||
"success" => true,
|
||||
"message" => translate('notification_sent_successfuly', $i18n)
|
||||
]));
|
||||
}
|
||||
}
|
||||
@@ -1,91 +1,80 @@
|
||||
<?php
|
||||
|
||||
require_once '../../includes/connect_endpoint.php';
|
||||
require_once '../../includes/validate_endpoint.php';
|
||||
|
||||
if (!isset($_SESSION['loggedin']) || $_SESSION['loggedin'] !== true) {
|
||||
die(json_encode([
|
||||
$postData = file_get_contents("php://input");
|
||||
$data = json_decode($postData, true);
|
||||
|
||||
if (
|
||||
!isset($data["host"]) || $data["host"] == "" ||
|
||||
!isset($data["topic"]) || $data["topic"] == ""
|
||||
) {
|
||||
$response = [
|
||||
"success" => false,
|
||||
"message" => translate('session_expired', $i18n)
|
||||
]));
|
||||
}
|
||||
"message" => translate('fill_mandatory_fields', $i18n)
|
||||
];
|
||||
echo json_encode($response);
|
||||
} else {
|
||||
$host = rtrim($data["host"], '/');
|
||||
$topic = $data["topic"];
|
||||
$headers = json_decode($data["headers"], true);
|
||||
if ($headers === null) {
|
||||
$headers = [];
|
||||
}
|
||||
$customheaders = array_map(function ($key, $value) {
|
||||
return "$key: $value";
|
||||
}, array_keys($headers), $headers);
|
||||
|
||||
if ($_SERVER["REQUEST_METHOD"] === "POST") {
|
||||
$postData = file_get_contents("php://input");
|
||||
$data = json_decode($postData, true);
|
||||
$url = rtrim($host, '/') . '/' . ltrim($topic, '/');
|
||||
$ignore_ssl = $data["ignore_ssl"];
|
||||
|
||||
// Validate URL scheme
|
||||
$parsedUrl = parse_url($url);
|
||||
if (
|
||||
!isset($data["host"]) || $data["host"] == "" ||
|
||||
!isset($data["topic"]) || $data["topic"] == ""
|
||||
!isset($parsedUrl['scheme']) ||
|
||||
!in_array(strtolower($parsedUrl['scheme']), ['http', 'https']) ||
|
||||
!filter_var($url, FILTER_VALIDATE_URL)
|
||||
) {
|
||||
$response = [
|
||||
"success" => false,
|
||||
"message" => translate('fill_mandatory_fields', $i18n)
|
||||
];
|
||||
echo json_encode($response);
|
||||
} else {
|
||||
$host = rtrim($data["host"], '/');
|
||||
$topic = $data["topic"];
|
||||
$headers = json_decode($data["headers"], true);
|
||||
if ($headers === null) {
|
||||
$headers = [];
|
||||
}
|
||||
$customheaders = array_map(function ($key, $value) {
|
||||
return "$key: $value";
|
||||
}, array_keys($headers), $headers);
|
||||
|
||||
$url = rtrim($host, '/') . '/' . ltrim($topic, '/');
|
||||
$ignore_ssl = $data["ignore_ssl"];
|
||||
|
||||
// Validate URL scheme
|
||||
$parsedUrl = parse_url($url);
|
||||
if (
|
||||
!isset($parsedUrl['scheme']) ||
|
||||
!in_array(strtolower($parsedUrl['scheme']), ['http', 'https']) ||
|
||||
!filter_var($url, FILTER_VALIDATE_URL)
|
||||
) {
|
||||
die(json_encode([
|
||||
"success" => false,
|
||||
"message" => translate("error", $i18n)
|
||||
]));
|
||||
}
|
||||
|
||||
// Set the message parameters
|
||||
$message = translate('test_notification', $i18n);
|
||||
|
||||
$ch = curl_init();
|
||||
|
||||
// Set the URL and other options
|
||||
curl_setopt($ch, CURLOPT_URL, $url);
|
||||
curl_setopt($ch, CURLOPT_POST, 1);
|
||||
curl_setopt($ch, CURLOPT_POSTFIELDS, $message);
|
||||
curl_setopt($ch, CURLOPT_HTTPHEADER, $customheaders);
|
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
||||
|
||||
if ($ignore_ssl) {
|
||||
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
|
||||
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
|
||||
}
|
||||
|
||||
// Execute the request
|
||||
$response = curl_exec($ch);
|
||||
|
||||
// Close the cURL session
|
||||
curl_close($ch);
|
||||
|
||||
// Check if the message was sent successfully
|
||||
if ($response === false) {
|
||||
die(json_encode([
|
||||
"success" => false,
|
||||
"message" => translate('notification_failed', $i18n)
|
||||
]));
|
||||
}
|
||||
|
||||
die(json_encode([
|
||||
"success" => true,
|
||||
"message" => translate('notification_sent_successfuly', $i18n)
|
||||
"success" => false,
|
||||
"message" => translate("error", $i18n)
|
||||
]));
|
||||
}
|
||||
|
||||
}
|
||||
// Set the message parameters
|
||||
$message = translate('test_notification', $i18n);
|
||||
|
||||
?>
|
||||
$ch = curl_init();
|
||||
|
||||
// Set the URL and other options
|
||||
curl_setopt($ch, CURLOPT_URL, $url);
|
||||
curl_setopt($ch, CURLOPT_POST, 1);
|
||||
curl_setopt($ch, CURLOPT_POSTFIELDS, $message);
|
||||
curl_setopt($ch, CURLOPT_HTTPHEADER, $customheaders);
|
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
||||
|
||||
if ($ignore_ssl) {
|
||||
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
|
||||
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
|
||||
}
|
||||
|
||||
// Execute the request
|
||||
$response = curl_exec($ch);
|
||||
|
||||
// Close the cURL session
|
||||
curl_close($ch);
|
||||
|
||||
// Check if the message was sent successfully
|
||||
if ($response === false) {
|
||||
die(json_encode([
|
||||
"success" => false,
|
||||
"message" => translate('notification_failed', $i18n)
|
||||
]));
|
||||
}
|
||||
|
||||
die(json_encode([
|
||||
"success" => true,
|
||||
"message" => translate('notification_sent_successfuly', $i18n)
|
||||
]));
|
||||
}
|
||||
@@ -1,70 +1,55 @@
|
||||
<?php
|
||||
|
||||
require_once '../../includes/connect_endpoint.php';
|
||||
require_once '../../includes/validate_endpoint.php';
|
||||
|
||||
if (!isset($_SESSION['loggedin']) || $_SESSION['loggedin'] !== true) {
|
||||
die(json_encode([
|
||||
$postData = file_get_contents("php://input");
|
||||
$data = json_decode($postData, true);
|
||||
|
||||
if (
|
||||
!isset($data["user_key"]) || $data["user_key"] == "" ||
|
||||
!isset($data["token"]) || $data["token"] == ""
|
||||
) {
|
||||
$response = [
|
||||
"success" => false,
|
||||
"message" => translate('session_expired', $i18n)
|
||||
]));
|
||||
}
|
||||
|
||||
if ($_SERVER["REQUEST_METHOD"] === "POST") {
|
||||
$postData = file_get_contents("php://input");
|
||||
$data = json_decode($postData, true);
|
||||
|
||||
if (
|
||||
!isset($data["user_key"]) || $data["user_key"] == "" ||
|
||||
!isset($data["token"]) || $data["token"] == ""
|
||||
) {
|
||||
$response = [
|
||||
"success" => false,
|
||||
"message" => translate('fill_mandatory_fields', $i18n)
|
||||
];
|
||||
echo json_encode($response);
|
||||
} else {
|
||||
// Set the message parameters
|
||||
$message = translate('test_notification', $i18n);
|
||||
|
||||
$user_key = $data["user_key"];
|
||||
$token = $data["token"];
|
||||
|
||||
$ch = curl_init();
|
||||
|
||||
// Set the URL and other options
|
||||
curl_setopt($ch, CURLOPT_URL, "https://api.pushover.net/1/messages.json");
|
||||
curl_setopt($ch, CURLOPT_POST, 1);
|
||||
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query([
|
||||
'token' => $token,
|
||||
'user' => $user_key,
|
||||
'message' => $message,
|
||||
]));
|
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
||||
|
||||
// Execute the request
|
||||
$response = curl_exec($ch);
|
||||
|
||||
// Close the cURL session
|
||||
curl_close($ch);
|
||||
|
||||
// Check if the message was sent successfully
|
||||
if ($response === false) {
|
||||
die(json_encode([
|
||||
"success" => false,
|
||||
"message" => translate('notification_failed', $i18n)
|
||||
]));
|
||||
} else {
|
||||
die(json_encode([
|
||||
"success" => true,
|
||||
"message" => translate('notification_sent_successfuly', $i18n)
|
||||
]));
|
||||
}
|
||||
}
|
||||
"message" => translate('fill_mandatory_fields', $i18n)
|
||||
];
|
||||
echo json_encode($response);
|
||||
} else {
|
||||
die(json_encode([
|
||||
"success" => false,
|
||||
"message" => translate("invalid_request_method", $i18n)
|
||||
]));
|
||||
}
|
||||
// Set the message parameters
|
||||
$message = translate('test_notification', $i18n);
|
||||
|
||||
?>
|
||||
$user_key = $data["user_key"];
|
||||
$token = $data["token"];
|
||||
|
||||
$ch = curl_init();
|
||||
|
||||
// Set the URL and other options
|
||||
curl_setopt($ch, CURLOPT_URL, "https://api.pushover.net/1/messages.json");
|
||||
curl_setopt($ch, CURLOPT_POST, 1);
|
||||
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query([
|
||||
'token' => $token,
|
||||
'user' => $user_key,
|
||||
'message' => $message,
|
||||
]));
|
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
||||
|
||||
// Execute the request
|
||||
$response = curl_exec($ch);
|
||||
|
||||
// Close the cURL session
|
||||
curl_close($ch);
|
||||
|
||||
// Check if the message was sent successfully
|
||||
if ($response === false) {
|
||||
die(json_encode([
|
||||
"success" => false,
|
||||
"message" => translate('notification_failed', $i18n)
|
||||
]));
|
||||
} else {
|
||||
die(json_encode([
|
||||
"success" => true,
|
||||
"message" => translate('notification_sent_successfuly', $i18n)
|
||||
]));
|
||||
}
|
||||
}
|
||||
@@ -1,85 +1,71 @@
|
||||
<?php
|
||||
require_once '../../includes/connect_endpoint.php';
|
||||
require_once '../../includes/validate_endpoint.php';
|
||||
|
||||
if (!isset($_SESSION['loggedin']) || $_SESSION['loggedin'] !== true) {
|
||||
die(json_encode([
|
||||
$postData = file_get_contents("php://input");
|
||||
$data = json_decode($postData, true);
|
||||
|
||||
if (!isset($data["token"]) || $data["token"] == "") {
|
||||
$response = [
|
||||
"success" => false,
|
||||
"message" => translate('session_expired', $i18n)
|
||||
]));
|
||||
}
|
||||
"message" => translate('fill_mandatory_fields', $i18n)
|
||||
];
|
||||
echo json_encode($response);
|
||||
} else {
|
||||
// Set the message parameters
|
||||
$title = translate('wallos_notification', $i18n);
|
||||
$message = translate('test_notification', $i18n);
|
||||
|
||||
if ($_SERVER["REQUEST_METHOD"] === "POST") {
|
||||
$postData = file_get_contents("php://input");
|
||||
$data = json_decode($postData, true);
|
||||
$token = $data["token"];
|
||||
|
||||
if (!isset($data["token"]) || $data["token"] == "") {
|
||||
$response = [
|
||||
$ch = curl_init();
|
||||
|
||||
// Set the URL and other options for PushPlus
|
||||
$postData = [
|
||||
"token" => $token,
|
||||
"title" => "您的订阅到期拉",
|
||||
"content" => $message,
|
||||
"template" => "json"
|
||||
];
|
||||
|
||||
curl_setopt_array($ch, [
|
||||
CURLOPT_URL => 'https://www.pushplus.plus/send',
|
||||
CURLOPT_RETURNTRANSFER => true,
|
||||
CURLOPT_POST => true,
|
||||
CURLOPT_POSTFIELDS => json_encode($postData),
|
||||
CURLOPT_HTTPHEADER => [
|
||||
'Content-Type: application/json'
|
||||
],
|
||||
CURLOPT_TIMEOUT => 10
|
||||
]);
|
||||
|
||||
// Execute the request
|
||||
$response = curl_exec($ch);
|
||||
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
|
||||
$curlError = curl_error($ch);
|
||||
|
||||
// Close the cURL session
|
||||
curl_close($ch);
|
||||
|
||||
// Check if the message was sent successfully
|
||||
if ($response === false) {
|
||||
die(json_encode([
|
||||
"success" => false,
|
||||
"message" => translate('fill_mandatory_fields', $i18n)
|
||||
];
|
||||
echo json_encode($response);
|
||||
"message" => translate('notification_failed', $i18n) . ": " . $curlError
|
||||
]));
|
||||
} else {
|
||||
// Set the message parameters
|
||||
$title = translate('wallos_notification', $i18n);
|
||||
$message = translate('test_notification', $i18n);
|
||||
|
||||
$token = $data["token"];
|
||||
|
||||
$ch = curl_init();
|
||||
|
||||
// Set the URL and other options for PushPlus
|
||||
$postData = [
|
||||
"token" => $token,
|
||||
"title" => "您的订阅到期拉",
|
||||
"content" => $message,
|
||||
"template" => "json"
|
||||
];
|
||||
|
||||
curl_setopt_array($ch, [
|
||||
CURLOPT_URL => 'https://www.pushplus.plus/send',
|
||||
CURLOPT_RETURNTRANSFER => true,
|
||||
CURLOPT_POST => true,
|
||||
CURLOPT_POSTFIELDS => json_encode($postData),
|
||||
CURLOPT_HTTPHEADER => [
|
||||
'Content-Type: application/json'
|
||||
],
|
||||
CURLOPT_TIMEOUT => 10
|
||||
]);
|
||||
|
||||
// Execute the request
|
||||
$response = curl_exec($ch);
|
||||
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
|
||||
$curlError = curl_error($ch);
|
||||
|
||||
// Close the cURL session
|
||||
curl_close($ch);
|
||||
|
||||
// Check if the message was sent successfully
|
||||
if ($response === false) {
|
||||
$responseData = json_decode($response, true);
|
||||
if (isset($responseData['code']) && $responseData['code'] == 200) {
|
||||
die(json_encode([
|
||||
"success" => false,
|
||||
"message" => translate('notification_failed', $i18n) . ": " . $curlError
|
||||
"success" => true,
|
||||
"message" => translate('notification_sent_successfuly', $i18n)
|
||||
]));
|
||||
} else {
|
||||
$responseData = json_decode($response, true);
|
||||
if (isset($responseData['code']) && $responseData['code'] == 200) {
|
||||
die(json_encode([
|
||||
"success" => true,
|
||||
"message" => translate('notification_sent_successfuly', $i18n)
|
||||
]));
|
||||
} else {
|
||||
$errorMsg = isset($responseData['msg']) ? $responseData['msg'] : translate('notification_failed', $i18n);
|
||||
die(json_encode([
|
||||
"success" => false,
|
||||
"message" => $errorMsg
|
||||
]));
|
||||
}
|
||||
$errorMsg = isset($responseData['msg']) ? $responseData['msg'] : translate('notification_failed', $i18n);
|
||||
die(json_encode([
|
||||
"success" => false,
|
||||
"message" => $errorMsg
|
||||
]));
|
||||
}
|
||||
}
|
||||
} else {
|
||||
die(json_encode([
|
||||
"success" => false,
|
||||
"message" => translate("invalid_request_method", $i18n)
|
||||
]));
|
||||
}
|
||||
?>
|
||||
}
|
||||
@@ -1,68 +1,54 @@
|
||||
<?php
|
||||
require_once '../../includes/connect_endpoint.php';
|
||||
require_once '../../includes/validate_endpoint.php';
|
||||
|
||||
if (!isset($_SESSION['loggedin']) || $_SESSION['loggedin'] !== true) {
|
||||
die(json_encode([
|
||||
$postData = file_get_contents("php://input");
|
||||
$data = json_decode($postData, true);
|
||||
|
||||
if (
|
||||
!isset($data["bottoken"]) || $data["bottoken"] == "" ||
|
||||
!isset($data["chatid"]) || $data["chatid"] == ""
|
||||
) {
|
||||
$response = [
|
||||
"success" => false,
|
||||
"message" => translate('session_expired', $i18n)
|
||||
]));
|
||||
}
|
||||
|
||||
if ($_SERVER["REQUEST_METHOD"] === "POST") {
|
||||
$postData = file_get_contents("php://input");
|
||||
$data = json_decode($postData, true);
|
||||
|
||||
if (
|
||||
!isset($data["bottoken"]) || $data["bottoken"] == "" ||
|
||||
!isset($data["chatid"]) || $data["chatid"] == ""
|
||||
) {
|
||||
$response = [
|
||||
"success" => false,
|
||||
"message" => translate('fill_mandatory_fields', $i18n)
|
||||
];
|
||||
echo json_encode($response);
|
||||
} else {
|
||||
// Set the message parameters
|
||||
$title = translate('wallos_notification', $i18n);
|
||||
$message = translate('test_notification', $i18n);
|
||||
|
||||
$botToken = $data["bottoken"];
|
||||
$chatId = $data["chatid"];
|
||||
|
||||
$ch = curl_init();
|
||||
|
||||
// Set the URL and other options
|
||||
curl_setopt($ch, CURLOPT_URL, "https://api.telegram.org/bot" . $botToken . "/sendMessage");
|
||||
curl_setopt($ch, CURLOPT_POST, 1);
|
||||
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query([
|
||||
'chat_id' => $chatId,
|
||||
'text' => $message,
|
||||
]));
|
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
||||
|
||||
// Execute the request
|
||||
$response = curl_exec($ch);
|
||||
|
||||
// Close the cURL session
|
||||
curl_close($ch);
|
||||
|
||||
// Check if the message was sent successfully
|
||||
if ($response === false) {
|
||||
die(json_encode([
|
||||
"success" => false,
|
||||
"message" => translate('notification_failed', $i18n)
|
||||
]));
|
||||
} else {
|
||||
die(json_encode([
|
||||
"success" => true,
|
||||
"message" => translate('notification_sent_successfuly', $i18n)
|
||||
]));
|
||||
}
|
||||
}
|
||||
"message" => translate('fill_mandatory_fields', $i18n)
|
||||
];
|
||||
echo json_encode($response);
|
||||
} else {
|
||||
die(json_encode([
|
||||
"success" => false,
|
||||
"message" => translate("invalid_request_method", $i18n)
|
||||
// Set the message parameters
|
||||
$title = translate('wallos_notification', $i18n);
|
||||
$message = translate('test_notification', $i18n);
|
||||
|
||||
$botToken = $data["bottoken"];
|
||||
$chatId = $data["chatid"];
|
||||
|
||||
$ch = curl_init();
|
||||
|
||||
// Set the URL and other options
|
||||
curl_setopt($ch, CURLOPT_URL, "https://api.telegram.org/bot" . $botToken . "/sendMessage");
|
||||
curl_setopt($ch, CURLOPT_POST, 1);
|
||||
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query([
|
||||
'chat_id' => $chatId,
|
||||
'text' => $message,
|
||||
]));
|
||||
}
|
||||
?>
|
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
||||
|
||||
// Execute the request
|
||||
$response = curl_exec($ch);
|
||||
|
||||
// Close the cURL session
|
||||
curl_close($ch);
|
||||
|
||||
// Check if the message was sent successfully
|
||||
if ($response === false) {
|
||||
die(json_encode([
|
||||
"success" => false,
|
||||
"message" => translate('notification_failed', $i18n)
|
||||
]));
|
||||
} else {
|
||||
die(json_encode([
|
||||
"success" => true,
|
||||
"message" => translate('notification_sent_successfuly', $i18n)
|
||||
]));
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
<?php
|
||||
|
||||
require_once '../../includes/connect_endpoint.php';
|
||||
require_once '../../includes/validate_endpoint.php';
|
||||
|
||||
// Variables available: {{days_until}}, {{subscription_name}}, {{subscription_price}}, {{subscription_currency}}, {{subscription_category}}, {{subscription_date}}, {{subscription_payer}}, {{subscription_days_until_payment}}, {{subscription_notes}}, {{subscription_url}}
|
||||
$fakeSubscription = [
|
||||
@@ -16,97 +17,81 @@ $fakeSubscription = [
|
||||
"subscription_url" => "https://example.com/test-subscription"
|
||||
];
|
||||
|
||||
if (!isset($_SESSION['loggedin']) || $_SESSION['loggedin'] !== true) {
|
||||
die(json_encode([
|
||||
$postData = file_get_contents("php://input");
|
||||
$data = json_decode($postData, true);
|
||||
|
||||
if (
|
||||
!isset($data["requestmethod"]) || $data["requestmethod"] == "" ||
|
||||
!isset($data["url"]) || $data["url"] == "" ||
|
||||
!isset($data["payload"]) || $data["payload"] == ""
|
||||
) {
|
||||
$response = [
|
||||
"success" => false,
|
||||
"message" => translate('session_expired', $i18n)
|
||||
]));
|
||||
}
|
||||
|
||||
if ($_SERVER["REQUEST_METHOD"] === "POST") {
|
||||
$postData = file_get_contents("php://input");
|
||||
$data = json_decode($postData, true);
|
||||
|
||||
if (
|
||||
!isset($data["requestmethod"]) || $data["requestmethod"] == "" ||
|
||||
!isset($data["url"]) || $data["url"] == "" ||
|
||||
!isset($data["payload"]) || $data["payload"] == ""
|
||||
) {
|
||||
$response = [
|
||||
"success" => false,
|
||||
"message" => translate('fill_mandatory_fields', $i18n)
|
||||
];
|
||||
die(json_encode($response));
|
||||
} else {
|
||||
$requestmethod = $data["requestmethod"];
|
||||
$url = $data["url"];
|
||||
$payload = $data["payload"];
|
||||
|
||||
// Validate URL scheme
|
||||
$parsedUrl = parse_url($url);
|
||||
if (
|
||||
!isset($parsedUrl['scheme']) ||
|
||||
!in_array(strtolower($parsedUrl['scheme']), ['http', 'https']) ||
|
||||
!filter_var($url, FILTER_VALIDATE_URL)
|
||||
) {
|
||||
die(json_encode([
|
||||
"success" => false,
|
||||
"message" => translate("error", $i18n)
|
||||
]));
|
||||
}
|
||||
|
||||
// Replace placeholders in the payload with fake subscription data
|
||||
foreach ($fakeSubscription as $key => $value) {
|
||||
$placeholder = "{{" . $key . "}}";
|
||||
$payload = str_replace($placeholder, $value, $payload);
|
||||
}
|
||||
|
||||
$customheaders = json_decode($data["customheaders"], true);
|
||||
$ignore_ssl = $data["ignore_ssl"];
|
||||
|
||||
$ch = curl_init();
|
||||
|
||||
// Set the URL and other options
|
||||
curl_setopt($ch, CURLOPT_URL, $url);
|
||||
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $requestmethod);
|
||||
curl_setopt($ch, CURLOPT_POSTFIELDS, $payload);
|
||||
if (!empty($customheaders)) {
|
||||
curl_setopt($ch, CURLOPT_HTTPHEADER, $customheaders);
|
||||
}
|
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
||||
|
||||
if ($ignore_ssl) {
|
||||
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
|
||||
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
|
||||
}
|
||||
|
||||
// Execute the request
|
||||
$response = curl_exec($ch);
|
||||
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
|
||||
|
||||
// Close the cURL session
|
||||
curl_close($ch);
|
||||
|
||||
// Check if the message was sent successfully
|
||||
if ($response === false || $httpCode >= 400) {
|
||||
die(json_encode([
|
||||
"success" => false,
|
||||
"message" => translate('notification_failed', $i18n),
|
||||
"response" => curl_error($ch)
|
||||
]));
|
||||
} else {
|
||||
die(json_encode([
|
||||
"success" => true,
|
||||
"message" => translate('notification_sent_successfuly', $i18n),
|
||||
"response" => $response
|
||||
]));
|
||||
}
|
||||
}
|
||||
"message" => translate('fill_mandatory_fields', $i18n)
|
||||
];
|
||||
die(json_encode($response));
|
||||
} else {
|
||||
die(json_encode([
|
||||
"success" => false,
|
||||
"message" => translate("invalid_request_method", $i18n)
|
||||
]));
|
||||
}
|
||||
$requestmethod = $data["requestmethod"];
|
||||
$url = $data["url"];
|
||||
$payload = $data["payload"];
|
||||
|
||||
?>
|
||||
// Validate URL scheme
|
||||
$parsedUrl = parse_url($url);
|
||||
if (
|
||||
!isset($parsedUrl['scheme']) ||
|
||||
!in_array(strtolower($parsedUrl['scheme']), ['http', 'https']) ||
|
||||
!filter_var($url, FILTER_VALIDATE_URL)
|
||||
) {
|
||||
die(json_encode([
|
||||
"success" => false,
|
||||
"message" => translate("error", $i18n)
|
||||
]));
|
||||
}
|
||||
|
||||
// Replace placeholders in the payload with fake subscription data
|
||||
foreach ($fakeSubscription as $key => $value) {
|
||||
$placeholder = "{{" . $key . "}}";
|
||||
$payload = str_replace($placeholder, $value, $payload);
|
||||
}
|
||||
|
||||
$customheaders = json_decode($data["customheaders"], true);
|
||||
$ignore_ssl = $data["ignore_ssl"];
|
||||
|
||||
$ch = curl_init();
|
||||
|
||||
// Set the URL and other options
|
||||
curl_setopt($ch, CURLOPT_URL, $url);
|
||||
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $requestmethod);
|
||||
curl_setopt($ch, CURLOPT_POSTFIELDS, $payload);
|
||||
if (!empty($customheaders)) {
|
||||
curl_setopt($ch, CURLOPT_HTTPHEADER, $customheaders);
|
||||
}
|
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
||||
|
||||
if ($ignore_ssl) {
|
||||
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
|
||||
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
|
||||
}
|
||||
|
||||
// Execute the request
|
||||
$response = curl_exec($ch);
|
||||
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
|
||||
|
||||
// Close the cURL session
|
||||
curl_close($ch);
|
||||
|
||||
// Check if the message was sent successfully
|
||||
if ($response === false || $httpCode >= 400) {
|
||||
die(json_encode([
|
||||
"success" => false,
|
||||
"message" => translate('notification_failed', $i18n),
|
||||
"response" => curl_error($ch)
|
||||
]));
|
||||
} else {
|
||||
die(json_encode([
|
||||
"success" => true,
|
||||
"message" => translate('notification_sent_successfuly', $i18n),
|
||||
"response" => $response
|
||||
]));
|
||||
}
|
||||
}
|
||||
@@ -24,6 +24,7 @@ function makeFetchCall(url, data, button) {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
"X-CSRF-Token": window.csrfToken,
|
||||
},
|
||||
body: JSON.stringify(data),
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user