2 Commits

Author SHA1 Message Date
61b52d8427 troys issues funktion 2025-02-15 21:02:11 +01:00
b475672eac erster versuch 2025-02-15 20:32:58 +01:00
3 changed files with 225 additions and 261 deletions

View File

@@ -8,11 +8,10 @@ $_m['data'] = '';
$_m['pre'] = ''; $_m['pre'] = '';
$_m['salt'] = ''; $_m['salt'] = '';
$_m['issuedata'] = ['domain'=>'','secret'=>''];
$_sendermail = 'noreply@.de'; $_sendermail = 'noreply@.de';
$_smtp['srv'] = 'mail.seemsleg.it'; $_smtp['srv'] = 'mail.seemsleg.it';
$_smtp['user'] = 'noreply@.de'; $_smtp['user'] = 'noreply@.de';
$_smtp['pw'] = ''; $_smtp['pw'] = '';
$_i['host'] = '';
$_i['secret'] = '';
?> ?>

View File

@@ -1,21 +1,18 @@
<?php <?php
$__idata = [];
class SQL { class SQL {
private $h; private $h;
private $res = false; private $res = false;
private $m; private $m;
public $salt; public $salt;
public $issuedata;
public $pre; public $pre;
public $cnt_get = 0; public $cnt_get = 0;
public $cnt_set = 0; public $cnt_set = 0;
public function __construct() { public function __construct() {
global $__idata;
require_once ('secret.php'); require_once ('secret.php');
$__idata = $_i;
$this->m = $_m; $this->m = $_m;
$this->issuedata = $_m['issuedata'];
$this->pre = $_m ['pre']; $this->pre = $_m ['pre'];
$this->salt = $_m ['salt']; $this->salt = $_m ['salt'];
if (SQL_LOG) if (SQL_LOG)

View File

@@ -14,69 +14,37 @@
return file_get_contents ( $url, false, $context ); return file_get_contents ( $url, false, $context );
} }
function sendIssue($service, $text, $data = []) { function troysIssue($ident, $typ, $text = null, $data = [], $reaction = []) {
global $__idata; global $sql;
$url = "https://issues.troy-grunt.de/api/input";
$url = 'https://issues.troy-grunt.de/api'; $payload = [
"domain" => $sql->issuedata['domain'],
// Basisdaten für den POST-Request "secret" => $sql->issuedata['secret'],
$postData = [ "ident" => $ident,
'host' => $__idata['host'], "typ" => $typ,
'secret' => $__idata['secret'], "text" => $text,
'typ' => $service, "data" => $data,
'text' => $text, "reaction" => $reaction
'data' => json_encode($data) // Falls 'data' ein Array ist, wird es als JSON gesendet
]; ];
// cURL initialisieren // Entferne null-Werte aus dem Array
$ch = curl_init($url); $payload = array_filter($payload, function ($value) {
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); return $value !== null;
curl_setopt($ch, CURLOPT_POST, true); });
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/x-www-form-urlencoded']);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($postData));
// Anfrage senden & Antwort erhalten
$response = curl_exec($ch);
curl_close($ch);
return $response;
}
//TODO
function sendSimpleIssue($text,$url){
$apiUrl = 'https://issues.troy-grunt.de/api/simple';
// Die notwendigen Daten
$data = [
'domain' => 'example.com', // Ersetze mit deiner registrierten Domain
'secret' => 'geheimes-passwort', // Ersetze mit deinem Secret
'text' => $text,
'url' => $url
];
$options = [ $options = [
'http' => [ "http" => [
'header' => "Content-Type: application/json\r\n", "header" => "Content-Type: application/json\r\n",
'method' => 'POST', "method" => "POST",
'content' => json_encode($data) "content" => json_encode($payload),
"ignore_errors" => true
] ]
]; ];
$context = stream_context_create($options); $context = stream_context_create($options);
$response = file_get_contents($apiUrl, false, $context); $result = file_get_contents($url, false, $context);
if ($response === FALSE) { return json_decode($result, true);
die('Fehler bei der API-Anfrage');
} }
// Antwort dekodieren
$result = json_decode($response, true);
if (isset($result['success']) && $result['success']) {
echo "Issue erfolgreich erstellt. ID: " . $result['issue_id'];
} else {
echo "Fehler: " . ($result['error'] ?? 'Unbekannter Fehler');
}
}//TODO nutzen
?> ?>