format
[PHP-P10.git] / Bots / CGod.class.php
index f6f8d7156d1268e687c9db1101b239d7d4edb9d9..09105999bbeb1fbc4e79eebc86c3157af5002f16 100644 (file)
@@ -6,7 +6,7 @@
  * it under the terms of the GNU General Public License as published by *
  * the Free Software Foundation, either version 3 of the License, or    *
  * (at your option) any later version.                                  *
- *                                                                      * 
+ *                                                                      *
  * This program is distributed in the hope that it will be useful,      *
  * but WITHOUT ANY WARRANTY; without even the implied warranty of       *
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the        *
@@ -16,7 +16,7 @@
  * along with this program. If not, see <http://www.gnu.org/licenses/>. *
  *                                                                      *
  ************************************************************************
- * 
+ *
  *  Bots/CGod.class.php
  *
  * simple C debugger...
@@ -26,7 +26,7 @@
 class {$_NAME} extends Bot {
        private $uplink;
        private $c, $ccache = array();
-       
+
        public function load($uplink, $old = false) {
                $this->uplink = $uplink;
                if(!$old) {
@@ -40,16 +40,16 @@ class {$_NAME} extends Bot {
                        if(is_a($this->c, "P10_User")) {
                                $this->uplink->join($this->c, "#c", (P10_Channel::USERPRIV_OPED | P10_Channel::USERPRIV_VOICE));
                                $this->uplink->join($this->c, "#dev", P10_Channel::USERPRIV_VOICE);
-                $this->uplink->join($this->c, "#CoderCom", P10_Channel::USERPRIV_VOICE);
+                               $this->uplink->join($this->c, "#CoderCom", P10_Channel::USERPRIV_VOICE);
                        }
                } else {
                        $this->c = $old;
                }
-               
+
                ModCMD::bind($this, BIND_CHANMSG, "recive_privmsg");
                ModCMD::bind($this, BIND_QUIT, "recive_quit");
        }
-       
+
        public function unload($rehash = false) {
                foreach($this->ccache as $id => $c) {
                        fclose($c['pipes'][1]);
@@ -63,17 +63,17 @@ class {$_NAME} extends Bot {
                        $this->uplink->delUser($this->c, "Bye.");
                }
        }
-       
+
        public function loop() {
                foreach($this->ccache as $id => $c) {
                        if(!$this->checkstate($c)) {
-                unlink("tmp/debug_".$c['id'].".c");
-                unlink("tmp/debug_".$c['id']);
+                               unlink("tmp/debug_".$c['id'].".c");
+                               unlink("tmp/debug_".$c['id']);
                                unset($this->ccache[$id]);
                        }
                }
        }
-       
+
        function recive_privmsg($user, $channel, $message) {
                $opOnCChannel = false;
                $CChannel = P10_Channel::getChannelByName("#C");
@@ -91,43 +91,43 @@ 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\"
+                               $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\"
+                               } else {
+                                       $code = "#include \"includes.h\"
                     ".$exp[1];
-                };
-                $fp = fopen("tmp/debug_".$entry['id'].".c", "w");
-                fwrite($fp, $code);
-                fclose($fp);
-                $err = shell_exec("gcc -o tmp/debug_".$entry['id']." tmp/debug_".$entry['id'].".c 2>&1");
-                if($err) {
-                    $err=str_replace("\r","",$err);
-                    $lines=explode("\n",$err);
-                    $i=0;
-                    foreach($lines as $line) {
-                        if($line == "") continue;
-                        $i++;
-                        if($i>100) {
-                            $this->uplink->privmsg($this->c, $entry['channel'], "too many lines!");
-                            break; 
-                        }
-                        $this->uplink->privmsg($this->c, $entry['channel'], $line);
-                    }
-                }
-                if(!file_exists("tmp/debug_".$entry['id'])) {
-                    unlink("tmp/debug_".$entry['id'].".c");
-                    break;
-                }
+                               };
+                               $fp = fopen("tmp/debug_".$entry['id'].".c", "w");
+                               fwrite($fp, $code);
+                               fclose($fp);
+                               $err = shell_exec("gcc -o tmp/debug_".$entry['id']." tmp/debug_".$entry['id'].".c 2>&1");
+                               if($err) {
+                                       $err=str_replace("\r","",$err);
+                                       $lines=explode("\n",$err);
+                                       $i=0;
+                                       foreach($lines as $line) {
+                                               if($line == "") continue;
+                                               $i++;
+                                               if($i>100) {
+                                                       $this->uplink->privmsg($this->c, $entry['channel'], "too many lines!");
+                                                       break;
+                                               }
+                                               $this->uplink->privmsg($this->c, $entry['channel'], $line);
+                                       }
+                               }
+                               if(!file_exists("tmp/debug_".$entry['id'])) {
+                                       unlink("tmp/debug_".$entry['id'].".c");
+                                       break;
+                               }
                                $descriptor = array(0 => array("pipe", "r"),1 => array("pipe", "w"),2 => array("pipe", "w"));
                                $entry['proc'] = proc_open('tmp/debug_'.$entry['id'], $descriptor, $entry['pipes']);
                                if(!is_resource($entry['proc'])) {
@@ -140,13 +140,13 @@ class {$_NAME} extends Bot {
                                break;
                }
        }
-       
+
        function recive_quit($user, $reason) {
                if($user === $this->c) {
                        $this->load($this->uplink);
                }
        }
-       
+
        function checkstate($c) {
                $data = proc_get_status($c['proc']);
                if(!$data['running']) {
@@ -163,11 +163,11 @@ class {$_NAME} extends Bot {
                                $lines=explode("\n",$out);
                                $i=0;
                                foreach($lines as $line) {
-                    if($line == "") continue;
+                                       if($line == "") continue;
                                        $i++;
                                        if($i>1000) {
                                                $this->uplink->privmsg($this->c, $c['channel'], "too many lines!");
-                                               break; 
+                                               break;
                                        }
                                        $this->uplink->privmsg($this->c, $c['channel'], $line);
                                }
@@ -177,11 +177,11 @@ class {$_NAME} extends Bot {
                                $lines=explode("\n",$eout);
                                $i=0;
                                foreach($lines as $line) {
-                    if($line == "") continue;
+                                       if($line == "") continue;
                                        $i++;
-                                       if($i>1000) { 
+                                       if($i>1000) {
                                                $this->uplink->privmsg($this->c, $c['channel'], "too many lines!");
-                                               break; 
+                                               break;
                                        }
                                        $this->uplink->privmsg($this->c, $c['channel'], "\ 34".$line."\ 3");
                                }
@@ -204,13 +204,13 @@ class {$_NAME} extends Bot {
                                } else {
                                        proc_terminate($c['proc']);
                                        $c['term']=true;
-                                       $this->uplink->privmsg($this->c, $c['channel'], "c timeout. (maximum of 10 seconds exceeded)  sending SIGTERM"); 
+                                       $this->uplink->privmsg($this->c, $c['channel'], "c timeout. (maximum of 10 seconds exceeded)  sending SIGTERM");
                                        return true;
                                }
                        }
                }
        }
-       
+
 }
 
 ?>
\ No newline at end of file