Compare commits
35 Commits
9c034cd935
...
issue-upgr
| Author | SHA1 | Date | |
|---|---|---|---|
| 71bd84dc03 | |||
|
|
6ecf935961 | ||
|
|
560ef6589c | ||
|
|
e4a21f4d7c | ||
|
|
c2e488c8e7 | ||
|
|
59b5ffc82f | ||
|
|
2913f3f032 | ||
| 67a39afe0f | |||
|
|
49ad1f2438 | ||
|
|
7a596597da | ||
|
|
0b7d47e816 | ||
|
|
6e7fd28762 | ||
|
|
756827d92b | ||
|
|
3f2c5c1e73 | ||
|
|
79e27ee95a | ||
|
|
af3d7d33a1 | ||
|
|
4636e50b25 | ||
|
|
88f87e15b4 | ||
|
|
e44c10c5c2 | ||
|
|
48bd8e66f2 | ||
|
|
2e5b29bd9d | ||
|
|
b689d73065 | ||
|
|
ff40210fb6 | ||
|
|
209bb0b00c | ||
|
|
6bec287363 | ||
|
|
b035d8c2d9 | ||
|
|
17ced6d294 | ||
|
|
4b54e14522 | ||
|
|
f1b4aaf23a | ||
|
|
e6fd1de954 | ||
|
|
c631b51ba2 | ||
|
|
3e083b4eb9 | ||
|
|
0c41265fb6 | ||
|
|
31a0a02366 | ||
|
|
233c9f5aed |
@@ -6,5 +6,6 @@ include_once ('string.php');
|
|||||||
include_once ('numbers.php');
|
include_once ('numbers.php');
|
||||||
include_once ('mail.php');
|
include_once ('mail.php');
|
||||||
include_once ('debug.php');
|
include_once ('debug.php');
|
||||||
|
include_once ('troy-api.php');
|
||||||
// include_once ('markdown.php');
|
// include_once ('markdown.php');
|
||||||
?>
|
?>
|
||||||
@@ -1,21 +1,43 @@
|
|||||||
<?php
|
<?php
|
||||||
$_ips_crawler = array (
|
$_ips_crawler = array (
|
||||||
|
'34.79.234.76', // google
|
||||||
'40.77.167.', // bing bot
|
'40.77.167.', // bing bot
|
||||||
|
'54.36.148.', // ahrefbot
|
||||||
|
'54.36.149.', // ahrefbot
|
||||||
'66.249.',
|
'66.249.',
|
||||||
'62.138.',
|
'62.138.',
|
||||||
'62.210.149.60',
|
'62.210.149.60',
|
||||||
|
'65.21.180.26', // seekport
|
||||||
|
'81.209.177.145', // website-datenbank.de
|
||||||
|
'85.25.177.', // abuse
|
||||||
|
'85.25.210.', // hosteurope abuse
|
||||||
'92.118.160.37', // netsystem research bot
|
'92.118.160.37', // netsystem research bot
|
||||||
'104.155.85.', // google
|
'104.155.85.', // google
|
||||||
'114.119.1', // petalbot
|
'114.119.1', // petalbot
|
||||||
|
'144.76.15.153', // mj12bot
|
||||||
|
'148.251.120.201', // mj12bot
|
||||||
|
'157.55.39.', // microsoft???
|
||||||
|
'172.217.', //google
|
||||||
|
'176.125.230.38', //sql inj
|
||||||
'185.191.171.', // semrush bot
|
'185.191.171.', // semrush bot
|
||||||
'207.46.13.', // bing bot
|
|
||||||
'54.36.148.', // ahrefbot
|
|
||||||
'54.36.149.', // ahrefbot
|
|
||||||
'216.244.66.196', // opensiteexplorer
|
|
||||||
'65.21.180.26', // seekport
|
|
||||||
'81.209.177.145', // website-datenbank.de
|
|
||||||
'2a01:4f8:190:4244::2', // mj12bot
|
|
||||||
'192.99.5.225', // ...
|
'192.99.5.225', // ...
|
||||||
'157.55.39.' // microsoft???
|
'205.185.115.87', //sex spam
|
||||||
|
'207.46.13.', // bing bot
|
||||||
|
'216.58.', //google
|
||||||
|
'216.244.66.196', // opensiteexplorer
|
||||||
|
'2a01:4f8:190:4244::2', // mj12bot
|
||||||
|
'2a01:4f8:162:43c5::2', // mj12bot
|
||||||
);
|
);
|
||||||
|
function checkHuman() {
|
||||||
|
global $_ips_crawler;
|
||||||
|
if (stripos ( $_SERVER ['HTTP_USER_AGENT'], 'bot' ) !== false || stripos ( $_SERVER ['HTTP_USER_AGENT'], 'crawler' ) !== false) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
foreach ( $_ips_crawler as $np ) {
|
||||||
|
if (startsWith ( $_SERVER ['REMOTE_ADDR'], $np )) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
?>
|
?>
|
||||||
67
mail.php
67
mail.php
@@ -1,9 +1,14 @@
|
|||||||
<?php
|
<?php
|
||||||
function send_mail($an, $betreff, $text, $ok = '', $error = '') {
|
function send_mail($an, $betreff, $text, $ok = '', $error = '') {
|
||||||
include 'secret.php';
|
global $absender;
|
||||||
$sender = 'noreply@troy-grunt.de';
|
$sender = 'noreply@troy-grunt.de';
|
||||||
if (isset ( $_sendermail )) {
|
if(isset($absender) && $absender) {
|
||||||
$sender = $_sendermail;
|
$sender = $absender;
|
||||||
|
}else{
|
||||||
|
include 'secret.php';
|
||||||
|
if (isset ( $_sendermail )) {
|
||||||
|
$sender = $_sendermail;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
$header = 'From: ' . $sender . "\r\n";
|
$header = 'From: ' . $sender . "\r\n";
|
||||||
$header .= 'To: ' . $an . "\r\n";
|
$header .= 'To: ' . $an . "\r\n";
|
||||||
@@ -18,3 +23,59 @@ function send_mail($an, $betreff, $text, $ok = '', $error = '') {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function send_html_mail($an, $betreff, $text, $ok = '', $error = '') {
|
||||||
|
global $absender;
|
||||||
|
$sender = 'noreply@troy-grunt.de';
|
||||||
|
if(isset($absender) && $absender) {
|
||||||
|
$sender = $absender;
|
||||||
|
}else{
|
||||||
|
include 'secret.php';
|
||||||
|
if (isset ( $_sendermail )) {
|
||||||
|
$sender = $_sendermail;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$boundary = md5($an.$betreff.$text.time());
|
||||||
|
|
||||||
|
$header = 'From: ' . $sender . "\n";
|
||||||
|
$header .= 'To: ' . $an . "\n";
|
||||||
|
$header .= 'Content-Type:multipart/alternative;boundary='.$boundary . "\n";
|
||||||
|
$header .= 'X-Mailer: PHP/' . phpversion ();
|
||||||
|
$content = "This is multipart message using MIME\n";
|
||||||
|
$content .= "--" . $boundary . "\n";
|
||||||
|
$content .= "Content-type: text/plain;charset=utf-8\n";
|
||||||
|
$content .= 'Content-Transfer-Encoding: 8bit' . "\n\n";
|
||||||
|
$content .= strip_tags($text)."\n\n";
|
||||||
|
$content .= "--" . $boundary . "\n";
|
||||||
|
$content .= "Content-type: text/html;charset=utf-8\n";
|
||||||
|
$content .= "Content-Transfer-Encoding: 8bit". "\n\n";
|
||||||
|
$content .= '<html><body>'.$text.'</body></html>'."\n\n";
|
||||||
|
|
||||||
|
if (mail ( $an, $betreff, $content, $header ) === true) {
|
||||||
|
echo $ok;
|
||||||
|
} else {
|
||||||
|
echo $error;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function send_php_mail($an, $betreff, $text, $ok = '', $error = '') {
|
||||||
|
global $_sendermail;
|
||||||
|
$sender = 'noreply@troy-grunt.de';
|
||||||
|
if (isset ( $_sendermail )) {
|
||||||
|
$sender = $_sendermail;
|
||||||
|
}
|
||||||
|
include 'php-mailer/PHPMailer.php';
|
||||||
|
$mail = new PHPMailer();
|
||||||
|
|
||||||
|
$mail->setFrom($sender);
|
||||||
|
$mail->addAddress($an);
|
||||||
|
$mail->Subject = $betreff;
|
||||||
|
$mail->msgHTML($text, __DIR__);
|
||||||
|
$mail->AltBody = strip_tags($text);
|
||||||
|
|
||||||
|
if (!$mail->send()) {
|
||||||
|
echo 'Mailer Error: ' . $mail->ErrorInfo;
|
||||||
|
} else {
|
||||||
|
echo 'Message sent!';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
?>
|
||||||
15
og.php
Normal file
15
og.php
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
<?php
|
||||||
|
function scanOG($url) {
|
||||||
|
$og = array();
|
||||||
|
$html = file_get_contents($url);
|
||||||
|
|
||||||
|
$re = '/<meta (name|property)=("|\')(.*?)("|\').*?content=("|\')(.*?)("|\')/m';
|
||||||
|
preg_match_all($re, $html, $matches, PREG_SET_ORDER, 0);
|
||||||
|
|
||||||
|
foreach($matches as $m) {
|
||||||
|
$og[$m[3]] = $m[6];
|
||||||
|
}
|
||||||
|
//print_r($og);
|
||||||
|
return $og;
|
||||||
|
}
|
||||||
|
?>
|
||||||
5058
php-mailer/PHPMailer.php
Normal file
5058
php-mailer/PHPMailer.php
Normal file
File diff suppressed because it is too large
Load Diff
1456
php-mailer/SMTP.php
Normal file
1456
php-mailer/SMTP.php
Normal file
File diff suppressed because it is too large
Load Diff
@@ -5,8 +5,14 @@ $_m['host'] = 'localhost';
|
|||||||
$_m['user'] = '';
|
$_m['user'] = '';
|
||||||
$_m['pass'] = '';
|
$_m['pass'] = '';
|
||||||
$_m['data'] = '';
|
$_m['data'] = '';
|
||||||
$_m['pre'] = 'efcms2_';
|
$_m['pre'] = '';
|
||||||
$_m['salt'] = '';
|
$_m['salt'] = '';
|
||||||
|
|
||||||
$_sendermail = 'noreply@troy-grunt.de';
|
$_sendermail = 'noreply@.de';
|
||||||
|
$_smtp['srv'] = 'mail.seemsleg.it';
|
||||||
|
$_smtp['user'] = 'noreply@.de';
|
||||||
|
$_smtp['pw'] = '';
|
||||||
|
|
||||||
|
$_i['host'] = '';
|
||||||
|
$_i['secret'] = '';
|
||||||
?>
|
?>
|
||||||
369
sql.php
369
sql.php
@@ -1,192 +1,203 @@
|
|||||||
<?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 $pre;
|
||||||
public $cnt_get = 0;
|
public $cnt_get = 0;
|
||||||
public $cnt_set = 0;
|
public $cnt_set = 0;
|
||||||
public function __construct() {
|
public function __construct() {
|
||||||
require_once ('secret.php');
|
global $__idata;
|
||||||
|
require_once ('secret.php');
|
||||||
|
|
||||||
$this->m = $_m;
|
$__idata = $_i;
|
||||||
$this->pre = $_m ['pre'];
|
|
||||||
$this->salt = $_m ['salt'];
|
|
||||||
if (SQL_LOG)
|
|
||||||
$this->f = fopen ( 'sql.log', 'w' );
|
|
||||||
|
|
||||||
$this->h = new mysqli ( $_m ['host'], $_m ['user'], $_m ['pass'], $_m ['data'] );
|
$this->m = $_m;
|
||||||
if ($this->h->connect_errno) {
|
$this->pre = $_m ['pre'];
|
||||||
return false;
|
$this->salt = $_m ['salt'];
|
||||||
}
|
if (SQL_LOG)
|
||||||
return true;
|
$this->f = fopen ( 'sql.log', 'w' );
|
||||||
}
|
|
||||||
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 ();
|
$this->h = new mysqli ( $_m ['host'], $_m ['user'], $_m ['pass'], $_m ['data'] );
|
||||||
|
if ($this->h->connect_errno) {
|
||||||
// print_r($statement);
|
return false;
|
||||||
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;
|
|
||||||
}
|
}
|
||||||
}
|
return true;
|
||||||
return $ret;
|
|
||||||
}
|
}
|
||||||
return false;
|
public function get($que, $t = '', $p = array ()) {
|
||||||
}
|
// echo $que;
|
||||||
public function keyval($que, $k, $v, $t = '', $p = array ()) {
|
$this->cnt_get ++;
|
||||||
$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;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
$statement->bind_param ( $t, $p );
|
|
||||||
}
|
|
||||||
$statement->execute ();
|
|
||||||
if (isset ( $statement->error ) && $statement->error != '') {
|
|
||||||
if (SQL_LOG)
|
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;
|
return false;
|
||||||
}
|
}
|
||||||
|
public function list($que, $t = '', $p = array ()) {
|
||||||
if ($id) {
|
$data = $this->get ( $que, $t, $p );
|
||||||
return $statement->insert_id;
|
if ($data) {
|
||||||
} else {
|
$ret = array ();
|
||||||
return $statement->affected_rows;
|
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';
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
|||||||
@@ -7,7 +7,8 @@ function umlaute($str) {
|
|||||||
'ä',
|
'ä',
|
||||||
'ö',
|
'ö',
|
||||||
'ü',
|
'ü',
|
||||||
'ß'
|
'ß',
|
||||||
|
'&'
|
||||||
), array (
|
), array (
|
||||||
'Ä',
|
'Ä',
|
||||||
'Ö',
|
'Ö',
|
||||||
@@ -15,7 +16,8 @@ function umlaute($str) {
|
|||||||
'ä',
|
'ä',
|
||||||
'ö',
|
'ö',
|
||||||
'ü',
|
'ü',
|
||||||
'ß'
|
'ß',
|
||||||
|
'&'
|
||||||
), $str );
|
), $str );
|
||||||
}
|
}
|
||||||
function chk($str) {
|
function chk($str) {
|
||||||
@@ -37,7 +39,7 @@ function random($name_laenge) {
|
|||||||
@mt_srand ( ( double ) microtime () * 1000000 );
|
@mt_srand ( ( double ) microtime () * 1000000 );
|
||||||
for($i = 0; $i < $name_laenge; $i ++) {
|
for($i = 0; $i < $name_laenge; $i ++) {
|
||||||
$r = mt_rand ( 0, strlen ( $zeichen ) - 1 );
|
$r = mt_rand ( 0, strlen ( $zeichen ) - 1 );
|
||||||
$name_neu .= $zeichen {$r};
|
$name_neu .= $zeichen[$r];
|
||||||
}
|
}
|
||||||
return $name_neu;
|
return $name_neu;
|
||||||
}
|
}
|
||||||
|
|||||||
82
troy-api.php
Normal file
82
troy-api.php
Normal file
@@ -0,0 +1,82 @@
|
|||||||
|
<?php
|
||||||
|
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
|
||||||
|
?>
|
||||||
Reference in New Issue
Block a user