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'] = '';
?> ?>

365
sql.php
View File

@@ -1,203 +1,200 @@
<?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 $pre; public $issuedata;
public $cnt_get = 0; public $pre;
public $cnt_set = 0; public $cnt_get = 0;
public function __construct() { public $cnt_set = 0;
global $__idata; public function __construct() {
require_once ('secret.php'); require_once ('secret.php');
$__idata = $_i; $this->m = $_m;
$this->issuedata = $_m['issuedata'];
$this->pre = $_m ['pre'];
$this->salt = $_m ['salt'];
if (SQL_LOG)
$this->f = fopen ( 'sql.log', 'w' );
$this->m = $_m; $this->h = new mysqli ( $_m ['host'], $_m ['user'], $_m ['pass'], $_m ['data'] );
$this->pre = $_m ['pre']; if ($this->h->connect_errno) {
$this->salt = $_m ['salt']; return false;
if (SQL_LOG)
$this->f = fopen ( 'sql.log', 'w' );
$this->h = new mysqli ( $_m ['host'], $_m ['user'], $_m ['pass'], $_m ['data'] );
if ($this->h->connect_errno) {
return false;
}
return true;
} }
public function get($que, $t = '', $p = array ()) { return true;
// echo $que; }
$this->cnt_get ++; public function get($que, $t = '', $p = array ()) {
// echo $que;
$this->cnt_get ++;
if (SQL_LOG)
fputs ( $this->f, str_replace ( array (
"\n",
" "
), array (
' ',
''
), $que ) . "\n" . print_r ( $p, true ) . "\n\n" );
$statement = $this->h->prepare ( $que );
if (is_array ( $p )) {
switch (count ( $p )) {
case 0 :
break;
case 1 :
$statement->bind_param ( $t, $p [0] );
break;
case 2 :
$statement->bind_param ( $t, $p [0], $p [1] );
break;
case 3 :
$statement->bind_param ( $t, $p [0], $p [1], $p [2] );
break;
case 4 :
$statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3] );
break;
case 5 :
$statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4] );
break;
case 6 :
$statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4], $p [5] );
break;
case 7 :
$statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4], $p [5], $p [6] );
break;
case 8 :
$statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4], $p [5], $p [6], $p [7] );
break;
case 9 :
$statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4], $p [5], $p [6], $p [7], $p [8] );
break;
case 10 :
$statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4], $p [5], $p [6], $p [7], $p [8], $p [9] );
break;
}
} else {
$statement->bind_param ( $t, $p );
}
$statement->execute ();
$ret = array ();
// print_r($statement);
if (isset ( $statement->error ) && $statement->error != '') {
if (SQL_LOG) if (SQL_LOG)
fputs ( $this->f, str_replace ( array ( fputs ( $this->f, $statement->error );
"\n", return false;
" " }
), array ( $result = $statement->get_result ();
' ', // print_r($result);
'' while ( $row = $result->fetch_assoc () ) {
), $que ) . "\n" . print_r ( $p, true ) . "\n\n" ); $ret [] = $row;
$statement = $this->h->prepare ( $que ); }
if (is_array ( $p )) { return $ret;
switch (count ( $p )) { }
case 0 : public function single($que, $t = '', $p = array ()) {
break; $data = $this->get ( $que, $t, $p );
case 1 : if ($data) {
$statement->bind_param ( $t, $p [0] ); return $data [0];
break; }
case 2 : return false;
$statement->bind_param ( $t, $p [0], $p [1] ); }
break; public function list($que, $t = '', $p = array ()) {
case 3 : $data = $this->get ( $que, $t, $p );
$statement->bind_param ( $t, $p [0], $p [1], $p [2] ); if ($data) {
break;
case 4 :
$statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3] );
break;
case 5 :
$statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4] );
break;
case 6 :
$statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4], $p [5] );
break;
case 7 :
$statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4], $p [5], $p [6] );
break;
case 8 :
$statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4], $p [5], $p [6], $p [7] );
break;
case 9 :
$statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4], $p [5], $p [6], $p [7], $p [8] );
break;
case 10 :
$statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4], $p [5], $p [6], $p [7], $p [8], $p [9] );
break;
}
} else {
$statement->bind_param ( $t, $p );
}
$statement->execute ();
$ret = array (); $ret = array ();
foreach ( $data as $d ) {
// print_r($statement); foreach ( $d as $k => $v ) {
if (isset ( $statement->error ) && $statement->error != '') { $ret [] = $v;
if (SQL_LOG) }
fputs ( $this->f, $statement->error );
return false;
}
$result = $statement->get_result ();
// print_r($result);
while ( $row = $result->fetch_assoc () ) {
$ret [] = $row;
} }
return $ret; return $ret;
} }
public function single($que, $t = '', $p = array ()) { return false;
$data = $this->get ( $que, $t, $p ); }
if ($data) { public function keyval($que, $k, $v, $t = '', $p = array ()) {
return $data [0]; $data = $this->get ( $que, $t, $p );
if ($data) {
$ret = array ();
foreach ( $data as $d ) {
$ret [$d [$k]] = $d [$v];
} }
return false; return $ret;
} }
public function list($que, $t = '', $p = array ()) { return false;
$data = $this->get ( $que, $t, $p ); }
if ($data) { public function set($que, $t = '', $p = array (), $id = false) {
$ret = array (); // echo $que;
foreach ( $data as $d ) { $this->cnt_set ++;
foreach ( $d as $k => $v ) { $statement = $this->h->prepare ( $que );
$ret [] = $v; if (SQL_LOG)
} fputs ( $this->f, str_replace ( array (
} "\n",
return $ret; " "
), array (
' ',
''
), $que ) . "\n" . print_r ( $p, true ) . "\n\n" );
if (is_array ( $p )) {
switch (count ( $p )) {
case 0 :
break;
case 1 :
$statement->bind_param ( $t, $p [0] );
break;
case 2 :
$statement->bind_param ( $t, $p [0], $p [1] );
break;
case 3 :
$statement->bind_param ( $t, $p [0], $p [1], $p [2] );
break;
case 4 :
$statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3] );
break;
case 5 :
$statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4] );
break;
case 6 :
$statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4], $p [5] );
break;
case 7 :
$statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4], $p [5], $p [6] );
break;
case 8 :
$statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4], $p [5], $p [6], $p [7] );
break;
case 9 :
$statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4], $p [5], $p [6], $p [7], $p [8] );
break;
case 10 :
$statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4], $p [5], $p [6], $p [7], $p [8], $p [9] );
break;
case 11 :
$statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4], $p [5], $p [6], $p [7], $p [8], $p [9], $p [10] );
break;
case 12 :
$statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4], $p [5], $p [6], $p [7], $p [8], $p [9], $p [10], $p [11] );
break;
} }
return false; } else {
$statement->bind_param ( $t, $p );
} }
public function keyval($que, $k, $v, $t = '', $p = array ()) { $statement->execute ();
$data = $this->get ( $que, $t, $p ); if (isset ( $statement->error ) && $statement->error != '') {
if ($data) {
$ret = array ();
foreach ( $data as $d ) {
$ret [$d [$k]] = $d [$v];
}
return $ret;
}
return false;
}
public function set($que, $t = '', $p = array (), $id = false) {
// echo $que;
$this->cnt_set ++;
$statement = $this->h->prepare ( $que );
if (SQL_LOG) if (SQL_LOG)
fputs ( $this->f, str_replace ( array ( fputs ( $this->f, $statement->error );
"\n", return false;
" " }
), array (
' ',
''
), $que ) . "\n" . print_r ( $p, true ) . "\n\n" );
if (is_array ( $p )) {
switch (count ( $p )) {
case 0 :
break;
case 1 :
$statement->bind_param ( $t, $p [0] );
break;
case 2 :
$statement->bind_param ( $t, $p [0], $p [1] );
break;
case 3 :
$statement->bind_param ( $t, $p [0], $p [1], $p [2] );
break;
case 4 :
$statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3] );
break;
case 5 :
$statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4] );
break;
case 6 :
$statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4], $p [5] );
break;
case 7 :
$statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4], $p [5], $p [6] );
break;
case 8 :
$statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4], $p [5], $p [6], $p [7] );
break;
case 9 :
$statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4], $p [5], $p [6], $p [7], $p [8] );
break;
case 10 :
$statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4], $p [5], $p [6], $p [7], $p [8], $p [9] );
break;
case 11 :
$statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4], $p [5], $p [6], $p [7], $p [8], $p [9], $p [10] );
break;
case 12 :
$statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4], $p [5], $p [6], $p [7], $p [8], $p [9], $p [10], $p [11] );
break;
}
} else {
$statement->bind_param ( $t, $p );
}
$statement->execute ();
if (isset ( $statement->error ) && $statement->error != '') {
if (SQL_LOG)
fputs ( $this->f, $statement->error );
return false;
}
if ($id) { if ($id) {
return $statement->insert_id; return $statement->insert_id;
} else { } else {
return $statement->affected_rows; return $statement->affected_rows;
}
}
function __destruct() {
if (SQL_LOG)
$this->h->close ();
// echo 'DESTROY';
} }
}
function __destruct() {
if (SQL_LOG)
$this->h->close ();
// echo 'DESTROY';
}
} }
?> ?>

View File

@@ -1,82 +1,50 @@
<?php <?php
function sendToTroy($data) { function sendToTroy($data) {
$url = 'https://troy-grunt.de/api.php'; $url = 'https://troy-grunt.de/api.php';
$options = array ( $options = array (
'http' => array ( 'http' => array (
'method' => 'POST', 'method' => 'POST',
'header' => array ( 'header' => array (
'Content-Type: application/json' 'Content-Type: application/json'
), ),
'content' => json_encode ( $data ) 'content' => json_encode ( $data )
) )
); );
$context = stream_context_create ( $options ); $context = stream_context_create ( $options );
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'],
"secret" => $sql->issuedata['secret'],
"ident" => $ident,
"typ" => $typ,
"text" => $text,
"data" => $data,
"reaction" => $reaction
];
// Basisdaten für den POST-Request // Entferne null-Werte aus dem Array
$postData = [ $payload = array_filter($payload, function ($value) {
'host' => $__idata['host'], return $value !== null;
'secret' => $__idata['secret'], });
'typ' => $service,
'text' => $text,
'data' => json_encode($data) // Falls 'data' ein Array ist, wird es als JSON gesendet
];
// cURL initialisieren $options = [
$ch = curl_init($url); "http" => [
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); "header" => "Content-Type: application/json\r\n",
curl_setopt($ch, CURLOPT_POST, true); "method" => "POST",
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/x-www-form-urlencoded']); "content" => json_encode($payload),
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($postData)); "ignore_errors" => true
]
];
// Anfrage senden & Antwort erhalten $context = stream_context_create($options);
$response = curl_exec($ch); $result = file_get_contents($url, false, $context);
curl_close($ch);
return $response; return json_decode($result, true);
} }
//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 = [
'http' => [
'header' => "Content-Type: application/json\r\n",
'method' => 'POST',
'content' => json_encode($data)
]
];
$context = stream_context_create($options);
$response = file_get_contents($apiUrl, false, $context);
if ($response === FALSE) {
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
?> ?>