60 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
electronicfreak
560ef6589c add troy api 2024-04-04 19:53:41 +02:00
troy
e4a21f4d7c mail absender 2022-12-18 19:29:34 +01:00
troy
c2e488c8e7 added functional php mail 2022-12-18 19:04:18 +01:00
troy
59b5ffc82f mail return werte gesetzt 2022-11-12 11:25:42 +01:00
troy
2913f3f032 mail boundary auskommentiert 2022-11-12 11:22:56 +01:00
67a39afe0f Merge pull request 'feature/better-email' (#2) from feature/better-email into master
Reviewed-on: #2
2022-11-12 11:13:39 +01:00
troy
49ad1f2438 phpMailer eingebaut
also minimal
2022-11-12 11:10:59 +01:00
troy
7a596597da ungetestet, mail funktion verbessert 2022-11-11 14:41:11 +01:00
troy
0b7d47e816 better html emails 2022-11-11 13:20:20 +01:00
troy
6e7fd28762 sqal set mehr params 2022-10-28 17:15:53 +02:00
Sebastian Titz
756827d92b added google official 2022-09-23 07:21:14 +02:00
titz lapi
3f2c5c1e73 ip ban 2022-08-16 21:35:12 +02:00
troy
79e27ee95a no tabs 2022-07-22 23:30:10 +02:00
Sebastian Titz
af3d7d33a1 spam ip 2022-05-17 11:25:02 +02:00
Sebastian Titz
4636e50b25 und und oder vertauscht 2022-05-05 10:30:21 +02:00
troy
88f87e15b4 openmgraph und hotfix in string 2022-03-20 12:07:25 +01:00
Sebastian Titz
e44c10c5c2 auch keine crawler agents 2022-01-31 11:29:51 +01:00
troy
48bd8e66f2 Merge branch 'master' of https://git.seemsleg.it/pub/php-func-lib 2022-01-23 00:51:19 +01:00
troy
2e5b29bd9d so nun aber richtig 2022-01-23 00:51:10 +01:00
troy
b689d73065 warning gefixt wegen content type 2022-01-23 00:11:21 +01:00
troy
ff40210fb6 checkHuman 2022-01-22 11:52:53 +01:00
troy
209bb0b00c domain tipser 2022-01-09 15:15:20 +01:00
troy
6bec287363 die troy api 2022-01-09 13:27:20 +01:00
troy
b035d8c2d9 mj12bot 2021-11-27 09:56:12 +01:00
troy
17ced6d294 ip google und mj12 2021-11-27 09:51:13 +01:00
Sebastian Titz
4b54e14522 ln 2021-11-24 15:09:10 +01:00
Sebastian Titz
f1b4aaf23a Merge branch 'master' of https://git.seemsleg.it/pub/php-func-lib 2021-11-24 13:02:08 +01:00
Sebastian Titz
e6fd1de954 lrln 2021-11-24 13:01:24 +01:00
troy
c631b51ba2 hosteurope ips 2021-11-21 09:17:33 +01:00
Sebastian Titz
3e083b4eb9 ips 2021-11-16 10:14:06 +01:00
Sebastian Titz
0c41265fb6 bot ips 2021-11-05 07:44:33 +01:00
Sebastian Titz
31a0a02366 Merge branch 'master' of https://git.seemsleg.it/pub/php-func-lib 2021-11-03 07:22:50 +01:00
Sebastian Titz
233c9f5aed & in umlaute 2021-11-03 07:22:04 +01:00
troy
9c034cd935 versuch2 mit single param ohne array umbau 2021-10-15 12:48:41 +02:00
troy
d32ad04722 sql single hotfix 2021-10-15 12:21:19 +02:00
troy
32c65f7da1 sql mit einem param muss nicht mehr mit array geschrieben werden 2021-10-10 16:28:12 +02:00
troy
f736789f5b . 2021-10-09 13:44:04 +02:00
troy
973a0a1d01 microsoft ip 2021-09-21 15:14:23 +02:00
Sebastian Titz
de82116482 crawlerips 2021-08-26 15:21:59 +02:00
Sebastian Titz
5c7e2f6a8f abfangen wenn mailtext arrayst 2021-08-26 15:12:49 +02:00
Sebastian Titz
6920c10d2d remove markdown 2021-08-26 09:18:43 +02:00
troy
c477afabb0 Merge branch 'master' of https://git.seemsleg.it/pub/php-func-lib
Conflicts:
	ips/crawler.php
2021-08-17 18:33:05 +02:00
troy
ea745b5dbb ip 2021-08-17 18:31:57 +02:00
1184d1415a Bing bot 2021-08-14 00:10:37 +02:00
2030fbce57 Mj12 2021-08-14 00:07:54 +02:00
troy
5f3879e48c . 2021-08-08 15:43:04 +02:00
troy
051747f114 linkify bugfix 2021-08-07 09:10:26 +02:00
Sebastian Titz
0a96927e50 seekport 2021-08-03 13:30:05 +02:00
Sebastian Titz
57f254ea39 google bot netz 2021-08-03 07:24:36 +02:00
Sebastian Titz
05903ce02d ips crawler 2021-07-28 08:34:37 +02:00
Sebastian Titz
9a024c5c88 Merge branch 'master' of https://git.seemsleg.it/pub/php-func-lib into
HEAD

Conflicts:
	ips/crawler.php
2021-07-26 15:23:00 +02:00
Sebastian Titz
f9a0e41889 bing bot 2021-07-26 12:33:58 +02:00
troy
e17e570114 crawler ips 2021-07-24 09:50:22 +02:00
50b3d192ba neue bot ips 2021-07-19 14:22:19 +02:00
Sebastian Titz
b2e6260dfb in string fkt 2021-07-15 08:56:38 +02:00
admin
ed87d341ab bot ips zentral sammeln 2021-07-14 20:09:48 +02:00
admin
df5d1447af Merge branch 'master' of https://git.seemsleg.it/pub/php-func-lib
Conflicts:
	string.php
2021-07-13 21:38:08 +02:00
admin
2352fd5396 linkify tool um urls in text in echte links zu verwandeln 2021-07-13 21:37:14 +02:00
11 changed files with 7059 additions and 356 deletions

1
.gitignore vendored
View File

@@ -3,3 +3,4 @@
/secret.php /secret.php
/config.php /config.php
/test.php /test.php
/_secret.php

View File

@@ -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 ('markdown.php'); include_once ('troy-api.php');
// include_once ('markdown.php');
?> ?>

43
ips/crawler.php Normal file
View File

@@ -0,0 +1,43 @@
<?php
$_ips_crawler = array (
'34.79.234.76', // google
'40.77.167.', // bing bot
'54.36.148.', // ahrefbot
'54.36.149.', // ahrefbot
'66.249.',
'62.138.',
'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
'104.155.85.', // google
'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
'192.99.5.225', // ...
'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;
}
?>

View File

@@ -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
View 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

File diff suppressed because it is too large Load Diff

1456
php-mailer/SMTP.php Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -1,12 +1,17 @@
<?php <?php
if (!defined('SQL_LOG')) define ( 'SQL_LOG', 1 ); // schreibt sql querys in eine log if (!defined('SQL_LOG')) define ( 'SQL_LOG', 1 ); // schreibt sql querys in eine log
$_m['host'] = 'localhost'; $_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'; $_m['issuedata'] = ['domain'=>'','secret'=>''];
$_sendermail = 'noreply@.de';
$_smtp['srv'] = 'mail.seemsleg.it';
$_smtp['user'] = 'noreply@.de';
$_smtp['pw'] = '';
?> ?>

179
sql.php
View File

@@ -4,6 +4,7 @@ class SQL {
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;
@@ -11,6 +12,7 @@ class SQL {
require_once ('secret.php'); require_once ('secret.php');
$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)
@@ -27,46 +29,50 @@ class SQL {
$this->cnt_get ++; $this->cnt_get ++;
if (SQL_LOG) if (SQL_LOG)
fputs ( $this->f, str_replace ( array ( fputs ( $this->f, str_replace ( array (
"\n", "\n",
" " " "
), array ( ), array (
' ', ' ',
'' ''
), $que ) . "\n" . print_r ( $p, true ) . "\n\n" ); ), $que ) . "\n" . print_r ( $p, true ) . "\n\n" );
$statement = $this->h->prepare ( $que ); $statement = $this->h->prepare ( $que );
switch (count ( $p )) { if (is_array ( $p )) {
case 0 : switch (count ( $p )) {
break; case 0 :
case 1 : break;
$statement->bind_param ( $t, $p [0] ); case 1 :
break; $statement->bind_param ( $t, $p [0] );
case 2 : break;
$statement->bind_param ( $t, $p [0], $p [1] ); case 2 :
break; $statement->bind_param ( $t, $p [0], $p [1] );
case 3 : break;
$statement->bind_param ( $t, $p [0], $p [1], $p [2] ); case 3 :
break; $statement->bind_param ( $t, $p [0], $p [1], $p [2] );
case 4 : break;
$statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3] ); case 4 :
break; $statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3] );
case 5 : break;
$statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4] ); case 5 :
break; $statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4] );
case 6 : break;
$statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4], $p [5] ); case 6 :
break; $statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4], $p [5] );
case 7 : break;
$statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4], $p [5], $p [6] ); case 7 :
break; $statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4], $p [5], $p [6] );
case 8 : break;
$statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4], $p [5], $p [6], $p [7] ); case 8 :
break; $statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4], $p [5], $p [6], $p [7] );
case 9 : break;
$statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4], $p [5], $p [6], $p [7], $p [8] ); case 9 :
break; $statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4], $p [5], $p [6], $p [7], $p [8] );
case 10 : break;
$statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4], $p [5], $p [6], $p [7], $p [8], $p [9] ); case 10 :
break; $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 (); $statement->execute ();
@@ -122,60 +128,55 @@ class SQL {
$statement = $this->h->prepare ( $que ); $statement = $this->h->prepare ( $que );
if (SQL_LOG) if (SQL_LOG)
fputs ( $this->f, str_replace ( array ( fputs ( $this->f, str_replace ( array (
"\n", "\n",
" " " "
), array ( ), array (
' ', ' ',
'' ''
), $que ) . "\n" . print_r ( $p, true ) . "\n\n" ); ), $que ) . "\n" . print_r ( $p, true ) . "\n\n" );
switch (count ( $p )) { if (is_array ( $p )) {
case 0 : switch (count ( $p )) {
break; case 0 :
case 1 : break;
$statement->bind_param ( $t, $p [0] ); case 1 :
break; $statement->bind_param ( $t, $p [0] );
case 2 : break;
$statement->bind_param ( $t, $p [0], $p [1] ); case 2 :
break; $statement->bind_param ( $t, $p [0], $p [1] );
case 3 : break;
$statement->bind_param ( $t, $p [0], $p [1], $p [2] ); case 3 :
break; $statement->bind_param ( $t, $p [0], $p [1], $p [2] );
case 4 : break;
$statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3] ); case 4 :
break; $statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3] );
case 5 : break;
$statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4] ); case 5 :
break; $statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4] );
case 6 : break;
$statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4], $p [5] ); case 6 :
break; $statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4], $p [5] );
case 7 : break;
$statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4], $p [5], $p [6] ); case 7 :
break; $statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4], $p [5], $p [6] );
case 8 : break;
$statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4], $p [5], $p [6], $p [7] ); case 8 :
break; $statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4], $p [5], $p [6], $p [7] );
case 9 : break;
$statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4], $p [5], $p [6], $p [7], $p [8] ); case 9 :
break; $statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4], $p [5], $p [6], $p [7], $p [8] );
case 10 : break;
$statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4], $p [5], $p [6], $p [7], $p [8], $p [9] ); case 10 :
break; $statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4], $p [5], $p [6], $p [7], $p [8], $p [9] );
case 11 : break;
$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] ); case 11 :
break; $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] );
case 12 : break;
$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] ); case 12 :
break; $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] );
case 13 : break;
$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], $p [12] ); }
break; } else {
case 14 : $statement->bind_param ( $t, $p );
$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], $p [12], $p [13] );
break;
case 15 :
$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], $p [12], $p [13], $p [14] );
break;
} }
$statement->execute (); $statement->execute ();
if (isset ( $statement->error ) && $statement->error != '') { if (isset ( $statement->error ) && $statement->error != '') {

View File

@@ -1,260 +1,272 @@
<?php <?php
function umlaute($str) { function umlaute($str) {
return str_replace ( array ( return str_replace ( array (
'Ä', 'Ä',
'Ö', 'Ö',
'Ü', 'Ü',
'ä', 'ä',
'ö', 'ö',
'ü', 'ü',
'ß' 'ß',
), array ( '&'
'&Auml;', ), array (
'&Ouml;', '&Auml;',
'&Uuml;', '&Ouml;',
'&auml;', '&Uuml;',
'&ouml;', '&auml;',
'&uuml;', '&ouml;',
'&szlig;' '&uuml;',
), $str ); '&szlig;',
} '&amp;'
function chk($str) { ), $str );
return str_replace ( "'", '"', $str ); }
} function chk($str) {
function noScript($str) { return str_replace ( "'", '"', $str );
return str_replace ( array ( }
'<', function noScript($str) {
'>' return str_replace ( array (
), array ( '<',
'&lt;', '>'
'&gt;' ), array (
), $str ); '&lt;',
} '&gt;'
function random($name_laenge) { ), $str );
$zeichen = "abcedfghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRTSUVWXYZ0123456789"; }
$name_neu = ""; function random($name_laenge) {
$zeichen = "abcedfghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRTSUVWXYZ0123456789";
@mt_srand ( ( double ) microtime () * 1000000 ); $name_neu = "";
for($i = 0; $i < $name_laenge; $i ++) {
$r = mt_rand ( 0, strlen ( $zeichen ) - 1 ); @mt_srand ( ( double ) microtime () * 1000000 );
$name_neu .= $zeichen {$r}; for($i = 0; $i < $name_laenge; $i ++) {
} $r = mt_rand ( 0, strlen ( $zeichen ) - 1 );
return $name_neu; $name_neu .= $zeichen[$r];
} }
function startsWith($haystack, $needle) { return $name_neu;
$length = strlen ( $needle ); }
return (substr ( $haystack, 0, $length ) === $needle); function startsWith($haystack, $needle) {
} $length = strlen ( $needle );
function endsWith($haystack, $needle) { return (substr ( $haystack, 0, $length ) === $needle);
$length = strlen ( $needle ); }
function endsWith($haystack, $needle) {
return $length === 0 || (substr ( $haystack, - $length ) === $needle); $length = strlen ( $needle );
}
function onlyAlpha($str, $zus = '') { return $length === 0 || (substr ( $haystack, - $length ) === $needle);
return preg_replace ( "/[^a-zA-Z0-9 \-\_{$zus}]+/", "", $str ); }
} function onlyAlpha($str, $zus = '') {
function shortener($str, $len = 50, $fill = '...') { return preg_replace ( "/[^a-zA-Z0-9 \-\{$zus}_]+/", "", $str );
if (strlen ( $str ) > $len) { }
$str = substr ( $str, 0, $len - strlen ( $fill ) ) . $fill; function shortener($str, $len = 50, $fill = '...') {
} if (strlen ( $str ) > $len) {
return $str; $str = substr ( $str, 0, $len - strlen ( $fill ) ) . $fill;
} }
function isEmail($str) { return $str;
$match = preg_match ( "/[a-zA-Z0-9\-\_\.]*\@[a-zA-Z0-9\-\_\.]*.[a-z]{2,10}/", $str ); }
if ($match) { function isEmail($str) {
return $str; $match = preg_match ( "/[a-zA-Z0-9\-\_\.]*\@[a-zA-Z0-9\-\_\.]*.[a-z]{2,10}/", $str );
} if ($match) {
return false; return $str;
} }
function markUp($text) { return false;
$r = ''; }
$lv = 0; function markUp($text) {
foreach ( explode ( "\n", $text ) as $t ) { $r = '';
$nlv = 0; $lv = 0;
if (startsWith ( '**** ', $t )) { foreach ( explode ( "\n", $text ) as $t ) {
$t = substr ( $t, 5 ); $nlv = 0;
$nlv = 4; if (startsWith ( '**** ', $t )) {
} $t = substr ( $t, 5 );
if (startsWith ( '*** ', $t )) { $nlv = 4;
$t = substr ( $t, 4 ); }
$nlv = 3; if (startsWith ( '*** ', $t )) {
} $t = substr ( $t, 4 );
if (startsWith ( '** ', $t )) { $nlv = 3;
$t = substr ( $t, 3 ); }
$nlv = 2; if (startsWith ( '** ', $t )) {
} $t = substr ( $t, 3 );
if (startsWith ( '* ', $t )) { $nlv = 2;
$t = substr ( $t, 2 ); }
$nlv = 1; if (startsWith ( '* ', $t )) {
} $t = substr ( $t, 2 );
if ($lv != $nlv) { $nlv = 1;
while ( $lv < $nlv ) { }
$text .= '<ul>'; if ($lv != $nlv) {
$lv ++; while ( $lv < $nlv ) {
} $text .= '<ul>';
while ( $lv > $nlv ) { $lv ++;
$text .= '</ul>'; }
$lv --; while ( $lv > $nlv ) {
} $text .= '</ul>';
} $lv --;
if (startsWith ( $t, '!!!!! ' )) { }
$t = '<h5>' . substr ( $t, 6 ) . '</h5>'; }
} if (startsWith ( $t, '!!!!! ' )) {
if (startsWith ( $t, '!!!! ' )) { $t = '<h5>' . substr ( $t, 6 ) . '</h5>';
$t = '<h4>' . substr ( $t, 5 ) . '</h4>'; }
} if (startsWith ( $t, '!!!! ' )) {
if (startsWith ( $t, '!!! ' )) { $t = '<h4>' . substr ( $t, 5 ) . '</h4>';
$t = '<h3>' . substr ( $t, 4 ) . '</h3>'; }
} if (startsWith ( $t, '!!! ' )) {
if (startsWith ( $t, '!! ' )) { $t = '<h3>' . substr ( $t, 4 ) . '</h3>';
$t = '<h2>' . substr ( $t, 3 ) . '</h2>'; }
} if (startsWith ( $t, '!! ' )) {
if (startsWith ( $t, '! ' )) { $t = '<h2>' . substr ( $t, 3 ) . '</h2>';
$t = '<h1>' . substr ( $t, 2 ) . '</h1>'; }
} if (startsWith ( $t, '! ' )) {
if ($lv == 0) { $t = '<h1>' . substr ( $t, 2 ) . '</h1>';
$r .= $t; }
} else { if ($lv == 0) {
$r .= '<li>' . $t . '</li>'; $r .= $t;
} } else {
// var_dump ( $t ); $r .= '<li>' . $t . '</li>';
} }
while ( $lv > 0 ) { // var_dump ( $t );
$r .= '</ul>'; }
$lv --; while ( $lv > 0 ) {
} $r .= '</ul>';
return $r; $lv --;
} }
function onlySimpleHTML($s) { return $r;
$s = str_replace ( array ( }
'<', function onlySimpleHTML($s) {
'>' $s = str_replace ( array (
), array ( '<',
'{{|-&lt;-|}}', '>'
'{{|-&gt;-|}}' ), array (
), $s ); '{{|-&lt;-|}}',
$s = str_replace ( array ( '{{|-&gt;-|}}'
'{{|-&lt;-|}}b{{|-&gt;-|}}', ), $s );
'{{|-&lt;-|}}b/{{|-&gt;-|}}' $s = str_replace ( array (
), array ( '{{|-&lt;-|}}b{{|-&gt;-|}}',
'<b>', '{{|-&lt;-|}}b/{{|-&gt;-|}}'
'<b/>' ), array (
), $s ); '<b>',
$s = str_replace ( array ( '<b/>'
'{{|-&lt;-|}}u{{|-&gt;-|}}', ), $s );
'{{|-&lt;-|}}u/{{|-&gt;-|}}' $s = str_replace ( array (
), array ( '{{|-&lt;-|}}u{{|-&gt;-|}}',
'<u>', '{{|-&lt;-|}}u/{{|-&gt;-|}}'
'<u/>' ), array (
), $s ); '<u>',
$s = str_replace ( array ( '<u/>'
'{{|-&lt;-|}}i{{|-&gt;-|}}', ), $s );
'{{|-&lt;-|}}i/{{|-&gt;-|}}' $s = str_replace ( array (
), array ( '{{|-&lt;-|}}i{{|-&gt;-|}}',
'<i>', '{{|-&lt;-|}}i/{{|-&gt;-|}}'
'<i/>' ), array (
), $s ); '<i>',
$s = str_replace ( array ( '<i/>'
'{{|-&lt;-|}}span{{|-&gt;-|}}', ), $s );
'{{|-&lt;-|}}span/{{|-&gt;-|}}' $s = str_replace ( array (
), array ( '{{|-&lt;-|}}span{{|-&gt;-|}}',
'<span>', '{{|-&lt;-|}}span/{{|-&gt;-|}}'
'<span/>' ), array (
), $s ); '<span>',
$s = str_replace ( array ( '<span/>'
'{{|-&lt;-|}}b{{|-&gt;-|}}', ), $s );
'{{|-&lt;-|}}b/{{|-&gt;-|}}' $s = str_replace ( array (
), array ( '{{|-&lt;-|}}b{{|-&gt;-|}}',
'<b>', '{{|-&lt;-|}}b/{{|-&gt;-|}}'
'<b/>' ), array (
), $s ); '<b>',
$s = str_replace ( array ( '<b/>'
'{{|-&lt;-|}}br{{|-&gt;-|}}', ), $s );
'{{|-&lt;-|}}br/{{|-&gt;-|}}' $s = str_replace ( array (
), array ( '{{|-&lt;-|}}br{{|-&gt;-|}}',
'<br>', '{{|-&lt;-|}}br/{{|-&gt;-|}}'
'<br/>' ), array (
), $s ); '<br>',
$s = str_replace ( array ( '<br/>'
'{{|-&lt;-|}}h1{{|-&gt;-|}}', ), $s );
'{{|-&lt;-|}}h1/{{|-&gt;-|}}' $s = str_replace ( array (
), array ( '{{|-&lt;-|}}h1{{|-&gt;-|}}',
'<h1>', '{{|-&lt;-|}}h1/{{|-&gt;-|}}'
'<h1/>' ), array (
), $s ); '<h1>',
$s = str_replace ( array ( '<h1/>'
'{{|-&lt;-|}}h2{{|-&gt;-|}}', ), $s );
'{{|-&lt;-|}}h2/{{|-&gt;-|}}' $s = str_replace ( array (
), array ( '{{|-&lt;-|}}h2{{|-&gt;-|}}',
'<h2>', '{{|-&lt;-|}}h2/{{|-&gt;-|}}'
'<h2/>' ), array (
), $s ); '<h2>',
$s = str_replace ( array ( '<h2/>'
'{{|-&lt;-|}}h3{{|-&gt;-|}}', ), $s );
'{{|-&lt;-|}}h3/{{|-&gt;-|}}' $s = str_replace ( array (
), array ( '{{|-&lt;-|}}h3{{|-&gt;-|}}',
'<h3>', '{{|-&lt;-|}}h3/{{|-&gt;-|}}'
'<h3/>' ), array (
), $s ); '<h3>',
$s = str_replace ( array ( '<h3/>'
'{{|-&lt;-|}}h4{{|-&gt;-|}}', ), $s );
'{{|-&lt;-|}}h4/{{|-&gt;-|}}' $s = str_replace ( array (
), array ( '{{|-&lt;-|}}h4{{|-&gt;-|}}',
'<h4>', '{{|-&lt;-|}}h4/{{|-&gt;-|}}'
'<h4/>' ), array (
), $s ); '<h4>',
$s = str_replace ( array ( '<h4/>'
'{{|-&lt;-|}}h5{{|-&gt;-|}}', ), $s );
'{{|-&lt;-|}}h5/{{|-&gt;-|}}' $s = str_replace ( array (
), array ( '{{|-&lt;-|}}h5{{|-&gt;-|}}',
'<h5>', '{{|-&lt;-|}}h5/{{|-&gt;-|}}'
'<h5/>' ), array (
), $s ); '<h5>',
$s = str_replace ( array ( '<h5/>'
'{{|-&lt;-|}}h6{{|-&gt;-|}}', ), $s );
'{{|-&lt;-|}}h6/{{|-&gt;-|}}' $s = str_replace ( array (
), array ( '{{|-&lt;-|}}h6{{|-&gt;-|}}',
'<h6>', '{{|-&lt;-|}}h6/{{|-&gt;-|}}'
'<h6/>' ), array (
), $s ); '<h6>',
$s = str_replace ( array ( '<h6/>'
'{{|-&lt;-|}}li{{|-&gt;-|}}', ), $s );
'{{|-&lt;-|}}li/{{|-&gt;-|}}' $s = str_replace ( array (
), array ( '{{|-&lt;-|}}li{{|-&gt;-|}}',
'<li>', '{{|-&lt;-|}}li/{{|-&gt;-|}}'
'<li/>' ), array (
), $s ); '<li>',
$s = str_replace ( array ( '<li/>'
'{{|-&lt;-|}}ul{{|-&gt;-|}}', ), $s );
'{{|-&lt;-|}}ul/{{|-&gt;-|}}' $s = str_replace ( array (
), array ( '{{|-&lt;-|}}ul{{|-&gt;-|}}',
'<ul>', '{{|-&lt;-|}}ul/{{|-&gt;-|}}'
'<ul/>' ), array (
), $s ); '<ul>',
$s = str_replace ( array ( '<ul/>'
'{{|-&lt;-|}}ol{{|-&gt;-|}}', ), $s );
'{{|-&lt;-|}}ol/{{|-&gt;-|}}' $s = str_replace ( array (
), array ( '{{|-&lt;-|}}ol{{|-&gt;-|}}',
'<ol>', '{{|-&lt;-|}}ol/{{|-&gt;-|}}'
'<ol/>' ), array (
), $s ); '<ol>',
$s = str_replace ( array ( '<ol/>'
'{{|-&lt;-|}}pre{{|-&gt;-|}}', ), $s );
'{{|-&lt;-|}}pre/{{|-&gt;-|}}' $s = str_replace ( array (
), array ( '{{|-&lt;-|}}pre{{|-&gt;-|}}',
'<pre>', '{{|-&lt;-|}}pre/{{|-&gt;-|}}'
'<pre/>' ), array (
), $s ); '<pre>',
'<pre/>'
// cleanup ), $s );
$s = str_replace ( array (
'{{|-', // cleanup
'-|}}' $s = str_replace ( array (
), array ( '{{|-',
'', '-|}}'
'' ), array (
), $s ); '',
''
return $s; ), $s );
}
return $s;
}
function linkify($input) {
$pattern = '@(http(s)?://[a-zA-Z0-9/\.\#\-\_]*)@';
return $output = preg_replace ( $pattern, '<a href="$1">$1</a>', $input );
}
function inStr($needle, $haystack) {
if (strpos ( $haystack, $needle ) !== false) {
return true;
}
return false;
}
?> ?>

50
troy-api.php Normal file
View File

@@ -0,0 +1,50 @@
<?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 troysIssue($ident, $typ, $text = null, $data = [], $reaction = []) {
global $sql;
$url = "https://issues.troy-grunt.de/api/input";
$payload = [
"domain" => $sql->issuedata['domain'],
"secret" => $sql->issuedata['secret'],
"ident" => $ident,
"typ" => $typ,
"text" => $text,
"data" => $data,
"reaction" => $reaction
];
// Entferne null-Werte aus dem Array
$payload = array_filter($payload, function ($value) {
return $value !== null;
});
$options = [
"http" => [
"header" => "Content-Type: application/json\r\n",
"method" => "POST",
"content" => json_encode($payload),
"ignore_errors" => true
]
];
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);
return json_decode($result, true);
}
?>