From 1023ce8e8beb8eba00e8d7206fd71b4a589c24c9 Mon Sep 17 00:00:00 2001 From: pk910 Date: Sun, 27 Nov 2011 16:13:56 +0100 Subject: [PATCH] added ability to use pastebin.com for the debugger bots --- Bots/CGod.class.php | 16 +++++++++++++++- Bots/JavaGod.class.php | 28 ++++++++++++++++++++++------ Bots/PHPGod.class.php | 14 +++++++++++++- 3 files changed, 50 insertions(+), 8 deletions(-) diff --git a/Bots/CGod.class.php b/Bots/CGod.class.php index 4871694..cac6028 100644 --- a/Bots/CGod.class.php +++ b/Bots/CGod.class.php @@ -91,8 +91,22 @@ class {$_NAME} extends Bot { $entry=array(); $entry['channel'] = $channel; $entry['id'] = rand(1, 999999); + if(preg_match("#pastebin\.com/([a-zA-Z0-9]*)$#i", $exp[1])) { + $pasteid = explode("/", $exp[1]); + $pasteid = $pasteid[count($pasteid)-1]; + $codecontent = file_get_contents("http://pastebin.com/download.php?i=".$pasteid); + if(preg_match("#Unknown Paste ID!#i", $codecontent)) { + $this->uplink->notice($this->bot, $user, "Unknown Paste ID!"); + return; + } + $code = "#include \"includes.h\" + ".$codecontent; + } else { + $code = "#include \"includes.h\" + ".$exp[1]; + }; $fp = fopen("tmp/debug_".$entry['id'].".c", "w"); - fwrite($fp, "#include \"includes.h\"\n".$exp[1]); + fwrite($fp, $code); fclose($fp); $err = shell_exec("gcc -o tmp/debug_".$entry['id']." tmp/debug_".$entry['id'].".c 2>&1"); if($err) { diff --git a/Bots/JavaGod.class.php b/Bots/JavaGod.class.php index dbe4a46..19cdc18 100644 --- a/Bots/JavaGod.class.php +++ b/Bots/JavaGod.class.php @@ -91,13 +91,29 @@ class {$_NAME} extends Bot { $entry=array(); $entry['channel'] = $channel; $entry['id'] = rand(1, 999999); - $fp = fopen("tmp/debug_".$entry['id'].".c", "w"); - $javacode = "import java.*; - @SuppressWarnings("unused") - public class Debug_".$entry['id']." { - ".$exp[1]." + if(preg_match("#pastebin\.com/([a-zA-Z0-9]*)$#i", $exp[1])) { + $pasteid = explode("/", $exp[1]); + $pasteid = $pasteid[count($pasteid)-1]; + $javacontent = file_get_contents("http://pastebin.com/download.php?i=".$pasteid); + if(preg_match("#Unknown Paste ID!#i", $javacontent)) { + $this->uplink->notice($this->bot, $user, "Unknown Paste ID!"); + return; } - "; + $javacode = "import java.*; + @SuppressWarnings("unused") + public class Debug_".$entry['id']." { + ".$javacontent." + } + "; + } else { + $javacode = "import java.*; + @SuppressWarnings("unused") + public class Debug_".$entry['id']." { + ".$exp[1]." + } + "; + }; + $fp = fopen("tmp/debug_".$entry['id'].".c", "w"); fwrite($fp, $javacode); fclose($fp); $err = shell_exec("javac tmp/debug_".$entry['id'].".java 2>&1"); diff --git a/Bots/PHPGod.class.php b/Bots/PHPGod.class.php index e0ffd72..b449bac 100644 --- a/Bots/PHPGod.class.php +++ b/Bots/PHPGod.class.php @@ -95,7 +95,19 @@ class {$_NAME} extends Bot { return; } $entry['time'] = time(); - fwrite($entry['pipes'][0], "<"."?php ".$exp[1]." ?".">"); + if(preg_match("#pastebin\.com/([a-zA-Z0-9]*)$#i", $exp[1])) { + $pasteid = explode("/", $exp[1]); + $pasteid = $pasteid[count($pasteid)-1]; + $codecontent = file_get_contents("http://pastebin.com/download.php?i=".$pasteid); + if(preg_match("#Unknown Paste ID!#i", $codecontent)) { + $this->uplink->notice($this->bot, $user, "Unknown Paste ID!"); + return; + } + $code = $codecontent; + } else { + $code = "<"."?php " . $exp[1] . " ?".">"; + }; + fwrite($entry['pipes'][0], $code); fclose($entry['pipes'][0]); $this->phpcache[] = $entry; break; -- 2.20.1