diff --git a/secret.php.example b/secret.php.example index 1077fb5..f420144 100644 --- a/secret.php.example +++ b/secret.php.example @@ -12,4 +12,7 @@ $_sendermail = 'noreply@.de'; $_smtp['srv'] = 'mail.seemsleg.it'; $_smtp['user'] = 'noreply@.de'; $_smtp['pw'] = ''; + +$_i['host'] = ''; +$_i['secret'] = ''; ?> \ No newline at end of file diff --git a/sql.php b/sql.php index e0ae57e..7adbec8 100644 --- a/sql.php +++ b/sql.php @@ -1,198 +1,203 @@ m = $_m; - $this->pre = $_m ['pre']; - $this->salt = $_m ['salt']; - if (SQL_LOG) - $this->f = fopen ( 'sql.log', 'w' ); + $__idata = $_i; - $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 ()) { - // 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 (); + $this->m = $_m; + $this->pre = $_m ['pre']; + $this->salt = $_m ['salt']; + if (SQL_LOG) + $this->f = fopen ( 'sql.log', 'w' ); - $ret = array (); - - // print_r($statement); - if (isset ( $statement->error ) && $statement->error != '') { - 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; - } - public function single($que, $t = '', $p = array ()) { - $data = $this->get ( $que, $t, $p ); - if ($data) { - return $data [0]; - } - return false; - } - public function list($que, $t = '', $p = array ()) { - $data = $this->get ( $que, $t, $p ); - if ($data) { - $ret = array (); - foreach ( $data as $d ) { - foreach ( $d as $k => $v ) { - $ret [] = $v; + $this->h = new mysqli ( $_m ['host'], $_m ['user'], $_m ['pass'], $_m ['data'] ); + if ($this->h->connect_errno) { + return false; } - } - return $ret; + return true; } - return false; - } - public function keyval($que, $k, $v, $t = '', $p = array ()) { - $data = $this->get ( $que, $t, $p ); - 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) - fputs ( $this->f, str_replace ( array ( - "\n", - " " - ), 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 != '') { + public function get($que, $t = '', $p = array ()) { + // echo $que; + $this->cnt_get ++; if (SQL_LOG) - fputs ( $this->f, $statement->error ); + 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) + fputs ( $this->f, $statement->error ); + return false; + } + $result = $statement->get_result (); + // print_r($result); + while ( $row = $result->fetch_assoc () ) { + $ret [] = $row; + } + return $ret; + } + public function single($que, $t = '', $p = array ()) { + $data = $this->get ( $que, $t, $p ); + if ($data) { + return $data [0]; + } return false; } - - if ($id) { - return $statement->insert_id; - } else { - return $statement->affected_rows; + public function list($que, $t = '', $p = array ()) { + $data = $this->get ( $que, $t, $p ); + if ($data) { + $ret = array (); + foreach ( $data as $d ) { + foreach ( $d as $k => $v ) { + $ret [] = $v; + } + } + return $ret; + } + return false; + } + public function keyval($que, $k, $v, $t = '', $p = array ()) { + $data = $this->get ( $que, $t, $p ); + 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) + fputs ( $this->f, str_replace ( array ( + "\n", + " " + ), 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) { + return $statement->insert_id; + } else { + return $statement->affected_rows; + } + } + function __destruct() { + if (SQL_LOG) + $this->h->close (); + // echo 'DESTROY'; } - } - function __destruct() { - if (SQL_LOG) - $this->h->close (); - // echo 'DESTROY'; - } } ?> diff --git a/troy-api.php b/troy-api.php index 56ca06b..14d6e50 100644 --- a/troy-api.php +++ b/troy-api.php @@ -1,16 +1,82 @@ array ( - 'method' => 'POST', - 'header' => array ( - 'Content-Type: application/json' - ), - 'content' => json_encode ( $data ) - ) - ); - $context = stream_context_create ( $options ); - return file_get_contents ( $url, false, $context ); -} + function sendToTroy($data) { + $url = 'https://troy-grunt.de/api.php'; + $options = array ( + 'http' => array ( + 'method' => 'POST', + 'header' => array ( + 'Content-Type: application/json' + ), + 'content' => json_encode ( $data ) + ) + ); + $context = stream_context_create ( $options ); + return file_get_contents ( $url, false, $context ); + } + + function sendIssue($service, $text, $data = []) { + global $__idata; + + $url = 'https://issues.troy-grunt.de/api'; + + // Basisdaten für den POST-Request + $postData = [ + 'host' => $__idata['host'], + 'secret' => $__idata['secret'], + 'typ' => $service, + 'text' => $text, + 'data' => json_encode($data) // Falls 'data' ein Array ist, wird es als JSON gesendet + ]; + + // cURL initialisieren + $ch = curl_init($url); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); + 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 = [ + '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 ?> \ No newline at end of file