This repository has been archived on 2023-08-24. You can view files and clone it, but cannot push or open issues or pull requests.
athena.fb-infra.uk/issue.php

118 lines
3.3 KiB
PHP

<!DOCTYPE html>
<html>
<head>
<title>Athena</title>
<meta charset="UTF-8"/>
<meta name="description" content="Athena - Quick links to live train departures for traincrew."/>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="application-name" content="Athena">
<meta name="author" content="Frederick Boniface">
<link rel="stylesheet" type="text/css" href="/styles/style.css"/>
<link rel="icon" type="image/png" href="/assets/icons/favicon.ico"/>
</head>
<body>
<?php
// Define form variables and set to empty values (or to the UA)
$subject = $detail = "";
$ua_str = $_SERVER["HTTP_USER_AGENT"];
// Define response variable & data variable as blank before POSTing
$giteaResponse = "";
$issueData = "";
// If the page is loading after submission then run this:
if ($_SERVER["REQUEST_METHOD"] == "POST" ) {
$subject = validate($_POST["subject"]);
$detail = validate($_POST["detail"]);
// Get API Key for git.fjla.uk
require '/srv/php-keys/athena/gitea.php';
// Set httpHeaders
$httpHeaders = array(
"accept: application/json",
$giteaKey,
"Content-Type: application/json"
);
// Prepare $detail to POST
$body = "User Agent: " . $ua_str . "\n Server PHP Version: " . PHP_VERSION . "\n\n\n" . $detail;
// Prepare the request
$rawData = array(
'body' => $body,
'title' => $subject
);
$issueData = json_encode($rawData);
// Prepare CURL
$curlConnection = curl_init('https://git.fjla.uk/api/v1/repos/fred.boniface/athena.fb-infra.uk/issues');
curl_setopt($curlConnection, CURLOPT_POSTFIELDS, $issueData);
curl_setopt($curlConnection, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curlConnection, CURLOPT_HTTPHEADER, $httpHeaders);
// Get response and exit CURL
$giteaResponse = curl_exec($curlConnection);
curl_close($curlConnection);
}
function validate($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
?>
<!-- Main Content Begins -->
<img class="titleimg" src="/assets/title/title.webp"></img>
<h1>Please help us fix your issue</h1>
<p>Give as much detail as possible so we can try to fix the problem.</p>
<form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" method="post">
Subject:
<br>
<input type="text" name="subject" value="<?php echo $subject;?>">
<br>
<br>
Details:
<br>
<textarea name="detail" rows="5" cols="40"><?php echo $detail;?></textarea>
<br>
On submission of this form, your browsers User Agent string will be
collected alongside the information you provide above and will be
posted to git.fjla.uk/fred.boniface/athena.fb-infra.uk/issues.
<br>
<br>
Your user agent is:
<br>
<?php echo $ua_str; ?>
<br>
<br>
<input type="submit">
</form>
<p>You have submitted:</p>
<p>REQUEST DATA: <?php echo $issueData;?>
<br>
<br>
JSON REPLY: <?php echo $giteaResponse;?>
</p>
<!-- Footer -->
<footer>
<?php include "./page-blocks/footer.php" ?>
</footer>
</body>
</html>