added ability to use pastebin.com for the debugger bots
authorpk910 <philipp@zoelle1.de>
Sun, 27 Nov 2011 15:13:56 +0000 (16:13 +0100)
committerpk910 <philipp@zoelle1.de>
Sun, 27 Nov 2011 15:13:56 +0000 (16:13 +0100)
Bots/CGod.class.php
Bots/JavaGod.class.php
Bots/PHPGod.class.php

index 4871694f1c3f45e1925105605c01cea92b368e25..cac602841289ca31d4688659b70dd17fed161550 100644 (file)
@@ -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) {
index dbe4a468a170ee63acc4e98add917ca3753aff54..19cdc187f295499bd175822c740777bfffdc9afc 100644 (file)
@@ -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");
index e0ffd726c1d373721886083c8ed77a04f268f762..b449bacdfa0918ad7dcb5b6d551d530be1382925 100644 (file)
@@ -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;